如何在Java中编写gremlin jannusgraph谓词lt,lte,gte等?

时间:2019-03-01 15:03:46

标签: java gremlin janusgraph

我正在通过janusgraph数据库开发Java后端。

我需要用Java编写下面的gremlin查询。我知道janusgraph中有一个Compare Enum,其中包含lt,lte,eq ...,但是测试函数需要两个参数,因此我需要知道它是如何用Java编写的。

克里姆林宫语法:

 g.V().hasLabel("person").has("age", lte(29))

我猜在Janusgraph中!:

  g.V().hasLabel("person").has("age", Compare.lte.test({{XXX}},29))

将{{XXX}}替换为所查询的项目。

谢谢

1 个答案:

答案 0 :(得分:3)

我不确定我是否遵循您的问题,因为您的第一个查询是Java:

g.V().hasLabel("person").has("age", lte(29))

只要您使用以下方式静态导入P.lte

import static org.apache.tinkerpop.gremlin.process.traversal.P.lte;

您可以用这种方式编写遍历,它将正常工作。如果您不是静态导入该方法,则必须这样做:

g.V().hasLabel("person").has("age", P.lte(29))

无论哪种方式,您都需要导入P的某些方面。