本文概述
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
输出
