2016-01-02 10 views
5

Jak pobrać dokument/obiekt OrientDB lub obiekt wykresu przy użyciu jego identyfikatora rekordu? (Język: Java)W jaki sposób mogę wysłać zapytanie do obiektu GraphDB Vertex o ID rekordów w Javie?

Mam na myśli metody http://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-Record-ID.html i Vertex.getId()/Edge.getId().

Jest to podobne do zapytania SQL "SELECT * from aTable WHERE ID = 1".

Opis użycia/celu: Chcę przechowywać wygenerowany identyfikator po jego utworzeniu przez OrientDB, a następnie pobrać ten sam obiekt przy użyciu tego samego identyfikatora.

Odpowiedz

1

(1) Proponuję użyć OrientDB 2.1, a jego dokumentacja, np. http://orientdb.com/docs/2.1/Tutorial-Record-ID.html

(2) Ze swojego wpisu nie jest dla mnie jasne, czy potrzebujesz pomocy w uzyskaniu RID z wyników zapytania lub wyszukiwania obiektu z RID, więc pozwól mi zacząć od stwierdzenia, że ​​ten pierwszy może zostać zrealizowany jak pokazano w tym przykładzie (w przypadku zapytania INSERT):

ODocument result=db.command(new OCommandSQL(<INSERTQUERY>)).execute(); 

System.out.println(result.field("@rid")); 

Odwrotnie, istnieje kilka podejść. I sprawdzeniu, że następujące działa przy użyciu wersji 2.1.8:

OrientGraph graph = new OrientGraph("plocal:PATH_TO_DB", "admin", "admin"); 
Vertex v = graph.getVertex("#16:0"); 

alternatywnego i bardziej ogólne podejście polega na budowę i wykonanie SELECT zapytanie formy SELECT FROM :RID wzdłuż linii przykładzie:

List<ODocument> results = db.query(new OSQLSynchQuery<ODocument>("select from " + rid)); 
for (ODocument aDoc : results) { 
    System.out.println(aDoc.field("name")); 
} 

(3) W praktyce zwykle lepiej jest użyć innego "uchwytu" na wierzchołkach i krawędziach OrientDB w kodzie Java lub w przypadku korzystania z dowolnego z obsługiwanych języków programowania. Na przykład, gdy jeden ma wierzchołek jako Java Vertex, jak w powyższym przykładzie "Vertex v", zwykle można go użyć.

Powiązane problemy