簡體   English   中英

Apoc Dijkstra在計算最短路徑的同時雙向移動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM