Используйте Gremlin с Java API для OrientDB

Я использую Gremlin для обхода OrientDB, но я не совсем понимаю демонстрационный код отсюда OrientDB Gremlin Wiki
Вот мой код, что с ним не так?

            // create sample node and edge
        graph = new OrientGraph("local:C:/temp/graph/db");
        Vertex v1 = graph.addVertex(null);
        v1.setProperty("name", "A");
        Vertex v2 = graph.addVertex(null);
        v2.setProperty("name", "B");
        Vertex v3 = graph.addVertex(null);
        v3.setProperty("name", "C");
        graph.addEdge(null, v1, v2, "KNOWS");
        graph.addEdge(null, v1, v3, "KNOWS");

        OGremlinHelper.global().create();
        OCommandGremlin command = new OCommandGremlin("g.v('#8:0').out('KNOWS').aggregate(x).has('name',name)");
        Map<String, Object> params = new HashMap<String, Object>();
        List agg = new ArrayList();
        params.put("x", agg);
        params.put("name", "B");            
        Vertex vertex = graph.getRawGraph().command(command).execute(params);
        System.out.println(vertex);
        System.out.println(agg);

Я могу получить окончательный результат сценария, но почему я не могу получить «совокупный» результат? Как я могу это получить?

Я действительно новичок в этом. Заранее спасибо!


person niklaus    schedule 23.01.2013    source источник


Ответы (1)


https://github.com/nuvolabase/orientdb/wiki/Gremlin Здесь сказано, что вывод может быть объявлен только с параметрами, переданными в ScriptEngine, и на выходе должен быть HashMap. Надеюсь, команда OrientDB улучшит это в следующей версии.

person niklaus    schedule 24.01.2013