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"})
输出:
现在从此删除名为POB的属性节点使用SET子句的方式如下:
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
输出: