什么是cypher查询来查找属性不存在的节点?2个节点:A = {foo:true,名称:'A'},B = {name:'B'}
需要找到B,因为它没有foo,即B.foo未设置
man*_*mat 43
正如迈克尔·亨格所说
MATCH (n) WHERE NOT EXISTS(n.foo) RETURN n
Run Code Online (Sandbox Code Playgroud)
在较旧版本的Neo4j上,您可以使用HAS:
# Causes error with later versions of Neo4j
MATCH (n) WHERE NOT HAS(n.foo) RETURN n
Run Code Online (Sandbox Code Playgroud)
小智 8
从版本 4.3 EXISTS开始,属性已被弃用,您应该使用IS NOT NULL.
因此,对于您问题中的示例,您的查询现在是:
MATCH (n) WHERE n.foo IS NULL RETURN n
Run Code Online (Sandbox Code Playgroud)