我们如何在 gremlin 中加入 2 个顶点并获得所需的输出

How can we join 2 vertices in gremlin and get the desired output

我有名为“test”和“check”的顶点

测试有像

这样的字段
g.V().hasLabel('test').valueMap(true).toList();

{ 'id': ['3130'], 'label': 'dev', 'mdate': ['2021-02-27T13:52:16.494Z'] , 'mby': ['sync'],
'id': 'e8bbf1e1-7240-b5f2-cd55-b8558b02a93f', 'bName': ['STG '] }

检查有像

这样的字段
 g.V().hasLabel('check').valueMap(true).toList();

{ 'label': 'stag', 'mdate': ['2021-02-27T13:52:15.817Z'], 'mby': ['Test'], 'vname': ['STROE GMBH'], 'vnum': ['170010'], 'id': 'dcbbf1e1-70f9-aeff-828e-130be0186d81' }

我们如何连接两个顶点并使用 gremlin 查询获取如下输出数据

{ 'id': '', 'label': '', 'mdate': '', 'mby': '', 'id':'' , 'name':'', 'vname':'', 'vnum': '' }

您可以通过获取他们的 elementMap 并使用 group 步骤合并结果来完成此操作。我包含了一个使用航线数据集的示例,因此您可以看到输出格式。我还添加了一个应该与您提供的数据一起使用的版本。

gremlin> g.V(3,4).elementMap().unfold().group().by(keys).by(values)

==>[country:[US,US],code:[AUS,BNA],longest:[12250,11030],city:[Austin,Nashville],lon:[-97.6698989868164,-86.678199768
0664],type:[airport,airport],elev:[542,599],icao:[KAUS,KBNA],id:[3,4],label:[airport,airport],region:[US-TX,US-TN],ru
nways:[2,4],lat:[30.1944999694824,36.1245002746582],desc:[Austin Bergstrom International Airport,Nashville Internatio
nal Airport]]   

使用你的例子你可以做到

g.V().hasLabel('test','check').
      elementMap().
      unfold().
      group().
        by(keys).
        by(values)