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
我有一个 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