Ответ 1
Как отметил Майкл Хунгер
MATCH (n) WHERE NOT EXISTS(n.foo) RETURN n
В старых версиях Neo4j вы можете использовать HAS:
# Causes error with later versions of Neo4j
MATCH (n) WHERE NOT HAS(n.foo) RETURN n
Используя Cypher, как я могу найти узел, где свойство не существует?
Например, у меня есть два узла:
A = {foo: true, name: 'A'}, B = { name: 'B'}
Теперь я хотел бы найти B, выбирая его на основе отсутствия свойства foo
. Как я могу это сделать?
Как отметил Майкл Хунгер
MATCH (n) WHERE NOT EXISTS(n.foo) RETURN n
В старых версиях Neo4j вы можете использовать HAS:
# Causes error with later versions of Neo4j
MATCH (n) WHERE NOT HAS(n.foo) RETURN n
MATCH (f) WHERE f.foo IS NULL RETURN f