パスがあり、このパスにいくつかのエッジで接続されたノードを取得したいとします。私はこのqweryを書いたが、正常に動作していない:neo4jのパスのネイバーのノードを取得する方法
match p=(a)-[:example*]->(c) where length(p) = 5
with p
match (u)-[r:example2]-> p return u,p,r
私はすべてのノード 'u'を取得したい。 私が間違っていることを教えてください。
ありがとうございました。
パスがあり、このパスにいくつかのエッジで接続されたノードを取得したいとします。私はこのqweryを書いたが、正常に動作していない:neo4jのパスのネイバーのノードを取得する方法
match p=(a)-[:example*]->(c) where length(p) = 5
with p
match (u)-[r:example2]-> p return u,p,r
私はすべてのノード 'u'を取得したい。 私が間違っていることを教えてください。
ありがとうございました。
nodes()
ファンクション、UNWIND
ファンクションを使用してパスのノードを抽出し、一致を実行します。各ノードの結果をcollect
にすることもできます。a
match p=(a)-[:example*]->(c)
where length(p) = 5
with a, nodes(p) as pathNodes
unwind pathNodes as pathNode
match (u)-[r:example2]->(pathNode)
return a, collect([u, pathNode])
こんにちは、ありがとう、しかし、パスのnの場所だけでなく、すべてのノードを得るにはどうすればいいですか?(p [n]) –
それに応じて私の回答が更新されました。あなたのユースケースに応じて 'u'または' pathNode'ノードだけを収集したいかもしれないことに注意してください。 –
ありがとう、それは働いた! (私はuの数だけ必要でした) –
ようこそスタックオーバーフロー!エディタを使用してクエリをソースコードとしてフォーマットしてください。 –
done、ありがとう –