
上QQ阅读APP看书,第一时间看更新
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给一个节点设置多个标签时,不同的标签之间用冒号分隔。
查询:

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