如何在未连接的节点之间进行相互计数

时间:2013-08-06 11:57:51

标签: neo4j cypher

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

Node01和Node10没有任何关系。 我仍然希望将node2视为相互。

使用cypher在neo4j中是否可以使用?

为了您的准备参考我已发布了另一篇帖子hear

感谢

1 个答案:

答案 0 :(得分:0)

我根据neo4j样本数据为您创建了一个示例。如果你使用Neo作为起始节点,他知道Morpheus和LOVES 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