これがどのように機能し、パス内のノードの数が返されないのかについての説明を探しています。パスpに一致したとします。今:
WITH p, count(nodes(p)) AS L1 RETURN L1
1を返します。
これが明確な場合、パスノードを正しくカウントするにはどうすればよいですか?
count()
は集計関数です。集計関数を使用する場合、結果行は、集計関数ではなく、RETURN句に含まれるものによってグループ化されます。この場合、結果の行はによってグループ化されp
、戻り値はcount(nodes(p))になります。
nodes(p)
ノードの配列を返すのでcount(nodes(p))
、配列の数を返し、常にに等しくなり1
ます。
パス内のノードの数を返すには、を使用する必要がありますsize(nodes(p))
。
パスの長さに関心があり、特にパスに含まれるノードには関心がない場合は、を使用length(p)
することをお勧めします。これにより、ノードを操作/アクセスしなくても、指定されたパスの長さがrelsで返されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加