Gremlin valueMap() 列表中的所有值

问题描述 投票:0回答:1

说我愿意

g.V().has("id", 1).valueMap().next()

结果全部在列表中:

{
  "id": [1],
  "name" ["node1"]
}

如何展开所有内部列表以使其显示:

{
  "id": 1,
  "name" "node1"
}
gremlin janusgraph
1个回答
4
投票

我认为您在某种意义上已经回答了您的问题 - 您使用

unfold()

g.V().has("id",1).
  valueMap().
    by(unfold())

该语法仅适用于 3.4.0,当

by()
调制器 添加到
valueMap()
时。在早期版本中,您仍然可以这样做,但它并不那么漂亮:

g.V().has("id",1).
  valueMap().
  unfold().
  group().
    by(keys).
    by(select(values).unfold())

如您所见,您基本上必须解构

Map
,然后用
group()
重建它。如果您有多个顶点,则需要隔离
unfold()
,因此:

g.V().
  map(valueMap().
      unfold().
      group().
        by(keys).
        by(select(values).unfold()))
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.