Gremlin 查询无意中迭代了整个图

Gremlin query unintentionally iterates whole graph

我正在尝试在单个查询中插入两个顶点。我正在执行以下查询,但第二个顶点以某种方式迭代了整个图(请参阅从 executeprofile 中截取的图像)。

我哪里误会了?

g
  .V('1')
  .fold()
  .coalesce(
    unfold(),
    addV('Company').property('id', '1').property('pk','1')
  )
  .aggregate('a')
  .V('2')
  .fold()
  .coalesce(
    unfold(), 
    addV('Person').property('id', '2').property('pk', '2')
  )
  .as('b')

最终,我设法找到了解决方案,尽管不是原因。

我(大致)转换为:

g
  .V('1')
  .fold()
  .coalesce(
    g.V('1'),
    addV('Company').property('id', '1').property('pk','1')
  )
  .aggregate('a')
  .coalesce(
    g.V('2'), 
    addV('Person').property('id', '2').property('pk', '2')
  )
  .as('b')

所以基本上删除了第二个 .V('2') 并将其放入合并中。我想一定有什么方法可以删除第一个 V('1'),但我还没有完全弄明白。