1. 文章
  2. 文章详情

Neo4j CQL - REMOVE子句

Neo4j CQL REMOVE命令用于

  • 删除节点或关系的标签
  • 删除节点或关系的属性

Neo4j CQL DELETE和REMOVE命令之间的主要区别 - 

  • DELETE操作用于删除节点和关联关系。
  • REMOVE操作用于删除标签和属性。

Neo4j CQL DELETE和REMOVE命令之间的相似性 - 

  • 这两个命令不应单独使用。
  • 两个命令都应该与MATCH命令一起使用。

删除节点/关系的属性

我们可以从数据库中永久删除节点或关系的属性或属性列表。

REMOVE属性子句语法

REMOVE property-name-list
语法元素 描述
REMOVE 它是一个Neo4j CQL关键字。
property-name-list 它是一个属性列表,用于永久性地从节点或关系中删除它。

 <属性名称列表>语法

node-name.property1-name,
node-name.property2-name, 
.... 
node-name.propertyn-name 

语法说明:

语法元素 描述
node-name 它是节点的名称。
property-name 它是节点的属性名称。

注意 -

  • 我们应该使用逗号(,)运算符来分隔标签名称列表。
  • 我们应该使用dot(。)运算符来分隔节点名称和标签名称。

例如:

创建节点

CREATE (book:Book {id:122,title:"Neo4j Tutorial",pages:340,price:250}) 

从数据库中获取此节点的属性

MATCH (book : Book)
RETURN book

从节点中删除“price”属性。

MATCH (book { id:122 })
REMOVE book.price
RETURN book

删除节点/关系的标签

我们可以使用相同的语法从数据库中永久删除节点或关系的标签或标签列表。

REMOVE一个Label子句语法:

REMOVE label-name-list

语法元素 描述
REMOVE 它是一个Neo4j CQL关键字。
label-name-list 它是一个标签列表,用于永久性地从节点或关系中删除它。

语法

node-name:label2-name, 
.... 
node-name:labeln-name 

语法说明:

语法元素 描述
node-name
节点名称
它是一个节点的名称。
label-name
标签名称
这是一个节点的标签名称。

注意 -

  • 我们应该使用逗号(,)运算符来分隔标签名称列表。

  • 我们应该使用colon(:)运算符来分隔节点名和标签名。

例如:

此示例演示如何从数据库永久删除不需要的标签到节点。

查询

MATCH (m:Movie) RETURN m

删除

MATCH (m:Movie) 
REMOVE m:Picture

删除一个属性

Neo4j不允许属性存储空值null。如果属性的值不存在,那么节点或者关系中的属性将被删除。这也可以通过REMOVE来删除。

MATCH (p { name: 'Michael Douglas' })REMOVE p. bornInRETURN p

删除节点的一个标签

MATCH (n { name: 'Peter' })REMOVE n:GermanRETURN n

删除节点的多个标签

MATCH (n { name: 'Peter' })REMOVE n:German:SwedishRETURN n

发表评论

登录后才能评论

评论列表(0条)