2017-02-04 6 views
0

Я пытаюсь соответствовать узлы, которые не имеют какой-то конкретный ярлык, как (Я знаю, что ниже синтаксис неверен):Отрицание: LABEL в пункте MATCH

 
MATCH (n:Includes:!Excludes) 
RETURN n; 

И я также знаю, что могу сделать это в WHERE пункте:

MATCH (n:Includes) 
WHERE NOT n:Excludes 
RETURN n; 

в то время как выше синтаксис работает но поскольку оговорка матч всегда должен быть номером один выбор и Я не мог найти никаких признаков, если это возможно или нет, я просто подумал, что должен спросить (по крайней мере, для записи).

Так что вопрос:

Можно ли исключают узлы с некоторой меткой в ​​пункте матча?

+0

'так как предложение match всегда должно быть номером один'' Где вы нашли это заявление? –

+0

@ChristopheWillemsen Вы правы, я сделал это, но вы можете обнаружить, что предложение 'MATCH' предпочтительнее в разделе' WHERE' в [Добро пожаловать в Dark Side: Neo4j Worst Practices (& Как их избежать)] (https://neo4j.com/blog/dark-side-neo4j-worst-practices/) – Mehran

+2

Нет строгого различия между предикатом внутри MATCH или в ГДЕ –

ответ

1

Нет, начиная с версии 3.1.1. Cypher не имеет средств выражения исключения ярлыков только в предложении MATCH.