2016-10-17 4 views
-1

私は最短距離を得ることに問題があります。 クエリは正常に完了しましたが、Javaコンソールで出力を印刷できません 誰かが私を助けることができますか?Orientdbとshortestpath

 String query = "SELECT shortestPath((SELECT FROM V WHERE vertexID = 1), (SELECT FROM V WHERE vertexID = 4), 'BOTH')"; 
     Iterable<OrientVertex> res = db.command(new OCommandSQL(query)).execute(); 
while(res.iterator().hasNext()){ 
      OrientVertex v = res.iterator().next(); 
      System.out.println(v.getId()); 
      } 

私は、ブラウザ上でこの1だ:

をが、Javaコンソールに私はこの得た:

+0

[OrientDBでのクエリ](http://stackoverflow.com/questions/40039917/query-in-orientdb)の可能な複製 –

+0

コンソールではどうなりますか?何かエラーが出ているのですか?クエリはスタジオで動作しますか? –

+0

いいえ、これはmyqueryString query = "SELECT shortestPath((SELECT FROM V WHERE vertexID = 1)、(SELECT FROM V WHERE vertexID = 4)、 'BOTH')"です。問題は、ブラウザとJavaコンソールの結果が同じクエリで異なることです。ブラウザの結果は#10:0#11:0#9:1ですが、この結果は正しいですが、Javaコンソールの結果は#-2:1です。私は理由を理解していません – AlexandraLopez

答えて

0

は、このコードを試してみてください。

String query = "select expand(shortestPath) from (select shortestPath((SELECT FROM V WHERE vertexID = 1),(SELECT FROM V WHERE vertexID = 4),BOTH))"; 
    Iterable<OrientVertex> res = db.command(new OCommandSQL(query)).execute(); 
    while (res.iterator().hasNext()) { 
     OrientVertex v = res.iterator().next(); 
     System.out.println(v.getId()); 
    } 

希望します。