我有一個關於Neo4j的非常基本的問題。Neo4j - 如何找到兩個節點之間的最短路徑
我已經導入一個簡單的數據集包含多個節點爲「example_nodes」,像這樣:
sourceId
,targetId
因此,我的數據庫擁有的源和目標簡單的兩列的表。
如何找到任意sourceId
和targetId
之間的最短路徑?
我最初的嘗試是沿着線:
MATCH (source:example_nodes),(target:example_nodes),
p = shortestPath((source)--(target))
WHERE (source.sourceId) = 1234 AND (target.targetId) = 5678
return p
不返回任何記錄,我可以清楚地看到在我的數據庫中的第一行是本身的單一路徑:
{"sourceId":"1234","targetId":"5678"}
我在做什麼錯?我是否需要創建所有的關係之前,我可以運行一個查詢(因爲所有我目前做的是進口的節點和創建索引)
是的,對於最短路徑查詢,您首先需要路徑,因此在您將關係導入圖形之前不要嘗試查詢。 – InverseFalcon