Neo4j-Cypher查询语言-更新图数据库&事务

更新图数据库
Cypher可以用于查询图,同时也可以更新图。
 
更新语句的结构
Quick info
  • 一个Cypher的查询块不能同时匹配和更新
  • 任何一个查询块可以读取和匹配图,或者更新图

如果你从图中读取数据,然后更新它,你的查询包括两块:第一块是读取数据,第二块是写入数据。如果查询只是读取,Cypher是lazy的,它直到你要获取结果时才会去做模式匹配。意思就是,所有的读操作必须在写操作发生前执行完毕,如果没有这个,一个数据还在创建过程中,matcher就开始执行了(where the pattern matcher runs into data that is being created by the very same query)


事务
任何的更新查询都会在事务下执行,更新操作要么全部成功,要么全部失败。
Cypher要么创建一个新事务,然后当查询完成后提交事务,要么,如果一个事务已经在运行环境中存在,查询语句就会在这个事务里执行,直到这个事务被提交,才会把数据持久化到硬盘上。
这可以在一个事务里执行并提交多个查询
  1. 打开一个事务
  2. 执行多个更新查询
  3. 统一提交

要注意:查询会在堆栈里保留所有变化直到整个查询执行完毕。所以,一个大的查询需要一个拥有大量堆栈空间的JVM

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值