我正在尝试运行这两个密码查询,但我不了解它们之间的区别。此处的目的是在给定的两个节点之间找到多个路径,以使该路径中的transit_time之和为升序。
Q1:
MATCH p =(:`ml` { placeId: 960 })-[:ETA*0..10]->(:`ml` { placeId: 814 })
return p, p as allshortestPaths,
REDUCE(time=0, r in relationships(p) | time+r.transit_time) AS totalTime
ORDER BY totalTime ASC
Q2:
MATCH (from:`ml` { placeId: 960}), (to: `ml` {placeId: 814}) ,
paths = allShortestPaths((from)-[:ETA*]->(to))
WITH REDUCE(time = 0, rel in rels(paths) | time + rel.transit_time)
AS totalTime, paths
RETURN (totalTime)
ORDER BY totalTime ASC
在这种情况下,我从中获得最佳结果。Q1
这些操作也需要很长时间。还有其他更好的方法可以使用图形算法吗?我认为有可能使用Dijkstra算法来做到这一点,有关如何在此处指定cost_parameter以及如何使用的任何帮助都将非常有用。我正在使用py2neo和neo4j。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句