Java中如何通过Record ID查询OrientDB Vertex图对象?
How do I query OrientDB Vertex graph object by Record ID in Java?
如何使用 Record ID 检索 OrientDB Document/Object 或 Graph 对象? (语言:Java)
我指的是 http://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-Record-ID.html 和 Vertex.getId() / Edge.getId() 方法。
这就像一个 SQL 查询 "SELECT * from aTable WHERE ID = 1"。
Usage/purpose 描述:我想存储OrientDB创建后生成的ID,以后使用相同的ID检索相同的对象。
(1) 我建议使用 OrientDB 2.1 及其文档,例如http://orientdb.com/docs/2.1/Tutorial-Record-ID.html
(2) 根据您的 post,我不清楚您是需要帮助从查询结果中获取 RID,还是需要根据其 RID 检索对象,所以让我首先提到前者可以如此示例所示完成(在 INSERT 查询的情况下):
ODocument result=db.command(new OCommandSQL(<INSERTQUERY>)).execute();
System.out.println(result.field("@rid"));
反之,有几种方法。我已经验证以下使用版本 2.1.8 确实有效:
OrientGraph graph = new OrientGraph("plocal:PATH_TO_DB", "admin", "admin");
Vertex v = graph.getVertex("#16:0");
另一种更通用的方法是构建并执行 SELECT FROM :RID
形式的 SELECT 查询,与此示例类似:
List<ODocument> results = db.query(new OSQLSynchQuery<ODocument>("select from " + rid));
for (ODocument aDoc : results) {
System.out.println(aDoc.field("name"));
}
(3) 在实践中,在 Java 代码中的 OrientDB 顶点和边上使用其他一些 "handle" 通常会更好,或者在使用任何受支持的编程语言时。例如,一旦有一个顶点作为 Java Vertex
,如上面的 "Vertex v" 示例,通常可以使用它。
如何使用 Record ID 检索 OrientDB Document/Object 或 Graph 对象? (语言:Java)
我指的是 http://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-Record-ID.html 和 Vertex.getId() / Edge.getId() 方法。
这就像一个 SQL 查询 "SELECT * from aTable WHERE ID = 1"。
Usage/purpose 描述:我想存储OrientDB创建后生成的ID,以后使用相同的ID检索相同的对象。
(1) 我建议使用 OrientDB 2.1 及其文档,例如http://orientdb.com/docs/2.1/Tutorial-Record-ID.html
(2) 根据您的 post,我不清楚您是需要帮助从查询结果中获取 RID,还是需要根据其 RID 检索对象,所以让我首先提到前者可以如此示例所示完成(在 INSERT 查询的情况下):
ODocument result=db.command(new OCommandSQL(<INSERTQUERY>)).execute();
System.out.println(result.field("@rid"));
反之,有几种方法。我已经验证以下使用版本 2.1.8 确实有效:
OrientGraph graph = new OrientGraph("plocal:PATH_TO_DB", "admin", "admin");
Vertex v = graph.getVertex("#16:0");
另一种更通用的方法是构建并执行 SELECT FROM :RID
形式的 SELECT 查询,与此示例类似:
List<ODocument> results = db.query(new OSQLSynchQuery<ODocument>("select from " + rid));
for (ODocument aDoc : results) {
System.out.println(aDoc.field("name"));
}
(3) 在实践中,在 Java 代码中的 OrientDB 顶点和边上使用其他一些 "handle" 通常会更好,或者在使用任何受支持的编程语言时。例如,一旦有一个顶点作为 Java Vertex
,如上面的 "Vertex v" 示例,通常可以使用它。