Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java gremlin将字符串属性转换为数字属性_Java_Gremlin_Tinkerpop3_Amazon Neptune - Fatal编程技术网

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

Java gremlin将字符串属性转换为数字属性,java,gremlin,tinkerpop3,amazon-neptune,Java,Gremlin,Tinkerpop3,Amazon Neptune,目前我有一个以时间戳作为字符串属性的图 g.V().order().by('timestamp', '10') 这会导致排序时出现问题,因为字符串排序不同于数字排序 String sorting : 1, 10, 2 Numeric sorting : 1, 2, 10 是否有任何方法可以将所有时间戳属性转换为gremlin中的Long(数值),或者如何查询gremlin以使用数值排序。开放接受建议 如果我将Order.desc与timestamp属性一起使用,它会引发空指针异常,但Ord

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

g.V().order().by('timestamp', '10')
这会导致排序时出现问题,因为字符串排序不同于数字排序

String sorting  : 1, 10, 2
Numeric sorting : 1, 2, 10
是否有任何方法可以将所有时间戳属性转换为gremlin中的Long(数值),或者如何查询gremlin以使用数值排序。开放接受建议

如果我将Order.desc与timestamp属性一起使用,它会引发空指针异常,但Order.decr工作正常。有什么想法吗?
提前感谢。

如果要将所有字符串转换为整数,最简单的方法是在应用程序中按照以下步骤进行:

  • 使用Gremlin获取属性
  • 在应用程序中将其转换为整数
  • 使用Gremlin写回值并替换上一个值(确保使用Cardinality.single关键字)
  • 另一种方法是将图形导出为CSV,更新CSV并重新加载。根据图表的大小,这可能是一个更好的选择

    另一种方法是使用内联代码(lambdas),但如果您使用的是Amazon Neptune,则这是不允许的,因为它们是不允许的

    至于Order.decr和Order.desc,除非您的Neptune引擎版本或Gremlin客户端版本在相当长的一段时间内落后,否则它们都应该工作