我这样构建一个图形:节点代表:busStops,关系代表连接公共汽车站的公交线路。
关系类型对应于从一个节点到另一个节点所需的时间。
当我查询图形(感谢 cypher)以获取可能未链接的两个之间的最短路径时,结果是使用的关系数量最少的那个。
我会改变它,以便最短路径对应于两个节点之间使用的所有关系类型(对应于时间)的添加最小的路径?
首先,你做错了。不要每次都使用唯一的关系类型。使用一种关系类型,然后在所有关系上放置一个属性“时间”。
其次,要计算加法,您可以使用以下密码公式:
START from=node({busStopId1}), to=node({busStopId2})
MATCH p=from-[:LINE*]-to //asterix * means any distance
RETURN p,reduce(total = 0, r in relationships(p): total + r.time) as tt
ORDER by tt asc;