Neo4jでcypherを使用して、ノードグループ間の最短距離を取得する方法があるかどうかを調べようとしています。Cypherを使用してノードセット間の最短距離を検索する方法
この検索にはいくつかの注意が必要です。
- 距離はノード間の関係のプロパティです。距離の値はメートル単位です。
- すべてのノードは、指定された距離でそれらの間の関係を持ちます。
- 後続の開始ノードと終了ノードは同じノードでなければなりません。
MATCH (root) -[root_p1:PATH_TO]-> (p1), (root) -[root_p2:PATH_TO]-> (p2), (root) -[root_p3:PATH_TO]-> (p3), (p1) -[p1_root:PATH_TO]-> (root), (p1) -[p1_p2:PATH_TO]-> (p2), (p1) -[p1_p3:PATH_TO]-> (p3), (p2) -[p2_root:PATH_TO]-> (root), (p2) -[p2_p1:PATH_TO]-> (p1), (p2) -[p2_p3:PATH_TO]-> (p3), (p3) -[p3_root:PATH_TO]-> (root), (p3) -[p3_p1:PATH_TO]-> (p1), (p3) -[p3_p2:PATH_TO]-> (p2) WHERE ID(root) = 10 AND ID(p1) = 1 AND ID(p2) = 2 AND ID(p3) = 3 . . .
そして結果は最短パスを取得するために貢献するノードの正しい順序でなければなりません:
これは私がしたい入力の種類です。
出力に何が表示されるべきかは不明です。あなたが入力データの例と望みの結果をもたらすならば、より良いでしょう。 –