【问题标题】:How to get in Neo4j's Cypher the nodes that are connected to every other node within a set?如何在 Neo4j 的 Cypher 中获取连接到集合中每个其他节点的节点?
【发布时间】:2014-05-08 08:03:53
【问题描述】:

我有“N”个节点作为输入,我想获得“M”个节点,例如:

'm'是属于'M'的节点,其中'm'直接连接到'N'中的每个节点

请问我该怎么做?

【问题讨论】:

    标签: java neo4j cypher


    【解决方案1】:

    路径上的复杂条件很难用密码来表达。如果标准与您的抽象一样简单,您可以收集“N”个节点并使用ALL 和路径谓词过滤匹配的“M”个节点。

    像这样的图表

    (:N)<--(m1:M)-->(:N)<--(m2:M)
    

    您想返回 (m1) 而不是 (m2),对吗?试试

    MATCH (n:N)
    WITH collect(n) AS nn
    MATCH (m:M)
    WHERE ALL (n IN nn 
           WHERE n--m)
    RETURN m
    

    查看控制台: http://console.neo4j.org/?id=cqrrpe

    【讨论】:

    • 谢谢,我试试看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    相关资源
    最近更新 更多