REMOVE子句用于从节点和关系中删除属性,并从节点中删除标签。

有关删除节点和关系,请参阅DELETE

从节点移除标签是幂等操作:如果您尝试从没有该标签的节点移除标签,则不会发生任何事情。查询统计信息将告诉您是否需要执行某些操作。

示例使用以下数据库:

删除属性

Neo4j 不允许null在属性中存储。相反,如果不存在值,则属性就不存在。因此,REMOVE用于从节点或关系中删除属性值。

询问
MATCH (a {name: 'Andy'})
REMOVE a.age
RETURN a.name, a.age

返回节点,但age其上不存在任何属性。

表 1. 结果
一个名字年龄

行数:1
属性集:1

"Andy"

<null>

删除所有属性

REMOVE不能用于从节点或关系中删除所有现有属性。相反,使用SETwith=和空映射作为右操作数将清除节点或关系中的所有属性。

从节点中删除标签

要删除标签,您可以使用REMOVE

询问
MATCH (n {name: 'Peter'})
REMOVE n:German
RETURN n.name, labels(n)
表 2. 结果
名词标签(n)

行数:1
移除标签数:1

"Peter"

["Swedish"]

从节点中删除多个标签

要删除多个标签,您可以使用REMOVE

询问
MATCH (n {name: 'Peter'})
REMOVE n:German:Swedish
RETURN n.name, labels(n)
表 3. 结果
名词标签(n)

行数:1
移除标签数:2

"Peter"

[]

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐