Neo4j - SET 语句



使用 SET 语句,您可以为现有的节点或关系添加新的属性,还可以添加或更新现有的属性值。

在本章中,我们将讨论如何:

  • 设置属性
  • 删除属性
  • 设置多个属性
  • 为节点设置标签
  • 为节点设置多个标签

设置属性

使用 SET 语句,您可以在节点中创建一个新的属性。

语法

以下是设置属性的语法。

MATCH (node:label{properties . . . . . . . . . . . . . . }) 
SET node.property = value 
RETURN node

示例

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

CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"}) 

以下是一个示例 Cypher 查询,用于创建一个名为“highestscore”、值为“187”的属性。

MATCH (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
SET Dhawan.highestscore = 187 
RETURN Dhawan

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

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

Browser App

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

Match Player

结果

执行后,您将获得以下结果。在这里您可以观察到,在名为“Dhawan”的节点中创建了一个键值对为 highestscore/187 的属性。

Key Value

删除属性

您可以通过将NULL作为值传递给它来删除现有属性。

语法

以下是使用 SET 语句从节点中删除属性的语法。

MATCH (node:label {properties}) 
SET node.property = NULL 
RETURN node 

示例

在继续示例之前,请先创建一个名为“jadeja”的节点,如下所示。

Create (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})

以下是一个示例 Cypher 查询,它使用 SET 语句删除此节点中名为 POB 的属性,如下所示。

MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 
SET Jadeja.POB = NULL 
RETURN Jadeja 

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

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

Browser App

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

Remove property

结果

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

Deleted POB

设置多个属性

同样,您可以使用 Set 语句在节点中创建多个属性。为此,您需要使用逗号指定这些键值对。

语法

以下是使用 SET 语句在节点中创建多个属性的语法。

MATCH (node:label {properties}) 
SET node.property1 = value, node.property2 = value 
RETURN node 

示例

以下是一个示例 Cypher 查询,它使用 Neo4j 中的 SET 语句在节点中创建多个属性。

MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988})  
SET Jadeja.POB: "NavagamGhed", Jadeja.HS = "90" 
RETURN Jadeja

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

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

Browser App

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

Multiple Properties

结果

执行后,您将获得以下结果。在这里您可以观察到,名为 POB 和 HS 的属性已被创建。

Executing Properties

为节点设置标签

您可以使用 SET 语句为现有节点设置标签。

语法

以下是为现有节点设置标签的语法。

MATCH (n {properties . . . . . . . }) 
SET n :label 
RETURN n 

示例

在继续示例之前,请先创建一个名为“Anderson”的节点,如下所示。

CREATE (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"})

以下是一个示例 Cypher 查询,用于使用 SET 语句为节点设置标签。此查询将标签“player”添加到节点 Anderson 并返回它。

MATCH (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"}) 
SET Anderson: player 
RETURN Anderson 

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

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

Browser App

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

Label Node

结果

执行后,您将获得以下结果。在这里您可以观察到,名为“player”的标签已添加到节点中。

Added Player

为节点设置多个标签

您可以使用 SET 语句为现有节点设置多个标签。在这里,您需要使用冒号“:”分隔标签。

语法

以下是使用 SET 语句为现有节点设置多个标签的语法。

MATCH (n {properties . . . . . . . }) 
SET n :label1:label2 
RETURN n 

示例

在继续示例之前,请先创建一个名为“Ishant”的节点,如下所示。

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

以下是一个示例 Cypher 查询,用于使用 SET 语句在节点上创建多个标签。

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

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

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

Browser App

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

Multi Label

结果

执行后,您将获得以下结果。在这里您可以观察到,两个标签 - person 和 player - 已添加到名为Ishant的节点中。

Ishant Player
广告

© . All rights reserved.