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

如何在Virtuoso SPARQL端点上避免超时,即执行无时间限制的查询?,sparql,dbpedia,virtuoso,Sparql,Dbpedia,Virtuoso,每次我在endpoint或我的本地Virtuoso store中进行查询时,我都会在相当长的一段时间后(比如根据我自己的经验30分钟)出现超时错误 为了查询DBpedia的在线SPARQL端点,我使用以下语句: Query query = QueryFactory.create(q); //q - query string QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql/"

每次我在endpoint或我的本地Virtuoso store中进行查询时,我都会在相当长的一段时间后(比如根据我自己的经验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)值。但我还是得到了一个暂停


如何解决这个问题?在经过一定数量的大型查询后,是否也会阻止您的IP地址?我可以不运行连续的无限制(即非常大的10^6)查询吗?谢谢。

关于演奏家的问题通常最好在、或通过网站提出

也就是说,对于您的特定问题——服务器端超时设置优于任何查询请求的超时设置——也就是说,查询设置只有在短于服务器上的设置时才有效。您可以在自己的实例上调整(
MaxQueryExecutionTime
)以及其他许多内容


DBpedia特定的问题、讨论、提交等,通常最好直接提交给。确实如此,这是它作为一项慷慨提供的公共服务的可行性的一部分。

重复您为什么要对DBpedia执行拒绝服务攻击?不过,说真的,服务器对超时之类的限制是有原因的;这是对每个人的免费服务。如果每个人都开始运行长时间运行的查询,那么对每个人来说,它都会成为一个中断的服务。这个@TallTed链接的例子甚至描述了一些将长时间运行的查询分解为更小、更易于管理的查询的方法。请为使用端点和使用这些技术的其他人着想。