AWS Neptune事务支持

时间:2018-09-24 12:42:36

标签: gremlin amazon-neptune

海王星目前仅支持OLTP类型的图遍历查询?

但是来自documentation

  

交易   海王星会在每次Gremlin遍历开始时打开一个新事务,并在成功完成遍历后关闭该事务。发生错误时,事务将回滚。

     

在单个事务中包含用分号(;)或换行符(\ n)分隔的多个语句。除最后一个语句外,每个语句都必须以next()步骤结尾被执行。仅返回最终遍历数据。

     

不支持使用tx.commit()和tx.rollback()的手动事务逻辑。

用分号或换行符分隔的多个语句在单个事务中执行。那么,您可以在每个事务中执行多个查询吗?例如在一个脚本中有多个.drop()查询?

g.V().has(id,'1').drop();
g.V().has(id,'2').drop();

通过尝试上述操作,仅执行最后一个查询(仅删除id ='2'的顶点)。

但是对于添加顶点,它可以工作:

g.addV('item').property(id,'3').next()";
g.addV('item').property(id,'4').next()";

添加了两个顶点。

在单个事务中是否支持多个删除查询?

1 个答案:

答案 0 :(得分:2)

只是一个猜测,但我认为您可能需要遍历iterate(),因此:

g.V().has(id,'1').drop().iterate();
g.V().has(id,'2').drop().iterate();

给出带有addV()的示例,以及得到drop()的最后一次遍历的行为是唯一自动迭代的行为,这与Gremlin Server通常处理脚本的方式一致要求。我猜海王星会以同样的方式工作。