Cypher的SET用法

作者: redcohen | 来源:发表于2019-03-22 10:45 被阅读9次

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

一个+=,性质完全不同了。三层含义:

  1. $map里面新的属性,意味着新增到n
  2. $map里面有,n里面也有的属性,意味着按照$map中的值进行更新
  3. n里面原有属性,而$map里面没有的,不动

第四种用法: 给一个节点增加一种label标签

SET n:FamousPerson

这个在实践中,很有用哦。

相关文章

网友评论

    本文标题:Cypher的SET用法

    本文链接:https://www.haomeiwen.com/subject/cqclvqtx.html