Как объединить несколько объектов в один в запросе gremlin? - PullRequest
1 голос
/ 27 мая 2020

Я выполнил объединение в своем запросе, который дает мне следующий результат

{
    key1 = value1,
    key2 = value2
},
{
    key3 = value3
}

Мне нужен следующий результат:

{
    key1 = value1,
    key2 = value2,
    key3 = value3
}

1 Ответ

1 голос
/ 27 мая 2020

Вы должны разбирать и восстанавливать карты. Эта операция подробно описана в Рецепты Гремлин , если вы хотите узнать больше.

Следующий код приведет вас к положению вашего 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...