如何在 gremlin 查询中将多个对象合并为一个对象?

How to merge multiple objects into one, in gremlin query?

我在查询中执行了并集,得到了以下输出

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

我需要输出如下,

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

你必须解构和重建地图。如果您想阅读更多内容,请在 Gremlin Recipes 中详细描述此操作。

以下代码将您带到 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() 那些映射到映射条目(即 key/value 对)和 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]