美文网首页
Neo4j中使用Cypher进行更新操作

Neo4j中使用Cypher进行更新操作

作者: fanlehai | 来源:发表于2019-01-18 08:02 被阅读111次

    简介:Neo4j中使用Cypher进行更新操作
    learn-anything | 2019年01月18日08:02:38


    更新相关操作
    1. 更新和添加一个属性

      • 创建一个节点,只有一个属性name='张三'

        CREATE ({name:'张三'})

      • 给创建的"张三"节点,添加一个属性age=20,修改name属性值为"李四"

        MATCH (n {name:'张三'}) 
        SET n.name='李四'
        SET n.age=20 
        RETURN n
        
    2. 修改节点信息,覆盖节点属性

      • 该语句会直接删除掉name属性,新增age属性
          MATCH (n {name:'张三'}) 
          SET n={age:20}
        
    3. 修改节点信息,新增节点属性

      • 该语句不会删除掉name属性,而是在节点中新增age属性
        MATCH (n {name:'张三'}) SET n += {age:20} 
        RETURN n
        
    4. 为节点添加新标签

      • 添加一个标签

        MATCH (n{name:'张三'}) SET n:Person RETURN n
        
      • 添加多个标签

        MATCH (n{name:'张三'}) SET n:Person:Student RETURN n
        
    5. 为已经存在的两个节点添加关系

      MATCH (a:Person {name: "张三"}),
          (b:Person {name: "李四"})
      MERGE (a)-[r:FRIENDS]->(b)
      
    6. 匹配一个节点,更新属性如果属性不存在则创建该属性

      MERGE (n:Person {name: "张三"})
        ON CREATE SET n.created = timestamp()
        ON MATCH SET
          n.counter = coalesce(n.counter, 0) + 1,
          n.accessTime = timestamp()
      
    7. 匹配一个节点为他创建一个新的关系

      • 如果没有"王五"节点则创建一个新的
      MATCH (a:Person {name: "张三"})
          MERGE
          (a)-[r:KNOWS]->(b:Person {name: "王五"})
      

    相关文章

      网友评论

          本文标题:Neo4j中使用Cypher进行更新操作

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