Java 使用gremlin/blueprints从OrientDB检索graphJson

Java 使用gremlin/blueprints从OrientDB检索graphJson,java,json,orientdb,gremlin,tinkerpop-blueprint,Java,Json,Orientdb,Gremlin,Tinkerpop Blueprint,我开始与orientDB合作,遇到了一个障碍,到目前为止,文档让我大吃一惊 我试图查询orientDB实例,并以graphJSON的形式返回响应,以便在基于d3.js的UI中对其进行可视化。 我在java应用程序中尝试了各种方法,可以检索返回的各个边和顶点的json: List<ODocument> result = graph.getRawGraph().query( new OSQLSynchQuery("traverse * from 12:0

我开始与orientDB合作,遇到了一个障碍,到目前为止,文档让我大吃一惊

我试图查询orientDB实例,并以graphJSON的形式返回响应,以便在基于d3.js的UI中对其进行可视化。 我在java应用程序中尝试了各种方法,可以检索返回的各个边和顶点的json:

List<ODocument> result = graph.getRawGraph().query(
                new OSQLSynchQuery("traverse * from 12:0 while $depth<=6"));
        ...
        System.out.println("json doc = " + doc.toJSON());
以及其他各种努力

在第二个示例中,有没有一种方法可以将图形子集化?我是否应该尝试将所有单独的JSON结果合并到一个graphJSON文件中?我是否应该尝试从查询结果创建一个新的临时图形,并将其输入GraphSONWriter

谢谢你的帮助

更新 首先,我使用第一种方法,然后迭代结果列表,构建自己的graphJSON。这似乎是一个相当糟糕的解决方案,但它已经打通了另外两个故事&让我们走了(在路上引入了技术债务)。我确实尝试了第二个选项,但即使返回完整的图形,它输出的“graphJSON”似乎也不是标准的(或者至少与我们d3库的解释不匹配)。似乎不太可能


任何建议都是非常受欢迎的-gremlin?

自此,我们已经开始在其他领域使用gremlin。我发现它使用起来非常得体,性能也非常好(这方面没有什么正式的规定),然而,gremlin似乎非常擅长于有针对性的查询。我们所能做的最好的事情就是在每个节点/边上循环并提取每个节点/边的数据。
GraphSONWriter writer = new GraphSONWriter(graph);
writer.outputGraph(outputStream, vertexPropertyKeys, edgePropertyKeys, EXTENDED);