请帮助我在 "Neo4j" 中使用 "EXCEPT Clause"

Please Help Me Use "EXCEPT Clause" in "Neo4j"

我在 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;

如果有人能提供帮助,我将不胜感激

差不多了,只是语法:

MATCH (p:person {name:"Kate"})-[:friends_with*2..3]->(pp:person)
WHERE NOT ((p)-[:friends_with]->(pp))
return pp;

顺便说一句,你也考虑了方向。所以如果(pp)-[:friends_with]->(p),就不会被排除。如果那不是本意,那么就不要使用说明了。