2
我一直试图使用neo4j及其apoc进程库来获得2个节点之间的最短路径。
例如我创建2个节点,如下Apoc Dijkstra在计算最短路径时在两个方向上遍历
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的路径。
有人能告诉我为什么是这样吗? Dijkstra为什么不理会方向?任何帮助将非常感激。
非常感谢。我不知道是不是因为我对Neo4j没有经验,但是我在apoc文档中找不到任何这样的细节。 – MrRo