我想知道如何在 Gremlin 3.x 中应用类型过滤器GraphTraversal
。例如,让我们以众神图为例。
在这里,我们可以执行以下操作:
Set<Element> set = graph.V().has("name", "jupiter").toSet()
...并得到一个Set<Element>
. 我想要的是一个Iterable<Vertex>
替代(或 的子类Iterable
)。从遍历声明中,结果只能由顶点组成,因为.V()
运算符。由于 Java 类型系统,它被不必要地概括为Element
. 有没有办法输入过滤器?我想做的是沿着这些方向做的事情......
Set<Vertex> vertices = graph.V().has("name", "jupiter").cast(Vertex.class).toSet();
...但没有cast
操作员。最终,我想要这样做的原因是因为我需要在 foreach 循环中迭代生成的顶点,并且必须将循环变量向下转换为循环中的第一条语句很烦人。
我对替代方案持开放态度,我对 Gremlin 3 还是新手,可能还有很多事情我还不知道。