我想知道如何在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的新手,可能还有很多我还不知道的东西。
答案 0 :(得分:1)
针对Tinkerpop3 M6 / titan0.9 M1,以下内容应该有效:
Set<Vertex> vertices = graph.V().<Vertex>has("name", "jupiter").toSet();
大多数M6类型的问题都可以用类似的方式解决(参数化按预期类型生成元素的方法)。