2012-11-07 67 views
1

目前,我有以下代码:jena查询是否懒惰?

QueryExecution qe = QueryExecutionFactory.create(query, model); 
ResultSet results = qe.execSelect(); 
while(results.hasNext()){ 
      results.next(); 
      counter += 1; 
     } 
     System.out.println(counter); 

目前,当我运行这一点,每次循环可能需要几秒钟至一分钟来执行。所以我的问题是,结果是以懒惰的方式处理?如果有的话是否有办法让它一次找到所有结果?

谢谢。

+0

SPARQL查询的性能取决于很多事情:查询本身,您正在查询的三重存储的类型,数据的外观,有多少数据以及什么类型的环境 - cpu,内存,等等 - 程序正在运行。由于你没有告诉我们这些事情,所以根本不可能回答这个问题。 –

回答

1

是(一般)。该工作在调用hasNext期间完成,具体取决于查询,数据和设置的任何推理。

请参阅ResultSetFactory以获取一次使用所有结果的操作。

+0

非常感谢 – user1690293