如何根据属性值获取neo4j中的节点

如何根据属性值获取neo4j中的节点,neo4j,cypher,Neo4j,Cypher,我创建了一些节点,其属性名为:color。我没有为此属性指定任何值。 现在,我想编写一个查询,以获取具有此属性“NULL”的所有节点 我的问题是: MATCH (n:Image) WHERE n.color='' RETURN n 但这不会带来任何回报。如何获取属于label:Image且属性为:Color为空的所有节点 我也尝试过这个,但运气不好: MATCH (n:Image) WHERE n.color IS NULL RETURN n 谢谢 D.Null不是有效的属性值-如果未指

我创建了一些节点,其属性名为:color。我没有为此属性指定任何值。 现在,我想编写一个查询,以获取具有此属性“NULL”的所有节点

我的问题是:

  MATCH (n:Image) WHERE n.color='' RETURN n
但这不会带来任何回报。如何获取属于label:Image且属性为:Color为空的所有节点

我也尝试过这个,但运气不好:

MATCH (n:Image) WHERE n.color IS NULL RETURN n
谢谢
D.

Null不是有效的属性值-如果未指定值或显式指定为Null,则该属性在节点上不存在

你可以用任何一种

MATCH (n:Image) where not(has(n.color)) return n
检查节点上是否存在该属性,或者

MATCH (n:Image) where n.color IS NULL

根据下面的注释,空字符串与缺少的属性/null值不同。

null不是有效的属性值-如果未分配值或显式分配null,则该属性在节点上不存在

你可以用任何一种

MATCH (n:Image) where not(has(n.color)) return n
检查节点上是否存在该属性,或者

MATCH (n:Image) where n.color IS NULL

根据下面的注释,空字符串与缺少的属性/空值不同。

谢谢您的回答。我可能会犯错误。当我创建节点时,我是这样做的:CREATE(n:Image{Color:'',Path:'pic.jpg'}),现在我知道在这种情况下,颜色并不是真的空的。正当如何在Color属性为空的情况下创建节点?这是不同的-id属性以空字符串值存储在节点上。在本例中,匹配(n:Image),其中n.id=''返回n将返回这些节点。存储空字符串值,缺少/空值实际上不起作用!我总是忘记neo4j的区分大小写的东西。感谢您的快速响应。根据我的经验,如果属性未分配,则
node.property为NULL
将获得匹配。您是对的。问题原来是空字符串。编辑我的答案,谢谢你的回答。我可能会犯错误。当我创建节点时,我是这样做的:CREATE(n:Image{Color:'',Path:'pic.jpg'}),现在我知道在这种情况下,颜色并不是真的空的。正当如何在Color属性为空的情况下创建节点?这是不同的-id属性以空字符串值存储在节点上。在本例中,匹配(n:Image),其中n.id=''返回n将返回这些节点。存储空字符串值,缺少/空值实际上不起作用!我总是忘记neo4j的区分大小写的东西。感谢您的快速响应。根据我的经验,如果属性未分配,则
node.property为NULL
将获得匹配。您是对的。问题原来是空字符串。编辑我的答案,谢谢