使用gremlin查询将长值(历元)转换为日期格式

使用gremlin查询将长值(历元)转换为日期格式,gremlin,tinkerpop3,Gremlin,Tinkerpop3,我已经用长格式(历元)创建了顶点日期。我想使用gremlin查询将长值转换为特定的日期格式(YYYY-MM或YYYY-MM-DD)。映射或.transform不起作用。有人能帮忙吗。希腊语言没有内置的日期转换功能。如果您想在Gremlin中使用lambda,那么就必须使用lambda——对于Groovy,它看起来像: gremlin> g = TinkerGraph.open().traversal() ==>graphtraversalsource[tinkergraph[vert

我已经用长格式(历元)创建了顶点日期。我想使用gremlin查询将长值转换为特定的日期格式(YYYY-MM或YYYY-MM-DD)。映射或.transform不起作用。有人能帮忙吗。

希腊语言没有内置的日期转换功能。如果您想在Gremlin中使用lambda,那么就必须使用lambda——对于Groovy,它看起来像:

gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV('person').property('dob',Date.parse('yyyy-MM-dd','2018-10-01').getTime())
==>v[0]
gremlin> g.V().valueMap()
==>[dob:[1538366400000]]
gremlin> g.V().values('dob').map{new Date(it.get()).format('yyyy-MM-dd')}
==>2018-10-01

通过跳过Groovy提供的速记,只需在lambda中使用
SimpleDateTime
,就可以在Java中编写相同的代码。当然,TinkerPop建议不要使用lambdas,在这种情况下,我认为更好的解决方案是简单地将结果返回为
Long
,然后根据需要在客户端上转换一次。

Gremlin语言没有内置的转换日期的功能。如果您想在Gremlin中使用lambda,那么就必须使用lambda——对于Groovy,它看起来像:

gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV('person').property('dob',Date.parse('yyyy-MM-dd','2018-10-01').getTime())
==>v[0]
gremlin> g.V().valueMap()
==>[dob:[1538366400000]]
gremlin> g.V().values('dob').map{new Date(it.get()).format('yyyy-MM-dd')}
==>2018-10-01
通过跳过Groovy提供的速记,只需在lambda中使用
SimpleDateTime
,就可以在Java中编写相同的代码。当然,TinkerPop建议不要使用lambdas,在这种情况下,我认为更好的解决方案是简单地将结果返回为
Long
,然后根据需要在客户端上进行转换