gremlin将字符串属性转换为数值属性

bis0qfac  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(550)

目前我有一个以时间戳作为字符串属性的图

g.V().order().by('timestamp', '10')

这会导致排序时出现问题,因为字符串排序不同于数字排序。

String sorting  : 1, 10, 2
Numeric sorting : 1, 2, 10

在gremlin中是否有任何方法可以将所有时间戳属性转换为long(数字)或如何查询gremlin以使用数字排序。开放供建议。
如果我将order.desc与timestamp属性一起使用,它将引发空指针异常,但order.decr可以正常工作。你知道吗?提前谢谢。

bwitn5fc

bwitn5fc1#

如果要将所有字符串转换为整数,最简单的方法是在应用程序中按照以下行进行:
使用gremlin获取属性
在应用程序中将其转换为整数
使用gremlin写回值并替换上一个值(确保使用cardinality.single关键字)。
另一种方法是将图形导出到csv,更新csv并重新加载它。根据图形的大小,这可能是一个更好的选择。
另一种方法是使用内嵌代码(lambdas),但是如果您使用的是amazon neptune,那么这是不允许的。
至于order.decr和order.desc都应该可以工作,除非你的neptune引擎版本或者gremlin客户端版本在相当长的一段时间内处于后台。

相关问题