【发布时间】:2020-10-06 14:38:31
【问题描述】:
我正在使用 Flight Analyzer 数据库 (https://neo4j.com/graphgist/flight-analyzer)。 我们的节点和关系类型很少。 节点: 机场
(SEA:Airport { name:'SEA' })
航班
(f0:Flight { date:'11/30/2015 04:24:12', duration:218, distance:1721, airline:'19977' })
门票
(t1f0:Ticket { class:'economy', price:1344.75 })
关系 目的地
(f0)-[:DESTINATION]->(ORD)
原产地
(f0)-[:ORIGIN]->(SEA)
分配
(t1f0)-[:ASSIGN]->(f0)
现在我需要找到一些路径,但我遇到了连接 ORIGIN - FLIGHT - DESTINATION 的问题。 我需要找到与 LAX 机场相连且票价总和
我试过了
MATCH path = (origin:Airport { name:"LAX" })<-[r:ORIGIN|DESTINATION*..5]->(destination:Airport)
WHERE REDUCE(s = 0, n IN [x IN NODES(path) WHERE 'Flight' IN LABELS(x)] |
s + [(n)<-[:ASSIGN]-(ticket) | ticket.price][0]
) < 3000
RETURN path
但在此解决方案中,LAX 也可以是 ORIGIN 和 DESTINATION。我只想选择始终具有相同顺序的路径 aiport1 airport2 aiport etc..
我需要包括出发和到达时间,所以 航班1日期+持续时间
【问题讨论】: