0
我想運行這兩個密碼查詢,我不理解它們之間的區別。此處的目的是在給定的兩個節點之間找到多條路徑,以使該路徑中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。