Gremlin 3中的类型过滤步骤?

时间:2015-05-27 14:32:34

标签: java graph-databases gremlin tinkerpop3

我想知道如何在Gremlin 3.x c:>first_twofiles.bat 1.dir name $Recycle.Bin 2.dir name Automation_Framework中应用类型过滤器。例如,我们将Graph of the Gods视为示例图。

在这里,我们可以执行以下操作:

GraphTraversal

...并获得Set<Element> set = graph.V().has("name", "jupiter").toSet()我想要的是Set<Element>而不是(或Iterable<Vertex>的子类)。从遍历声明中,由于Iterable运算符,结果只能包含顶点。由于Java类型系统,它被不必要地推广到.V()。有没有办法过滤这个?我想做的是沿着这些方向......

Element

...但是没有Set<Vertex> vertices = graph.V().has("name", "jupiter").cast(Vertex.class).toSet(); 运算符。最终,我想要这样做的原因是因为我需要在foreach循环中迭代结果顶点,并且必须向下转换循环变量,因为循环中的第一个语句很烦人。

我愿意接受替代方案,我还是Gremlin 3的新手,可能还有很多我还不知道的东西。

1 个答案:

答案 0 :(得分:1)

针对Tinkerpop3 M6 / titan0.9 M1,以下内容应该有效:

Set<Vertex> vertices = graph.V().<Vertex>has("name", "jupiter").toSet();

大多数M6类型的问题都可以用类似的方式解决(参数化按预期类型生成元素的方法)。