通过密码从节点获取所有传递关系

mat*_*h3o 1 neo4j cypher

您是否知道如何编写将返回与节点相关的所有传递关系的密码查询.

例如,如果我有:(node1)-[rel1]->(node2)-[rel2]->(node3).

我想要一个查询,给出node1返回rel1rel2.

谢谢你的帮助 !

Ste*_*ter 5

你需要使用一个变量路径匹配,假设你开始节点节点1有标签Labelname='node1':

MATCH path=(node1:Label {name:'node1'})-[*..100]->()
RETURN relationships(path) as rels
Run Code Online (Sandbox Code Playgroud)

relationships函数返回一个列表,其中包含该路径中的所有关系.最佳做法是为可变深度匹配提供上限,这里我将其任意设置为100.

有关以下评论的更新

获取关系的id:

MATCH path=(node1:Label {name:'node1'})-[*..100]->()
RETURN [r in relationships(path) | ID(x)] as relIds
Run Code Online (Sandbox Code Playgroud)