Neo4j中使用Cypher进行更新操作

时间:2019-01-19
本文章向大家介绍Neo4j中使用Cypher进行更新操作,主要包括Neo4j中使用Cypher进行更新操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

更新相关操作

  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: "王五"})



作者:fanlehai
链接:https://www.jianshu.com/p/8873dc6672f4
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。