1

如何使用 AWS Neptune GDB 在 gremlin 控制台中将字符串值转换为整数类型。我有带有字符串值的属性“年龄”,需要将其转换为整数类型以进行查询中的数学运算。所有建议表示赞赏。

我尝试了以下 kelvin 建议的查询。但是得到了这些例外。

    gremlin> g.V(1).values('age').map{(String)it}.next()
    Script336735.groovy: 1: [Static type checking] - Inconvertible types:cannot cast org.apache.tinkerpop.gremlin.process.traversal.Traverser <E2 extends java.lang.Object> to java.lang.String
    gremlin> g.V(1).values('age').map{(Integer)it}.next()
    Script336963.groovy: 1: [Static type checking] - Inconvertible types: cannot cast org.apache.tinkerpop.gremlin.process.traversal.Traverser <E2 extends java.lang.Object> to java.lang.Integer

我的要求是将字符串值转换为整数/长

4

3 回答 3

4

谢谢开尔文。最后,此查询适用于 AWS-Neptune GraphDB。

gremlin> g.V(1).values('age').map{(''+it).toInteger()}
==>25

除了 toInteger(),我们可以使用其他类似的 java 方法。

于 2018-06-01T10:06:29.647 回答
2

我很好奇你为什么将一个年龄存储为一个字符串开始,但也就是说,如果你能够使用 Lambda,你可以在地图步骤中进行强制转换。这是我的航线图中的一个示例(跑道是整数类型):

gremlin> g.V(3).values('runways').map {(String)it}.next().class
==>class java.lang.String

干杯开尔文

于 2018-05-10T13:39:59.520 回答
0

根据https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.html#w3aac12c22c10c15c47

Neptune 不支持 Lambda 步骤。

如果我尝试上面的查询,我会得到:

无法解释 Gremlin 查询:查询解析失败...

这是过去支持的东西吗?

于 2021-01-13T13:44:47.680 回答