我有一个neo4j数据库,里面有一些数据。大多数节点都有name
属性,但不是全部;我想构建一个Cypher查询来匹配并返回所有那些没有的查询。
我已经尝试了以下所有内容,但所有这些都给出了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
返回null
。
如何匹配所有 不具有name
属性的节点?
答案 0 :(得分:4)
有HAS
功能:
MATCH (n) WHERE not has(n.name) RETURN n
答案 1 :(得分:3)
EXISTS()
已替换HAS()
,因此您的查询现在看起来像:
MATCH (n) WHERE NOT EXISTS(n.name) RETURN n