3.3.9 SET语句

SET语句用于更新节点的标签以及节点和关系的属性。SET可以使用map中的参数来设置属性。

提示:设置节点的标签是幂等性操作,即如果试图设置一个已经存在的标签到节点上,则什么也不会发生。查询统计会自己判断是否需要处理。

SET图例如图3-12所示。

图3-12 SET图例

3.3.9.1 设置属性

可以使用SET设置节点或者关系的属性。

查询:

返回最新修改过的节点。

结果:

3.3.9.2 删除属性

通常使用REMOVE来删除一个属性,但有时候也可以随手使用SET。如果属性设置为null,将删除该属性。如下所示。

查询:

设置name属性为空之后,name属性则被删除了。

结果:

3.3.9.3 在节点和关系间复制属性

可以使用SET复制一个图元素的所有属性到另外一个图元素。记住,这样做会删除目标元素的所有其他属性。

查询:

Andres节点的所有属性将被Peter节点的属性替换了。

结果:

3.3.9.4 从map中添加属性

当用map来设置属性时,可以使用+=形式的SET,用于只添加属性,而不删除图元素中已存在的属性。

查询:

结果:

3.3.9.5 使用参数设置属性

可以使用参数来给属性赋值。

参数:

查询:

Andres节点新增一个surname属性。

结果:

3.3.9.6 使用一个参数设置所有属性

使用参数提供的属性集合来设置节点的属性时,该节点已存在的所有属性将被替换掉。

参数:

查询:

Andres节点的所有属性都被替换为props参数中的属性了。

结果:

3.3.9.7 使用一个SET语句设置多个属性

如果想一次设置多个属性,则使用逗号分开即可。

查询:

结果:

3.3.9.8 设置节点的标签

用SET可给节点设置标签。

查询:

查询将返回新增了标签的节点。

结果:

3.3.9.9 给一个节点设置多个标签

使用SET给一个节点设置多个标签时,不同的标签之间用冒号分隔。

查询:

查询将返回新增多个标签的节点。

结果: