【问题标题】:Neo4j/Cypher - find nodes that only link to given parentsNeo4j/Cypher - 查找仅链接到给定父节点的节点
【发布时间】:2014-08-14 16:01:43
【问题描述】:

我正在尝试提出一个密码查询,该查询可以返回某些父母的子节点,其中孩子的父母都在所需的父母之中。

我在这个控制台上有一个示例数据集:http://console.neo4j.org/?id=nsq8c1

在示例中,我们有包含父节点的组节点,以及正好有 2 个父节点的子节点,并且所有组中的所有父节点都有一个子节点,每个父节点都有一个子节点。现在我想找回在 group1 中有父母双方的孩子。

我尝试的示例查询是match (group { name: "group1" })-[:contains]->(parent)-[:has_child]->(child) return child,它只返回所有孩子,而不仅仅是 childofsamandjane。

给定 group1,你如何得到 childofsamandjane?

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    sbs,

    这是一种方法:

    MATCH (group { name: "group1" })-[:contains]->(parent)-[:has_child]->(child)
    WITH group, parent, child
    MATCH (child)<-[:has_child]-(parent2)<-[:contains]-(group)
    WHERE parent <> parent2
    RETURN DISTINCT child
    

    您从组中的父母匹配到他们的所有孩子,然后从每个孩子回到同一组中的不同父母。

    恩典与和平,

    吉姆

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-04
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多