Вы должны разбирать и восстанавливать карты. Эта операция подробно описана в Рецепты Гремлин , если вы хотите узнать больше.
Следующий код приведет вас к положению вашего union()
:
gremlin> x = [[key1:"value1",key2:"value2"],[key3:"value3"]]
==>[key1:value1,key2:value2]
==>[key3:value3]
gremlin> g.inject(x).unfold()
==>[key1:value1,key2:value2]
==>[key3:value3]
Затем вы просто unfold()
эти карты отображают записи (т.е. пары ключ / значение) и group()
их снова вместе:
gremlin> g.inject(x).unfold().unfold().group().by(keys).by(values)
==>[key1:[value1],key2:[value2],key3:[value3]]
gremlin> g.inject(x).unfold().unfold().group().by(keys).by(select(values))
==>[key1:value1,key2:value2,key3:value3]