【发布时间】:2024-01-14 01:53:01
【问题描述】:
我在 Neo4j 中有一些节点,有友谊关系。 现在我想查询一个节点(例如:Kate)的朋友的朋友,除了已经和她成为朋友的节点。 我试过这个命令,但它不起作用:
MATCH ( p:person {name:"Kate"} )-[friends_with*2..3] -> (pp:person)
WHERE (pp) NOT (p)->[friends_with]-(pp)
return pp;
或
MATCH ( p:person {name:"Kate"} )-[friends_with*2..3] -> (pp:person)
WHERE (pp) OUT [(p)->[friends_with]-(pp)]
return pp;
如果有人可以提供帮助,我将不胜感激
【问题讨论】:
-
*2..3 会给你朋友的朋友以及朋友的朋友的朋友。如果您只想要朋友的朋友,请使用 *2。
-
是的,我知道你的意思,但那不是问题。我的问题是下一个条件,即“除外”部分!例如,当我有:KATE --friends_with--ALICE 和 KATE--friend_with--TINA 和 ALICE--friends_with--TINA 和 ALICE--friends_with--SHILA。我想要查询,它只给了我名字,SHILA
-
作为提示:始终将详细信息添加到“它不起作用”。是返回错误结果还是您的查询导致错误等。
-
好的,谢谢@Joshua 的提示
标签: neo4j cypher social-networking except