Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用dbpedia作为端点向jena(对于sparql)添加超时?_Java_Timeout_Sparql_Jena_Dbpedia - Fatal编程技术网

Java 使用dbpedia作为端点向jena(对于sparql)添加超时?

Java 使用dbpedia作为端点向jena(对于sparql)添加超时?,java,timeout,sparql,jena,dbpedia,Java,Timeout,Sparql,Jena,Dbpedia,我想知道是否有一种方法可以使用Jena通过dbpedia进行sparql查询,并使用中给出的超时设置(如果您看到此页面,您可以看到有一种方法可以在那里设置超时),这是必需的,因为我想进行一个大查询,并且我已经尝试了好几次(通过页面)如果不设置超时,我无法得到结果(它总是事务超时异常) 编辑:我使用java。要执行查询,我想您使用的是: QueryExecutionFactory.sparqlService(String service, Query query) 您可以尝试的一件事是: Qu

我想知道是否有一种方法可以使用Jena通过dbpedia进行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请求添加了一个参数

让我知道它是否有效

已编辑
要修复错误,实际上是另一种方法<代码>查询引擎http实现
查询执行

我会这样做:

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.queryCanceledException。

QueryExecutionYou中没有像addParam这样的方法。我是从另一个方向得到的。看看新版的答案,我认为是正确的。此外,考虑在StAcExoPad中接受一个上投票的事情,否则你会得到很低的接受率,人们不会花时间帮助你。只是一个建议。要接受答案,请单击答案旁边的V符号。这就是工作!非常感谢你。然而,我仍然想知道为什么他们必须在某处继承它:D