2012-11-07 117 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