首页 > 解决方案 > 在指定查询边或顶点之前准备 gremlin 查询

问题描述

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

谢谢

标签: gremlintinkerpopjanusgraph

解决方案


您可以使用这样的代码(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);

详细信息可以在官方文档中找到。


推荐阅读