[英]Neo4j Graph DB - London Subway Planner - Path not found
我在Neo4j創建了倫敦地鐵的地圖。 站點通過以下方式連接:CONNECTED_TO關系,其中一個時間值表示停靠之間需要多長時間(此時這些是我為測試而放入的隨機值)。 多行的站點每行有一個節點,由:PART_OF關系連接。 使用此查詢:
MATCH (from {name:"Wood Green"}), (to {name:"Royal Oak"}),
p = shortestPath((from)-[*]-(to))
WITH REDUCE(time = 0, rel in rels(p) | time + rel.time) AS time, p
RETURN p, time
ORDER BY time ASC LIMIT 1
我能夠得到以下最短的路徑:
這條路線在4條不同的線路上,設法找到沒有問題的路線。
如果我將查詢更改為從Royal Oak到Bounds Green(Wood Green的皮卡迪利線上的下一站),我找不到任何結果。 節點'Bounds Green'節點存在,Wood Green和Bounds Green之間的關系也存在。
我無法想象這是對鏈中節點數量的限制。 但是我對Neo4j沒有多少經驗而且我有點卡住了。
任何見解都非常感謝,謝謝。
-ifor
正如邁克爾所提到的,在運行(a)-[*]-(b)
查詢時,節點之間似乎存在15個關系的限制。 更改查詢以使用(a)-[*..30]-(b)
解決了問題。
MATCH (from {name: "STATION_NAME_A" }), (to {name: "STATION_NAME_B" }),
p = shortestPath((from)-[*..30]-(to))
WITH REDUCE(time = 0, rel in rels(p) | time + rel.time) AS time, p
RETURN p, time
ORDER BY time ASC LIMIT 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.