我正在探索与OrientDB图形相互作用的方法。我正在编写Java代码,因此我使用某种Java API。由于TinkerPop被描述为图形数据库的" JDBC",因此我天真地认为将等效地执行查询然后处理结果集。
从图中,我可以称呼:
graph.command(new OCommandSQL("SELECT FROM class")).execute();
那呢?"执行"方法返回对象,不是很有帮助。通过打印结果对象的类名称,它似乎是" Orientdynaelementerable",无论是什么。
因此,我不确定我是否了解如何运行查询,然后迭代结果。总的来说,我实际上不了解TinkerPop,因为我正在处理一系列特定的OrientDB特定类,这些类是TinkerPop规范中一部分的一部分,那么这如何使我的代码在图形数据库中可移植?
从图命令中您检索Vertex
的Iterable
。
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);
}