私は、neo4j とその apoc プロセス ライブラリを使用して、2 つのノード間の最短パスを取得しようとしています。
たとえば、以下のように 2 つのノードを作成します
CREATE (:Point {title:'A'})
CREATE (:Point {title:'B'})
それから私は彼らの関係をそのように確立します
MATCH (u1:Point {title:'A'}), (u2:Point {title: 'B'})
CREATE (u1)-[:distance {value:10}]->(u2)
これで、A から B への有向関係が確立されましたが、その逆ではありません。したがって、次のようにapoc Dijkstraを呼び出すと
MATCH (start:Point {title: 'B'}), (end:Point {title: 'B'})
CALL apoc.algo.dijkstra(start, end, 'distance', 'value') YIELD path, weight
RETURN path, weight
B から A への有向パスではないため、結果は得られません。しかし、A から B へのパスを使用してクエリを実行した場合と同じ結果が得られます。
なぜそうなのか誰か教えてもらえますか?ダイクストラが方向を無視しているのはなぜですか? どんな助けでも大歓迎です。