【问题标题】:How to get mutual count between not connected nodes如何获得未连接节点之间的相互计数
【发布时间】:2013-08-06 11:57:50
【问题描述】:

如何获得未连接节点之间的相互计数?让我先解释一下。 Node01 有 3 个朋友说 node2、node3、node4 Node10 有 2 个好友(例如 node2、node11)

Node01 和Node10 没有任何关系。 我仍然想找到 node2 是相互的。

neo4j 中是否可以使用 cypher?

为了方便您参考,我发布了另一篇帖子hear

谢谢

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    我根据 neo4j 示例数据为您创建了一个示例。如果你使用 Neo 作为起始节点,他知道 Morpheus 并且喜欢 Trinity。 Cypher 和 Neo 在 Morpheus 中有一个共同的朋友。在 WHERE 子句中排除 Trinity 是因为您明确不想考虑与起始节点 Neo 有关系的任何节点。

    START n=node:node_auto_index(name='Neo') 
    MATCH n-[]-(mf)-[]-other 
    WHERE NOT n-[]-other 
    RETURN n.name, other.name, count(mf)
    

    如果您只想考虑某些类型的关系,可以将[] 替换为显式关系类型[:FRIEND],例如。

    您可以查看 neo4j 控制台示例 here

    【讨论】:

    • 谢谢@edward,你的例子对我有用。它正在返回那些在我的登录用户和搜索用户之间有相互联系的断开连接的节点。但它仍然没有返回那些与我没有连接并且登录用户和搜索用户之间没有相互联系的节点。正如我预期的结果,相互计数也应该带有 null 。谢谢
    • 你看stackoverflow.com/questions/17947903/…了吗?我在这里解释我需要什么?这在任何社交网络网站中都很常见。我的用户想要搜索一些名字以某些单词(例如“dh”)为首的人,我必须显示从“dh”开始的节点,并按相互计数(最大优先)和 AppruvalStatus(显示先挂起,所以用户可以先选择/接受他/她)。我认为每个社交网站都在做同样的事情。所以我不明白为什么它没有以简单的方式发生?
    猜你喜欢
    • 2021-11-07
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多