我有 3 个标签,A、B 和 Z。A 和 B 都与 Z 有关系。我想找到与 B 没有共享任何节点 Z 的所有 A 节点
目前,在存在关系的情况下进行正常查询是可行的。
MATCH (a:A)-[:rel1]->(z:Z)<-[:rel2]-(b:B { uuid: {<SOME ID>} })
RETURN DISTINCT a
但是当我这样做时
MATCH (a:A)
WHERE NOT (a)-[:rel1]->(z:Z)<-[:rel2]-(b:B { uuid: {<SOME ID>} }))
RETURN DISTINCT a
它抛出一个错误
Neo4j::Server::CypherResponse::ResponseError: z not defined
不知道这个语法是否不正确,我试过WHERE NOT EXIST()
但没有运气。
该查询是通过使用 neo4jrb / (Neo4j::Session.query) 的 rails 应用程序调用的更大查询的一部分