簡體   English   中英

Neo4j Graph DB - 倫敦地鐵計划 - 未找到路徑

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

我能夠得到以下最短的路徑: 從Wood Green到Royal Oak的最短路線

這條路線在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.

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