AWS Neptune 事务支持

Tha*_*osG 4 gremlin amazon-neptune

Neptune目前只支持OLTP类型的图遍历查询?

但从文档来看:

事务 Neptune 在每次 Gremlin 遍历开始时打开一个新事务,并在成功完成遍历后关闭事务。当出现错误时,事务会回滚。

单个事务中包含由分号 (;) 或换行符 (\n) 分隔的多个语句。除最后一条语句之外的每个语句都必须以要执行的 next() 步骤结束。只返回最终的遍历数据。

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

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

g.V().has(id,'1').drop();
g.V().has(id,'2').drop();
Run Code Online (Sandbox Code Playgroud)

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

但对于添加顶点,它是有效的:

g.addV('item').property(id,'3').next()";
g.addV('item').property(id,'4').next()";
Run Code Online (Sandbox Code Playgroud)

两个顶点均已添加。

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

ste*_*tte 6

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

g.V().has(id,'1').drop().iterate();
g.V().has(id,'2').drop().iterate();
Run Code Online (Sandbox Code Playgroud)

鉴于您的示例addV()以及您在上次遍历中看到的行为drop()是唯一自动迭代的行为,这与 Gremlin Server 通常处理脚本请求的方式一致。我猜海王星也会以同样的方式发挥作用。