Gremlin AWS Neptune事务支持

Gremlin AWS Neptune事务支持,gremlin,amazon-neptune,Gremlin,Amazon Neptune,Neptune目前只支持OLTP类型的图遍历查询 但来自: 交易 海王星在每次小精灵穿越开始时打开一个新的事务,并在成功完成穿越后关闭该事务。出现错误时,事务将回滚 一个事务中包含多个由分号(;)或换行符(\n)分隔的语句。除最后一个语句外,其他语句都必须以要执行的下一个()步骤结束。只返回最终的遍历数据 不支持使用tx.commit()和tx.rollback()的手动事务逻辑 在一个事务中执行多个以分号或换行符分隔的语句。那么,每个事务可以执行多个查询吗?例如,在单个脚本中执行多个.drop

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

但来自:

交易 海王星在每次小精灵穿越开始时打开一个新的事务,并在成功完成穿越后关闭该事务。出现错误时,事务将回滚

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

不支持使用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()";
将添加两个顶点


在一个事务中是否支持多个delete查询?

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

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

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

谢谢!成功了。我最后错误地尝试了.next()。从文档中可以看出:
iterate()不完全符合终端步骤的定义,因为它不返回结果,但仍然返回遍历-但它的行为与终端步骤相同,因为它迭代遍历并生成副作用而不返回实际结果。