在指定查询边或顶点之前,请准备gremlin查询

在指定查询边或顶点之前,请准备gremlin查询,gremlin,tinkerpop,janusgraph,Gremlin,Tinkerpop,Janusgraph,我正在使用janusgraph开发我的java后端。在指定查询边或顶点之前,我想准备对元素的查询,而不管是边还是顶点。这将使我在代码中在属性上动态构建查询时具有灵活性 所以我的问题是,在从V或E开始之前,我可以使用gremlin准备查询吗? 例如,如果我想对边和顶点应用相同的查询,我将写: g.V().has("p1","v1").has("p2","v1").has("p3","v1") g.E().has("p1","v1").has("p2","v1").has("p3","v1") 我

我正在使用janusgraph开发我的java后端。在指定查询边或顶点之前,我想准备对元素的查询,而不管是边还是顶点。这将使我在代码中在属性上动态构建查询时具有灵活性

所以我的问题是,在从V或E开始之前,我可以使用gremlin准备查询吗?

例如,如果我想对边和顶点应用相同的查询,我将写:

g.V().has("p1","v1").has("p2","v1").has("p3","v1")
g.E().has("p1","v1").has("p2","v1").has("p3","v1")
我想要的是这样的东西

gt = grahTraversal.has("p1","v1").has("p2","v1").has("p3","v1")
gt.E()
gt.V()

谢谢

您可以像这样使用代码(JAVA)


详细信息可以在官方网站上找到。

这很好,我尝试过,但我正在构建。有条件使用动态循环,但我得到了这个错误
遍历策略已完成,无法再调整遍历。
有什么想法吗?我找到了从另一个遍历克隆遍历的方法,解决了问题第一条评论中的问题<代码>.\u.start().asAdmin().clone()
import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*;

...

GraphTraversal g = __.has("p1","v1").has("p2","v1").has("p3","v1");
resultG = grahTraversal.E().where(g);
resultG = grahTraversal.V().where(g);