Gremlin - Neptune - 如何正确返回顶点集属性。

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

我有一个顶点,其属性如下。

名称 - 类型 - 核心度

prop_1 - 字符串 - 单个

prop_2 - 字符串 - 设置

当我返回上述顶点的value-map时,值没有以正确的格式返回。

  • 使用valueMap().by(unfold())正确地将prop_1作为单个String值返回,但只返回prop_2的第一个元素,即String的集合。
  • 简单地使用valueMap()将prop_1作为字符串数组返回,将prop_2的所有值作为字符串数组返回。

我知道如果我显式地提到单卡性属性来展开,我可以得到我想要的结果,但是我们使用的gremlin查询是通用的(动态生成的),用于不同的顶点,具有不同的属性,这在返回语句中不能显式地提到属性。

有没有一种方法可以返回单项和集合的卡林属性,以正确的数据类型表示来返回?

amazon-web-services amazon gremlin amazon-neptune
1个回答
5
投票

你可以根据属性中的值的数量来做。

(这可能会导致与一个只包含1个值的集合值不一致......)

g.V().valueMap().by(choose(
      count(local).is(eq(1)),
      unfold()
      identity()
    ))

例子 https:/gremlify.com@noam621b9

© www.soinside.com 2019 - 2024. All rights reserved.