Neo4j如果节点存在,则添加/更新属性

use*_*627 13 neo4j cypher

我想update/enlarge通过上传该数据库的新版本或该数据库的一部分来访问我的Neo4j数据库.

什么我发现我可以使用MERGEadd只是如果他们不已经存在的新节点.但是在这个过程中,add如果现有节点不存在,我该如何以细长的方式使用新属性?

我,如果我有一个节点'John' of 'Age:34' and 'Hair:brown'并上传'John'/'Age:34'/'Coat:Yellow'- 我该怎么办'John'/'Age:34'/'Hair:brown'/'Coat:Yellow'

Dav*_*ett 26

您可以合并John上的节点(或主要标识属性).然后在成功合并后设置属性.

您可以使用所有属性的地图一次性设置它们

MERGE (n:Node {name: 'John'})
SET n = {name: 'John', age: 34, coat: 'Yellow', hair: 'Brown'}
RETURN n
Run Code Online (Sandbox Code Playgroud)

如果你只想更换年龄外套属性,你可以这样做.

MERGE (n:Node {name: 'John'})
SET n.age = 34, n.coat = 'Yellow'
RETURN n 
Run Code Online (Sandbox Code Playgroud)

或者您也可以将其添加为地图

MERGE (n:Node {name: 'John'})
SET n += {age: 34, coat: 'Yellow'}
RETURN n 
Run Code Online (Sandbox Code Playgroud)