0

我需要在 Cypher 查询的帮助下找到连接最多的朋友的朋友节点。

在下面的示例中,给定 B,我需要一个查询来返回“沙拉”节点而不是“培根”节点。对于这种特殊情况,我选择了节点 C(而不是节点 A)作为连接最多的朋友。这是因为 B&C 分享的朋友最多。然后我把不在B朋友列表中的C朋友挑出来,这样就可以推荐朋友节点(沙拉)了。

在此处输入图像描述

给定 B,我需要一个 Cypher 查询来返回 Neo4j 中的“沙拉”节点。根据 Stefan 的建议,我在此处添加了 Neo4j 控制台数据。谢谢。

4

1 回答 1

2

我假设您事先知道节点 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上设置您的数据集,这使您的问题更加清晰。

于 2013-05-10T08:35:13.523 回答