2016-03-08 3 views
1

Я пытаюсь получить все Узлы (node1), которые имеют отношение (отношение типа R1) к узлу2 и не имеют (отношение типа R2). Я попытался запустить этот запрос:Получить все узлы, которые не имеют конкретных отношений в Neo4j

MATCH node1 -[r1: R1]-> node2 WHERE node2.id = '1234' WITH node1,node2 
OPTIONAL MATCH node1- [r2: R2]->node2 WHERE r2 is NULL 
RETURN content 

Я получаю стил узлы, которые имеют r2 отношения в resulte. Что случилось с моим запросом?

ответ

3

Я думаю, что вы хотите MATCH синтаксис в WHERE в NOT:

MATCH (node1)-[:R1]->(node2) 
WHERE node2.id = '1234' AND NOT (node1)-[:R2]->(node2) 
RETURN node1 
Смежные вопросы