【发布时间】:2015-06-19 19:25:36
【问题描述】:
我的数据库中有城市、道路和运输商。 一条道路与两个(不同)城市的起点和终点关系相连。每条道路也有一个属性距离(以公里为单位)。 多个运输者可能与道路有关系。每个运输车都有一个价格(每公里)。
现在我的问题。我想要从城市 A 到 B 的最便宜的选择。可能有一条直接的道路,否则我们必须通过其他城市和运输公司。我想为此明确使用 Dijkstra 算法。
这个查询可以在 Cypher 中完成吗?如果没有,如何使用 Neo4J Java API 来完成?
【问题讨论】:
-
您可以通过 neo4j 的 rest api 将 shortestPath 与 Cypher 或 Dijkstra 一起使用
-
据我所知,使用 shortestPath 您可以将属性作为成本。但是如何将道路的距离乘以运输车的价格呢?当特定道路有多个运输工具时?
-
我建议您首先使用模型,也许是 console.neo4j.org 中的测试数据集。目前,除了告诉您这是可能的并向您指出文档之外,我们无法为您提供太多帮助
-
你的意思是这样的数据集:[link]console.neo4j.org/r/c9kidj[/link]?
-
没错!所以现在我们可以玩了:)