是否可以在 gremlin 中更改顶点之间的边

Is it possible to change edges between vertices in gremlin

我有一个场景,我可能需要更新已存在边的 from/to 顶点。我认为 gremlin 中没有任何机制可以这样做。那么,实现此类功能的理想方法是什么?我能想到的是-

这是一种有效的方法吗?

查看 Gremlin 文档中发布的以下移动边的方法。

“marko”顶点包含到“vadas”顶点的“知道”边。以下代码显示了如何在一次遍历中将该边“移动”到“peter”顶点:

g.V().has('name','marko').as('a').
       outE('knows').as('e1').filter(inV().has('name','vadas')).
       V().has('name','peter').
       addE('knows').from('a').as('e2').
       sideEffect(select('e1').properties().
                  unfold().as('p').
                  select('e2').
                  property(select('p').key(), select('p').value())).
       select('e1').drop()

来源:https://tinkerpop.apache.org/docs/current/recipes/#edge-move