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