请帮我使用“Neo4j”中的“EXCEPT Clause”

Fat*_*meh 3 social-networking except neo4j cypher

我在 Neo4j 中有一些节点,具有友谊关系。现在我想查询一个节点(例如:Kate)的朋友的朋友,除了已经与她成为朋友的节点之外。我尝试了这个命令,但它不起作用:

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

或者

  MATCH ( p:person {name:"Kate"} )-[friends_with*2..3] -> (pp:person)
    WHERE (pp) OUT [(p)->[friends_with]-(pp)]
    return pp;
Run Code Online (Sandbox Code Playgroud)

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

Lua*_*nne 5

差不多了,只是语法:

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

顺便说一句,您也考虑了方向。因此,如果(pp)-[:friends_with]->(p),则不会被排除。如果这不是目的,那么就忽略指示。