📜  Neo4j SET子句

📅  最后修改于: 2020-11-25 00:59:05             🧑  作者: Mango

Neo4j SET子句

SET子句用于向现有节点或关系添加新属性。它还会添加现有的属性值。

使用SET命令可以执行以下操作:

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

设置属性

SET子句用于在节点中创建新属性。

句法:

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

例:

首先在Neo4j数据库中创建一个名为“ Hardik”的节点。

CREATE (Hardik:player{name: "Hardik Pandya", YOB: 1992, POB: "Gujrat"})

创建一个名为“ hat-trick”的属性。值为“ 666”。

MATCH (Hardik:player{name: "Hardik Pandya", YOB: 1992, POB: "Gujrat"}) 
SET Hardik.hattrick = 666
RETURN Hardik

输出:

在这里,您可以看到在名为“ Hardik”的节点中创建了具有键/值对hattrick / 666的属性。

删除财产

您必须传递NULL作为值,以从节点中删除现有属性。

句法:

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

例:

首先创建一个节点“ Dhoni”,如下所示:

Create (Dhoni:player {name: "Mahendra Singh Dhoni", YOB: 1978, POB: "Bihar"}) 

输出:

现在,使用SET子句从此节点删除名为POB的属性,如下所示:

MATCH (Dhoni:player {name: "Mahendra Singh Dhoni", YOB: 1978, POB: "Bihar"}) 
SET Dhoni.POB = NULL 

输出:

您可以看到POB现在已删除。

设置多个属性

您可以使用SET子句创建多个属性。您只需用逗号指定这些键值对。

句法:

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

例:

使用Neo4j中的SET子句在节点中创建多个属性:

MATCH (Dhoni:player {name: "Mahendra Singh Dhoni", YOB: 1978})  
SET Dhoni.HS = "183" 
RETURN Dhoni 

输出:

在节点上设置标签

SET子句可用于为现有节点设置标签。

句法:

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

首先创建一个节点吗?如下:

CREATE (Ganguly {name: "Saurav Ganguly", YOB: 1968, POB: "Kolkata"})

现在,使用SET子句在节点上设置标签。此查询将标签“ player”添加到节点Ganguly并返回它。

MATCH (Ganguly {name: "Saurav Ganguly", YOB: 1968, POB: "Kolkata"}) 
SET Ganguly: player 
RETURN Ganguly 

输出:

在节点上设置多个标签

您可以使用SET子句在一个节点上设置多个标签。您必须通过用冒号“:”分隔标签来指定标签。

句法:

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

例:

首先创建一个名为“ Chetan”的节点,如下所示:

CREATE (Chetan {name: "Chetan Sharma", YOB: 1958, POB: "Delhi"}) 

使用SET子句在一个节点上创建多个标签。

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

输出: