OrientDB中的Java Gremlin API遍历

时间:2018-06-19 16:01:57

标签: java graph orientdb gremlin tinkerpop

我对在OrientDB中将Gremlin API与Jav​​a结合使用存在疑问。 因此,我创建了一个GremlinPipeline对象,从该管道对象中我想跳到下一个顶点:

GremlinPipeline pipe = new GremlinPipeline();
pipe.start(graph.getVertex("#18:0"));
pipe.out();

输出:

v(TokenClass)[#19:0]
v(TokenClass)[#19:1]
v(TokenClass)[#19:2]

使用此代码,就我而言,它返回三个顶点,到目前为止是完美的。现在,我想再次遍历每个返回的顶点,并将每个结果保存在单独的List中。 我该如何实施? 我是否为每个顶点创建了一个新的GremlinPipeline对象,还是有一个嵌套的GremlinPipeline函数?

非常感谢

Sedir Mohammed

1 个答案:

答案 0 :(得分:0)

好的,这是我网站上的误会。 GremlinPipeline返回Vertex个对象。关键在于,如果我们要开始一个新的GremlinPipeline,我们只需要返回的顶点之一,所以我们不需要对OrientDB进行新的调用来检索所需的顶点。我们已经有Vertex个对象来开始新的GremlinPipeline。例如,它看起来像这样:

GremlinPipeline pipe = new GremlinPipeline();

pipe.start(graph.getVertex("#18:0"));
pipe.out();

List<Vertex> currentTokenList = pipe.toList();
for (Vertex currentToken : currentTokenList) { //with the currentToken we can start a new GremlinPipeline
    System.out.println("aktuelles Token " + currentToken);
    GremlinPipeline pipe2 = new GremlinPipeline();
    pipe2.start(currentToken);
    pipe2.out();
    List<Vertex> currentRIDList = pipe2.toList();
    for (Vertex ridVertex : currentRIDList) {
        System.out.println(ridVertex);
    }
}