Neo4j CQL - 删除


有时候,基于我们客户的需求,我们需要从现有节点或关系添加或删除属性/。

我们使用的Neo4j CQL SET子句中新的属性添加到现有节点或关系。

我们使用的Neo4j CQL REMOVE子句来删除节点或关系的现有属性。

Neo4j的CQL REMOVE命令用于

  • 要删除一个节点或关系标签
  • 要删除一个节点或关系的性质

Neo4j的CQL的主要差异DELETE和REMOVE命令 -

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

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

  • 两个命令都不能单独用作。
  • 这两个命令都应该match命令一起使用。

删除节点/关系属性

我们可以使用相同的语法来删除一个节点或从数据库中永久关系的性质的属性或列表。


删除属性子句语法

REMOVE <property-name-list>
S.No. 语法元素 描述
1。 去掉 这是一个Neo4j的CQL关键字。
2。 <属性名称列表> 它是属性的列表,以从节点或永久性的关系将其删除。

<属性名称列表>语法

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

语法说明

S.No. 语法元素 描述
1。 <节点名称> 它是一个节点的名称。
2。 <属性名称> 它是一个节点的属性名。

注意 -

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

这个例子演示了如何创建一个节点,并从该节点从数据库中永久删除属性。

第1步 -打开Neo4j的数据浏览器

Neo4j的CQL教程

第2步 -输入在数据浏览器下面的命令

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

第3步 -点击“执行”按钮并观察结果。

Neo4j的CQL教程

它是在单杆类似于以下两个SQL命令。

CREATE TABLE BOOK(
	id number,
	title varchar2(20),
	pages number,
	pages number
);
INSERT INTO BOOK VALUES (122,'Neo4j Tutorial',340,250);

在这里,我们可以观察到一个标签,并与4个属性一个节点都成功创建。

第4步 -输入在数据浏览器下面的命令

MATCH (book : Book)
RETURN book

它类似于下面的SQL命令。

SELECT * FROM BOOK;

第5步 -点击“执行”按钮并观察结果。

Neo4j的CQL教程

在这里,我们可以看到,这本书节点有4个属性。

第6步 -输入在数据浏览器下面的命令,然后单击执行按钮删除book节点“价格”属性。

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

它类似于下面的SQL命令。

ALTER TABLE BOOK REMOVE COLUMN PRICE;
SELECT * FROM BOOK WHERE ID = 122;
Neo4j的CQL教程

在这里我们可以看到只有3个节点书属性,因为“价格”属性被删除。

有时,根据客户的要求,我们需要删除一些现有的属性节点或关系。

我们需要使用REMOVE子句来删除属性的属性或集。

这个例子演示了如何从现有节点从数据库中永久删除属性。

第1步 -打开Neo4j的数据浏览器

第2步 -输入在数据浏览器下面的命令

MATCH (dc:DebitCard) 
RETURN dc
Neo4j的CQL教程

第3步 -点击“执行”按钮并观察结果。

Neo4j的CQL教程

在这里,我们可以观察到,借记卡节点包含6属性。

第4步 -输入在数据浏览器下面的命令

MATCH (dc:DebitCard) 
REMOVE dc.cvv
RETURN dc
Neo4j的CQL教程

第5步 -点击“执行”按钮并观察结果。

Neo4j的CQL教程

如果我们观察输出,“CVV”属性从“借记卡”节点删除..


要删除节点/关系的标签

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


删除标签子句语法:

REMOVE <label-name-list>
S.No. 语法元素 描述
1。 去掉 这是一个Neo4j的CQL关键字。
2。 <标签名称列表> 它是标签的列表,从节点或永久名花有主将其删除。

<标签名称列表>语法

<node-name>:<label1-name>,
<node-name>:<label2-name>, 
.... 
<node-name>:<labeln-name> 

语法说明

S.No. 语法元素 描述
1。 <节点名称> 它是一个节点的名称。
2。 <标签名称> 这是一个节点的标签名称。

注意 -

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

  • 我们应该用冒号(:)运算符分隔节点名称和标签名称。

这个例子演示了如何从数据库中永久删除不需要的标签节点。

第1步 -打开Neo4j的数据浏览器

第2步 -输入在数据浏览器下面的命令

MATCH (m:Movie) RETURN m
Neo4j的CQL教程

第3步 -点击“执行”按钮并观察结果。

Neo4j的CQL教程

第4步 -点击节点以查看其属性窗口。

Neo4j的CQL教程

在这里,我们可以观察到四个标签可用于一个单一的节点。

根据我们的客户要求,我们需要删除“图片”标签,这个节点

第5步 -下面命令类型的浏览器,然后单击执行按钮。

MATCH (m:Movie) 
REMOVE m:Picture
Neo4j的CQL教程

第6步 -点击“执行”按钮并观察结果。

Neo4j的CQL教程

在这里,我们可以观察到一个标签是从节点永久地从数据库中删除。

第7步 -输入在数据浏览器下面的命令

MATCH (m:Movie) RETURN m
Neo4j的CQL教程

第8步 -点击“执行”按钮并观察结果。

Neo4j的CQL教程

步骤9 -点击节点以查看其属性窗口。

Neo4j的CQL教程

在这里,我们可以观察到这个节点只有三个标签:电影,影院,影片从属性窗口。 这意味着我们以前的命令已成功删除图片标签。