Java OrientDB图形API:SQL查询的处理结果

Java OrientDB图形API:SQL查询的处理结果,java,orientdb,tinkerpop,Java,Orientdb,Tinkerpop,我正在探索与OrientDB图形交互的方法。我在编写java代码,所以我在使用某种java API。由于tinkerpop被描述为图形数据库的“JDBC”,因此我天真地认为这相当于执行一个查询,然后处理结果集 从图表中,我可以调用如下内容: graph.command(new OCommandSQL("SELECT FROM class")).execute(); 然后呢?“execute”方法返回一个对象,这不是很有帮助。通过打印出结果对象的类名,它似乎是一个“OrientDynaEleme

我正在探索与OrientDB图形交互的方法。我在编写java代码,所以我在使用某种java API。由于tinkerpop被描述为图形数据库的“JDBC”,因此我天真地认为这相当于执行一个查询,然后处理结果集

从图表中,我可以调用如下内容:

graph.command(new OCommandSQL("SELECT FROM class")).execute();
然后呢?“execute”方法返回一个对象,这不是很有帮助。通过打印出结果对象的类名,它似乎是一个“OrientDynaElementIterable”,不管它是什么


所以我不确定我是否理解如何运行查询,然后对结果进行迭代。总的来说,我实际上不理解tinkerpop,因为我正在处理一大堆特定于OrientDB的类,它们奇怪地是tinkerpop规范的一部分,那么这如何使我的代码可以跨图形数据库移植呢?

从图形命令中检索
顶点的
Iterable

for (Vertex v : (Iterable<Vertex>) graph.command
                       (new OCommandSQL("SELECT FROM class").execute()) {
     // Do something with vertex v
}
for(Vertex v:(Iterable)graph.command
(新的OCommandSQL(“从类中选择”).execute(){
//对顶点v做些什么
}

可以在以下示例中检索文档

for (Vertex v : (Iterable<Vertex>) graph.command(
            new OCommandSQL("SELECT EXPAND( out('bought') ) FROM Customer WHERE name = 'Jay'")).execute()) {
    System.out.println("- Bought: " + v);
}
for(Vertex v:(Iterable)graph.command(
新建OCommandSQL(“从客户中选择扩展(out('bunded'),其中name='Jay')))。执行(){
System.out.println(“-bunded:+v”);
}

是的,但是我怎么知道呢?我的意思是,我实际上怎么知道我会取回顶点实例,而不是其他任何东西?我根本找不到关于这方面的文档,而且这似乎是我想做的最基本的操作。使用控制台对于探索来说非常好,但实际上你需要API,就我所知在很大程度上undocumented@TomQuarendon我在answerFair中添加了对文档的引用,我错过了这个示例。我已经浏览了大量文档,但我错过了那个部分。