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

时间:2014-11-13 07:53:43

标签: neo4j cypher

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

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

我希望node1返回rel1rel2的查询。

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

您需要使用变量路径匹配,假设您的起始节点是标记Labelname='node1'的节点1:

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

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

关于以下评论的更新

获取关系的id:

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