Neo4j CQL - (11)- REMOVE删除
有时基于我们的客户端要求,我们需要向现有节点或关系添加或删除属性。
我们使用Neo4j CQL SET子句向现有节点或关系添加新属性。
我们使用Neo4j CQL REMOVE子句来删除节点或关系的现有属性。
Neo4j CQL REMOVE命令用于
删除节点或关系的标签
删除节点或关系的属性
Neo4j CQL DELETE和REMOVE命令之间的主要区别 -
DELETE操作用于删除节点和关联关系。
REMOVE操作用于删除标签和属性。
Neo4j CQL DELETE和REMOVE命令之间的相似性 -
这两个命令不应单独使用。
两个命令都应该与MATCH命令一起使用。
删除节点/关系的属性
REMOVE属性子句语法:
REMOVE <property-name-list>
<属性名称列表>语法
<node-name>.<property1-name>,
<node-name>.<property2-name>,
....
<node-name>.<propertyn-name>
语法说明:
注意 -
我们应该使用逗号(,)运算符来分隔标签名称列表。
我们应该使用dot(.)运算符来分隔节点名称和标签名称。
示例:演示如何数据库中永久删除节点的属性。
步骤1 - 打开Neo4j数据浏览器
步骤2 -在数据浏览器上键入以下命令创建一个book节点
CREATE (book:Book {id:122,title:"Neo4j Tutorial",pages:340,price:250})
步骤3 -在数据浏览器上键入以下命令,然后单击执行按钮从书节点中删除“price”属性。
match (w:Book)
where w.price =250
remove w.price
在这里,我们只能看到节点书的3个属性,因为“价格”属性被删除。
有时基于客户端要求,我们需要删除一些现有的属性到节点或关系。
我们需要使用REMOVE子句来删除一个属性或一组属性。
删除节点/关系的标签
我们可以使用相同的语法从数据库中永久删除节点或关系的标签或标签列表。
REMOVE一个Label子句语法:
REMOVE <label-name-list>
语法说明:
语法
<node-name>:<label2-name>,
....
<node-name>:<labeln-name>
语法说明:
注意 -
我们应该使用逗号(,)运算符来分隔标签名称列表。
我们应该使用(:)运算符来分隔节点名和标签名。
示例:演示如何从数据库永久删除不需要的标签到节点
步骤1 - 打开Neo4j数据浏览器
步骤2 - 在数据浏览器上键入以下命令
MATCH (m:Movie) RETURN m
在这里我们可以观察到四个标签可用于单个节点。
根据我们的客户要求,我们需要删除“图片”标签到此节点。
步骤4 -在浏览器上键入以下命令,然后单击执行按钮。
MATCH (m:Movie)
REMOVE m:Picture
步骤5 -单击节点以查看其属性窗口。
这里我们可以观察到这个节点只有三个标签:Movie,Cinema,Film。 这意味着我们的上一个命令已成功删除图片标签。