Tinkerpop Gremlin:将多个 select 查询批处理为一批 select 查询

Tinkerpop Gremlin: Batching of multiple select query into one batch select query

在 Tinkerpop Gremlin 中, 我有两个 select 查询

  1. g.V().has("id","foo").out().values("x").toList();
  2. g.V().has("bar","foo").out().values("id").toList();

现在我们可以将这些查询合并到一个批处理的 tinkerpop gremlin 中吗? 我试过 g.V().has("id","foo").out().values("x").union(__.V().has("bar","foo").out().values("id")).toList()

但这会导致单个列表而不是两个单独的列表。我想分别提取这两个查询的响应。

您可以使用一些虚拟值开始遍历,然后 union() 将两个遍历放在一起:

gremlin> g.inject(0).union(V(1).out().fold(),V(2).in().fold())
==>[v[3],v[2],v[4]]
==>[v[1]]