我正在尝试在某些日期模拟机场之间的航班.到目前为止,我的测试图看起来像这样:

寻找例如LTN和WAW之间的最短路径是微不足道的:
MATCH (f:Airport {code: "LTN"}), (t:Airport {code: "WAW"}),
p = shortestPath((f)-[]-(t)) RETURN p
Run Code Online (Sandbox Code Playgroud)
这给了我:

但我不知道如何只获得具有FLIES_ON与给定日期关系的航班的路径.
这就是我将如何处理您给定的模型。其他评论者的查询似乎不正确,因为他们使用ANY()而不是ALL(). 您明确表示您只需要路径上的所有 节点都通过关系Flight附加到给定节点的路径:Date:FLIES_ON
MATCH (LTN:Airport {code:"LTN"}),
(WAW:Airport {code:"WAW"}),
p =(LTN)-[:ROUTE*]-(WAW)
WHERE ALL(x IN FILTER(x IN NODES(p) WHERE x:Flight)
WHERE (x)<-[:FLIES_ON]-(:Date {date:"130114"}))
WITH p ORDER BY LENGTH(p) LIMIT 1
RETURN p
Run Code Online (Sandbox Code Playgroud)
http://console.neo4j.org/r/xgz84y
| 归档时间: |
|
| 查看次数: |
6819 次 |
| 最近记录: |