[英]Neo4j - apoc.algo.dijkstra - shortest path from a to b, but via c, d, e etc
[英]Apoc Dijkstra traversing in both directions while computing shortest path
我一直在嘗試使用neo4j及其apoc進程庫來獲取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的路徑運行查詢時的結果相同。
有人可以告訴我為什么嗎? 迪克斯特拉為什么不理會方向? 任何幫助將非常感激。
您需要在查詢的關系類型中添加>
或<
。
MATCH (start:Point {title: 'B'}), (end:Point {title: 'B'})
CALL apoc.algo.dijkstra(start, end, 'distance>', 'value') YIELD path, weight
RETURN path, weight
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.