2016-12-12 14 views
0

私はOrientDBグラフと対話する方法を模索しています。私はJavaコードを書いているので、私はいくつかの種類のJava APIを使用しています。 tinkerpopはグラフデータベースの "JDBC"として記述されているので、クエリを実行してから結果セットを処理するのと同等の処理が行われるとは思いませんでした。OrientDBグラフAPI:SQLクエリの処理結果

グラフから、私のような何かを呼び出すことができます。そして、

graph.command(new OCommandSQL("SELECT FROM class")).execute(); 

何を? "execute"メソッドはObjectを返しますが、あまり役に立ちません。結果オブジェクトのクラス名を印刷することによって、それはどんなものであれ、 "OrientDynaElementIterable"のように見えます。

私はどのようにクエリを実行し、結果を反復処理するのか分かりません。一般的に私は実際にはtinkerpopを理解していません.Tinkerpop仕様の一部であるOrientDB固有のクラスの負荷に対処しているので、グラフのデータベース間でコードを移植することができますか?

答えて

1

グラフコマンドからVertexIterableを取得します。

for (Vertex v : (Iterable<Vertex>) graph.command 
         (new OCommandSQL("SELECT FROM class").execute()) { 
    // Do something with vertex 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); 
} 
+0

を見つけることができhereを取得することができますが、どのように私はそれを知っていますか?私は実際には、私がVertexインスタンスを何か他のものに戻すことを実際に知っている方法を知っていますか?私はこれに関する文書を全く見つけることができず、私がしたいと思う最も基本的な操作のように思えます。コンソールを使用することはすべて探求のためには非常に便利ですが、現実にはAPIが必要です。それは大部分が文書化されていません。 –

+0

@TomQuarendon答えにドキュメントへの参照を追加しました –

+0

十分に、私はその例を逃しました。私は多くのドキュメントを見てきましたが、私はそのことを忘れました。 –

関連する問題