如何避免超时,即在Virtuoso SPARQL端点上进行无时间限制的查询



每次我在端点或本地 Virtuoso 商店中执行查询时 http://dbpedia.org/sparql 都会在相当长的时间(例如根据我自己的经验 30 分钟)后出现超时错误。

为了查询 DBpedia 的联机 SPARQL 端点,我使用以下语句:

Query query = QueryFactory.create(q); //q - query string
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql/", query);
qexec.setTimeout(-100);

我读到超时值小于零(即负数)永远不会允许超时发生,所以我设置了 qexec.setTimeout(-100) 值。但我仍然超时。

如何解决这个问题?http://dbpedia.org/sparql 在进行一定数量的大查询后阻止您的 IP 地址是否也是如此?我不能运行连续无限(即非常大的,10^6)查询吗?谢谢。

关于Virtuoso

的问题通常最好在公共OpenLink论坛,Virtuoso用户邮件列表或通过保密的支持案例提出。

也就是说,关于您的特定问题 - 服务器端超时设置胜过任何查询请求的超时设置 - 即,查询设置仅在比服务器上设置的短时有效。您可以在自己的实例上调整服务器端设置 ( MaxQueryExecutionTime ),以及许多其他功能。

特定于 DBpedia 的问题、讨论、提交等通常最好定向到 DBpedia 讨论列表。 公共 DBpedia 端点确实存在各种使用限制,这是使其作为慷慨提供的公共服务可行的部分原因。

最新更新