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

Prepare gremlin query before specifying to query edges or vertices

我正在使用 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)

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);

详情可参考官方documents.