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条)