【发布时间】:2013-08-06 11:57:50
【问题描述】:
如何获得未连接节点之间的相互计数?让我先解释一下。 Node01 有 3 个朋友说 node2、node3、node4 Node10 有 2 个好友(例如 node2、node11)
Node01 和Node10 没有任何关系。 我仍然想找到 node2 是相互的。
neo4j 中是否可以使用 cypher?
为了方便您参考,我发布了另一篇帖子hear。
谢谢
【问题讨论】:
如何获得未连接节点之间的相互计数?让我先解释一下。 Node01 有 3 个朋友说 node2、node3、node4 Node10 有 2 个好友(例如 node2、node11)
Node01 和Node10 没有任何关系。 我仍然想找到 node2 是相互的。
neo4j 中是否可以使用 cypher?
为了方便您参考,我发布了另一篇帖子hear。
谢谢
【问题讨论】:
我根据 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
【讨论】: