簡體   English   中英

使用dbpedia作為終點為jena(對於sparql)添加超時?

[英]adding timeout to jena (for sparql) using dbpedia as end point?

我想知道是否有辦法使用Jena通過dbpedia進行sparql查詢並使用http://dbpedia.org/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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM