SET这个操作,真的很厉害,一定要对它有深刻的认识和掌握。
先看下refcard中的示例代码
SET n.property1 = $value1,
n.property2 = $value2
Update or create a property.
SET n = $map
Set all properties. This will remove any existing properties.
SET n += $map
Add and update properties, while keeping existing ones.
SET n:Person
Adds a label Person to a node.
这个refcard写的真是超级棒。其实有经验的程序员一看就懂了。不过,我还是稍微啰嗦解读一下下。
第一种用法:更新或者新建一个节点的属性
也就是这两句,
SET n.property1 = $value1,
n.property2 = $value2
如果n这个节点之前就有property1,property2这两个属性,那么就会更新它的值,如果没有,那就是新建属性。
特别注意,后面$value
告诉大家,=
后面是值类型。
第二种用法: 设置节点所有属性
SET n = $map
这个操作会把n所有的老属性全部覆盖,然后赋以新的属性/属性值,大家注意,=
后面是map型。
第三种用法: 增加&更新节点属性
SET n += $map
一个+=
,性质完全不同了。三层含义:
-
$map
里面新的属性,意味着新增到n
-
$map
里面有,n
里面也有的属性,意味着按照$map
中的值进行更新 -
n
里面原有属性,而$map
里面没有的,不动
第四种用法: 给一个节点增加一种label标签
SET n:FamousPerson
这个在实践中,很有用哦。
网友评论