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 https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

Browser App

步骤 2 - 将所需的查询复制并粘贴到美元提示符中,然后按播放按钮(以执行查询),如下面的屏幕截图中突出显示的那样。

Remove Ranchi

结果

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

Remove Property Result

从节点中删除标签

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

语法

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

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

示例

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

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

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

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

Browser App

步骤 2 - 将所需的查询复制并粘贴到美元提示符中,然后按播放按钮(以执行查询),如下面的屏幕截图中突出显示的那样。

Remove Player

结果

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

Remove Result

删除多个标签

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

语法

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

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 https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

Browser App

步骤 2 - 将所需的查询复制并粘贴到美元提示符中,然后按播放按钮(以执行查询),如下面的屏幕截图中突出显示的那样。

Remove Multi Label

结果

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

Multi Label Result
广告