将Gremlin与Java API一起用于OrientDB

时间:2013-01-23 14:07:27

标签: traversal gremlin 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);

我可以得到脚本的最终结果,但为什么我不能得到“聚合”结果?我怎么能得到它?

我真的很陌生。提前谢谢!

1 个答案:

答案 0 :(得分:1)

https://github.com/nuvolabase/orientdb/wiki/Gremlin这里说输出只能通过传递给ScriptEngine的参数声明,输出必须是HashMap。希望OrientDB团队将在下一版本中加强这一功能。