gpt4 book ai didi

neo4j - 如何在 Neo4j 中找到飞行的持续时间

转载 作者:行者123 更新时间:2023-12-02 08:25:32 24 4
gpt4 key购买 nike

我是 Neo4j 的初学者,如何计算从 A1 到 A3 的飞行时间。我对抵港和离港航类的减法操作感到困惑。我想计算从 A1 到 A3 机场的总时间。这是我的控制台 http://console.neo4j.org/?id=g0mv8x

非常感谢您的合作!

最佳答案

这个有点棘手。首先是查询,然后是解释:

MATCH p=shortestPath((a1:AIRPORT { name: "Airport A1" })-[*]-(a3:AIRPORT { name: "Airport A3" }))
RETURN reduce(totalDuration=0, duration IN
extract(leg IN relationships(p)| leg.duration) |
totalDuration + toInt(duration));

所以首先,你需要找到两者之间的最短路径。这是第一行。有很多路径,通常您想要最便宜/最短的路径。

其次,你就有了一条路。因此,您需要做的第一件事就是从关系中获取所有“持续时间”。这就是 extract(leg IN relationships(p)| leg.duration) 所做的。 Extract 从集合中提取一些东西。最后,您需要对它们求和。这就是 reduce 所做的。请注意,您的持续时间是字符串(它们应该是数字),因此您必须使用 toInt() 才能将其转换为可以求和的数字。

关于neo4j - 如何在 Neo4j 中找到飞行的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32589645/

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