gpt4 book ai didi

graph - Neo4j Graph DB - 伦敦地铁规划师 - 找不到路径

转载 作者:行者123 更新时间:2023-12-04 04:58:36 26 4
gpt4 key购买 nike

我在 Neo4j 中创建了一张伦敦地铁 map 。站点通过 :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

我能够得到下面的最短路径: Shortest route from Wood Green to Royal Oak

这条路线在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

关于graph - Neo4j Graph DB - 伦敦地铁规划师 - 找不到路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29114178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com