我想知道是否有方法使用Jena通過dbpedia執行sparql查詢並使用http://dbpedia.org/sparql中給出的超時設置(如果看到此頁面,可以看到有一種方法可以在那裏設置超時),這是需要的,因爲我想做一個大的查詢,我已經嘗試了幾次(通過頁面),沒有設置超時,我無法得到結果(它總是一個事務超時異常)使用dbpedia作爲終點將超時添加到jena(用於sparql)?
編輯:我用java。
我想知道是否有方法使用Jena通過dbpedia執行sparql查詢並使用http://dbpedia.org/sparql中給出的超時設置(如果看到此頁面,可以看到有一種方法可以在那裏設置超時),這是需要的,因爲我想做一個大的查詢,我已經嘗試了幾次(通過頁面),沒有設置超時,我無法得到結果(它總是一個事務超時異常)使用dbpedia作爲終點將超時添加到jena(用於sparql)?
編輯:我用java。
執行查詢,我猜你正在使用:
QueryExecutionFactory.sparqlService(String service, Query query)
有一件事你可以嘗試是:
QueryEngineHTTP objectToExec=QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql",YOUR_QUERY);
objectToExec.addParam("timeout","5000"); //5 sec
resultset=objectToExec.execSelect();
似乎QueryEngineHTTP
實現QueryExecution
它有一個addParam
方法。沒有這種方法的描述,但我會假設爲HTTP請求添加了一個參數。
讓我知道它是否工作!
編輯 修復錯誤居然有人反過來... QueryEngineHTTP
實現QueryExecution
我會做這樣的:
String service = "http://dbpedia.org/sparql";
QueryExecution qexec = QueryExecutionFactory.create(query, service) ;
qexec.setTimeout(10, TimeUnit.MINUTES);
ResultSet results = qexec.execSelect() ;
String result = ResultSetFormatter.asText(results);
如果如果超時限制它,然後達到拋出org.apache.jena.query.QueryCancelledException。
有沒有方法,如QueryExecution中的addParam – zfm 2011-01-19 17:29:19