2016-12-12 5 views
0

OrientDB 그래프와 상호 작용하는 방법을 모색 중입니다. 자바 코드를 작성 중이므로 어떤 종류의 자바 API를 사용하고 있습니다. tinkerpop은 그래프 데이터베이스의 "JDBC"로 설명되기 때문에 쿼리를 실행 한 다음 결과 집합을 처리하는 것과 동일한 기능이 있다고 가정했습니다. 그리고 무엇OrientDB Graph 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 EXPAND(out('bought')) FROM Customer WHERE name = 'Jay'")).execute()) { 
    System.out.println("- Bought: " + v); 
} 
+0

예를 찾을 수있는

for (Vertex v : (Iterable<Vertex>) graph.command (new OCommandSQL("SELECT FROM class").execute()) { // Do something with vertex v } 

문서

here를 검색 할 수 있습니다,하지만 난 그것을 어떻게 알 수 있습니까? 나는 다른 어떤 것보다 Vertex 인스턴스를 다시 얻을 수 있다는 것을 실제로 어떻게 알 수 있습니까? 이 문서는 전혀 찾을 수 없으며 가장 기본적인 작업을하고 싶습니다. 콘솔을 사용하는 것이 모두 탐험에 매우 적합하지만, 실제로는 API가 필요합니다. 내가 볼 수있는 한 크게 밝혀졌습니다. –

+0

@TomQuarendon 답변에있는 설명서에 대한 참조를 추가했습니다. –

+0

충분히보기, 나는 그 예를 놓쳤습니다. 많은 문서를 살펴 봤지만 그 부분을 놓쳤습니다. –