海王星目前仅支持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()";
添加了两个顶点。
在单个事务中是否支持多个删除查询?
答案 0 :(得分:2)
只是一个猜测,但我认为您可能需要遍历iterate()
,因此:
g.V().has(id,'1').drop().iterate();
g.V().has(id,'2').drop().iterate();
给出带有addV()
的示例,以及得到drop()
的最后一次遍历的行为是唯一自动迭代的行为,这与Gremlin Server通常处理脚本的方式一致要求。我猜海王星会以同样的方式工作。