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