我正在研究与OrientDB图表交互的方法。我正在编写java代码,因此我使用了某种Java API。因为tinkerpop被描述为" JDBC"对于图形数据库,我天真地假设有一个等价的执行查询然后处理结果集。
从图表中,我可以称之为:
graph.command(new OCommandSQL("SELECT FROM class")).execute();
那么什么? "执行"方法返回一个Object,不是很有帮助。通过打印出结果对象的类名,它似乎是一个" OrientDynaElementIterable",无论是什么。
所以我不确定我是如何理解运行查询然后迭代结果的。总的来说,我实际上并不了解tinkerpop,因为我正在处理一大堆特别是类似于tinkerpop规范的OrientDB特定类,那么如何使我的代码在图形数据库中可移植呢?
答案 0 :(得分:1)
从图表命令中检索Iterable
Vertex
。
for (Vertex v : (Iterable<Vertex>) graph.command
(new OCommandSQL("SELECT FROM class").execute()) {
// Do something with vertex v
}
可以检索文档Android NDK documentation,您可以在其中找到以下示例
for (Vertex v : (Iterable<Vertex>) graph.command(
new OCommandSQL("SELECT EXPAND( out('bought') ) FROM Customer WHERE name = 'Jay'")).execute()) {
System.out.println("- Bought: " + v);
}