我在Neo4j中有Graph数据库,火车站作为节点,并且将这些站连接为指导关系
例如火车站A通过关系列车{火车号码:123}连接到火车站B, 火车关系有一个名为train no。的财产。
我的问题是从A到D的路径,所有中间站都连接着相同的列号。
A - >乙 - > C - > d
对于这个例子,我应该得到B,C作为返回节点
我试过
MATCH (from:TrainStation { stationCode:'A' }),
(to:TrainStation {stationCode:'D'}) ,
path = (from)-[r:train*..]->(to)
RETURN path
此查询为我提供了与所有列车相关的路径,但我想将其限制为 特定列车编号123
答案 0 :(得分:0)
您可以使用关系属性上的ALL
谓词来执行此操作:
MATCH (from:TrainStation { stationCode:'A' }),
(to:TrainStation {stationCode:'D'}) ,
MATCH path = (from)-[r:train*..]->(to)
WHERE ALL (x in rels(path) WHERE x.`train no` = 123)
RETURN path