Neo4j Set 子句

使用 Set 子句,我们可以向现有节点或关系添加新属性,还可以添加或更新现有属性值。

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

  • 设置属性
  • 删除属性
  • 设置多个属性
  • 在节点上设置标签
  • 在一个节点上设置多个标签

设置属性

使用 SET 子句,我们可以在节点中创建新属性。

语法

以下是设置属性的语法。

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

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

CREATE (Jiyik:player{name: "迹忆客", YOB: 1985, POB: "Delhi"})

以下是一个CQL示例,用于创建名为“website”且值为 www.jiyik.com 的属性。

MATCH (Jiyik:player{name: "迹忆客", YOB: 1985, POB: "Delhi"}) 
SET Jiyik.website = "www.jiyik.com"
RETURN Jiyik

执行完成后,我们将得到以下结果。 在这里,可以观察到在名为“Jiyik”的节点中创建了一个具有键值对 website = "www.jiyik.com" 的属性。

neo4j 设置属性


删除属性

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

语法

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

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

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

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

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

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

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

neo4j 移除属性


设置多个属性

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

语法

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

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

示例

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

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

执行完成之后,将得到以下结果。 在这里,我们可以观察到创建了名为 POBHS 的属性。

neo4j 设置多个属性


在节点上设置标签

我们可以使用 SET 子句为现有节点设置标签。

语法

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

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

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

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

以下是使用 SET 子句在节点上设置标签的 CQL 示例 。 此查询将标签“player”添加到节点 Anderson 并返回它。

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

执行时,将得到以下结果。 在这里,我们可以观察到名为“player”的标签被添加到节点中。

neo4j 给节点设置标签


在一个节点上设置多个标签

我们可以使用 SET 子句为现有节点设置多个标签。 在这里,需要通过用冒号 : 分隔标签来指定标签。

语法

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

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

示例

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

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

以下是一个 CQL 示例,用于使用 SET 子句在节点上创建多个标签。

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

执行完成后,我们将得到以下结果。 在这里,可以观察到两个标签 - personplayer - 被添加到名为 Ishant 的节点中。

neo4j 节点设置多个标签

查看笔记

扫码一下
查看教程更方便