我正在尝试为AWS Neptune创建一个gremlin查询,该查询检查节点上的特定属性(lastUpdated)并返回值小于某个数字的所有节点。 lastUpdated在这种情况下是epoch时间戳,我试图找到lastUpdated比当前时间戳少90天的所有节点。
这是我写的查询:
g.V().hasLabel('nodelabel').hasNot('lastUpdated',P.gt(1544916150)).count()
要使此查询动态化,以便无论何时触发,我都会将所有节点都超过90天,我将其更改为以下内容:
g.V().hasLabel('nodelabel').has('lastUpdated',not(P.gt(1552798296-7776000))).count()
其中1552798296是current_date,7776000是90天内的秒数
显然,减法在Gremlin中并不那么简单。关于如何编写这个gremlin查询的任何提示/建议?
谢谢
TinkerPop引入了一个数学()步骤几点发布。
你可以这样做:
gremlin> g.V().has('n').valueMap(true)
==>[id:58855,label:test,n:[5]]
==>[id:58857,label:test,n:[10]]
gremlin> g.V().values('n')
==>5
==>10
gremlin> g.V().values('n').math('_ -5')
==>0.0
==>5.0
gremlin> g.V().where(values('n').math('_ -5').is(gt(0)))
==>v[58857]