我有一个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
Run Code Online (Sandbox Code Playgroud)
但是,我至少有一个没有name指定属性的节点,我可以通过
MATCH (n) WHERE id(n) = 4 RETURN n
Run Code Online (Sandbox Code Playgroud)
并检查结果视图中的节点,或者注意到
MATCH (n) WHERE id(n) = 4 RETURN n.name
Run Code Online (Sandbox Code Playgroud)
返回null。
如何匹配所有的节点不 具有name财产?
EXISTS()已替换,HAS()因此您的查询现在看起来像:
MATCH (n) WHERE NOT EXISTS(n.name) RETURN n
Run Code Online (Sandbox Code Playgroud)
https://neo4j.com/docs/cypher-refcard/current/