【问题标题】:get all transitive relationships from a node via cypher通过密码从节点获取所有传递关系
【发布时间】:2014-11-13 07:53:42
【问题描述】:

您知道如何编写一个密码查询来返回与节点相关的所有传递关系吗?

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

我想要一个查询,假设 node1 返回 rel1 和 rel2。

感谢您的帮助!

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    您需要使用可变路径匹配,假设您的起始节点是节点 1,标签为 Label 和 name='node1':

    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
    

    【讨论】:

    • 感谢您的帮助!我还有一个问题:p 你知道检索这些关系的 id 的方法吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    相关资源
    最近更新 更多