Neo4j - Remove 子句

REMOVE 子句用于从图形元素(节点或关系)中删除属性和标签。

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

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

删除属性

您可以使用 MATCH 和 REMOVE 子句删除节点的属性。

语法

以下是使用 REMOVE 子句删除节点属性的语法。

MATCH (node:label{properties . . . . . . . }) 
REMOVE node.property 
RETURN node 

示例

在继续该示例之前,创建一个名为 Dhoni 的节点,如下所示。

CREATE (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"})

以下是使用 REMOVE 子句删除上述创建的节点的 Cypher 查询示例。

MATCH (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
REMOVE Dhoni.POB 
RETURN Dhoni 

要执行上述查询,请执行以下步骤 −

第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

浏览器应用程序

第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。

Remove Ranchi

结果

执行后,您将得到以下结果。 在这里,您可以观察到名为 POB 的节点已被删除。

删除属性结果

从节点中删除标签

与属性类似,您还可以使用删除子句从现有节点中删除标签。

语法

以下是从节点中删除标签的语法。

MATCH (node:label {properties . . . . . . . . . . . }) 
REMOVE node:label 
RETURN node 

示例

以下是使用删除子句从现有节点删除标签的示例 Cypher 查询。

MATCH (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
REMOVE Dhoni:player 
RETURN Dhoni 

要执行上述查询,请执行以下步骤 −

第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

浏览器应用程序

第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。

Remove Player

结果

执行后,您将得到以下结果。 在这里,您可以观察到标签已从节点中删除。

删除结果

删除多个标签

您还可以从现有节点中删除多个标签。

语法

以下是从节点中删除多个标签的语法。

MATCH (node:label1:label2 {properties . . . . . . . . }) 
REMOVE node:label1:label2 
RETURN node

示例

在继续该示例之前,请创建一个节点 Ishant,如下所示。

CREATE (Ishant:player:person {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 

以下是一个示例 Cypher 查询,用于从节点中删除多个标签。

MATCH (Ishant:player:person {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
REMOVE Ishant:player:person 
RETURN Ishant 

要执行上述查询,请执行以下步骤 −

第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

浏览器应用程序

第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。

删除多标签

结果

执行后,您将得到以下结果。 在这里,您可以观察到指定的标签已从节点中删除。

多标签结果