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

我可以得到下面的最短路径:

这条路线在4条不同的线路上,顺利找到路线。

如果我将查询更改为从 Royal Oak 到 Bounds Green(从 Wood Green 出发的 Piccadilly 线上的下一站),我找不到任何结果。节点 'Bounds Green' 节点与 Wood Green 和 Bounds Green 之间的关系一样存在。

我无法想象这是对链中节点数量的限制。但是我在使用 Neo4j 方面没有太多经验,我有点卡住了。

非常感谢任何见解,谢谢。

-ifor

正如 Michael 所提到的,当 运行 一个 (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