Gremlin查询(AWS Neptune)中的减法

时间:2019-03-17 05:50:19

标签: amazon-web-services gremlin subtraction amazon-neptune

我正在尝试为 AWS Neptune 创建 gremlin查询,该查询将检查节点上的特定属性(lastUpdated)并返回所有值小于一定数量。 在这种情况下,lastUpdated是纪元时间戳,我正在尝试查找所有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查询的任何提示/建议?

谢谢

1 个答案:

答案 0 :(得分:0)

TinkerPop引入了math()步骤,释放了一些点。

您可以执行以下操作:

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]