Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与关系上的属性相关的neo4j遍历路径_Neo4j_Cypher_Traversal - Fatal编程技术网

与关系上的属性相关的neo4j遍历路径

与关系上的属性相关的neo4j遍历路径,neo4j,cypher,traversal,Neo4j,Cypher,Traversal,我有Neo4j中的图形数据库,其中火车站作为节点,火车按照定向关系连接这些车站 例如,火车站A通过列车{Train no:123}关系连接到火车站B, 列车关系有一个名为列车号的属性 我的问题是得到一条从a到D的路径,所有中间站都用相同的列车号连接 A-->B-->C-->D 对于这个例子,我应该得到B,C作为返回的节点 我试过了 MATCH (from:TrainStation { stationCode:'A' }), (to:TrainStation {stationCode:'D'})

我有Neo4j中的图形数据库,其中火车站作为节点,火车按照定向关系连接这些车站

例如,火车站A通过列车{Train no:123}关系连接到火车站B, 列车关系有一个名为列车号的属性

我的问题是得到一条从a到D的路径,所有中间站都用相同的列车号连接

A-->B-->C-->D

对于这个例子,我应该得到B,C作为返回的节点

我试过了

MATCH (from:TrainStation { stationCode:'A' }), 
(to:TrainStation {stationCode:'D'}) ,
path = (from)-[r:train*..]->(to)
RETURN path
此查询为我提供了与所有列车相关的路径,但我想将其限制为
特定的列车号123

您可以通过使用关系属性上的
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

谢谢Christophe这很有效,但需要很多时间。我认为我的图表不适合此类查询,因为我的所有查询都与列车号相关,但您的答案是完美的:)因此Upvoting您是对的,当您需要筛选关系属性时,该模型并不理想