Cypher 查询所有缺少特定 属性 的节点

Cypher query for all nodes that lack a certain property

我有一个 neo4j 数据库,里面有一些数据。大多数节点都有name 属性,但不是全部;我想构建一个 Cypher 查询来匹配 return 所有不匹配的查询。

我已经尝试了以下所有方法,但都给出了 0 个结果:

MATCH (n { name: NULL }) RETURN n
MATCH (n { name: null }) RETURN n
MATCH (n) WHERE n.name = NULL RETURN n
MATCH (n) WHERE n.name = null RETURN n

但是,我至少有一个节点没有指定 name 属性,我可以通过

来证明
MATCH (n) WHERE id(n) = 4 RETURN n

并检查结果视图中的节点,或者通过注意

MATCH (n) WHERE id(n) = 4 RETURN n.name

returns null.

如何匹配所有 没有的节点 name 属性?

HAS函数:

MATCH (n) WHERE not has(n.name) RETURN n

EXISTS() 已替换 HAS() 因此您的查询现在看起来像:

MATCH (n) WHERE NOT EXISTS(n.name) RETURN n

https://neo4j.com/docs/cypher-refcard/current/