我需要在 Cypher 查询的帮助下找到连接最多的朋友的朋友节点。
在下面的示例中,给定 B,我需要一个查询来返回“沙拉”节点而不是“培根”节点。对于这种特殊情况,我选择了节点 C(而不是节点 A)作为连接最多的朋友。这是因为 B&C 分享的朋友最多。然后我把不在B朋友列表中的C朋友挑出来,这样就可以推荐朋友节点(沙拉)了。
给定 B,我需要一个 Cypher 查询来返回 Neo4j 中的“沙拉”节点。根据 Stefan 的建议,我在此处添加了 Neo4j 控制台数据。谢谢。
我假设您事先知道节点 B 和 C 的 ID。
start b=node(<id_of_b>), c=node(<id_of_c>)
match c-[:LIKES]->stuff
where not(b-[:LIKES]->stuff)
return stuff
这应该给你一个 C 不喜欢 B 不喜欢的项目列表,也就是“沙拉”节点。
对于未来的问题,请考虑在http://console.neo4j.org上设置您的数据集,这使您的问题更加清晰。