获取Neo4j中没有特定关系的所有节点

Bak*_*ash 3 neo4j cypher

我试图让所有具有关系(类型R1的关系)的节点(node1)与node2没有(类型R2的关系).我试图运行此查询:

MATCH  node1 -[r1: R1]-> node2 WHERE node2.id = '1234' WITH node1,node2
OPTIONAL MATCH  node1- [r2: R2]->node2 WHERE r2 is NULL 
RETURN content 
Run Code Online (Sandbox Code Playgroud)

我仍然得到结果中具有r2关系的节点.我的查询有什么问题?

Bri*_*ood 6

我想你想要的是MATCH在语法WHERENOT:

MATCH  (node1)-[:R1]->(node2)
WHERE node2.id = '1234' AND NOT (node1)-[:R2]->(node2)
RETURN node1 
Run Code Online (Sandbox Code Playgroud)