-2

Every time I do a query in http://dbpedia.org/sparql endpoint or my local Virtuoso store, I get a time out error after some considerably large time (like 30 mins through my own experience) .

For querying DBpedia's online SPARQL endpoint, I use the following statements:

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

I read that Timeout value less than zero (i.e., negative) will never allow a timeout to happen, so I have set qexec.setTimeout(-100) value. But still I get a timeout.

How to solve this problem? Is it also true that http://dbpedia.org/sparql blocks your IP address after certain amount of large queries? Can I not run continuous unlimited (i.e., very large, 10^6) queries? Thanks.

TallTed
  • 9,069
  • 2
  • 22
  • 37
Vini
  • 313
  • 1
  • 7
  • 21
  • duplicate of http://answers.semanticweb.com/questions/24852/how-to-avoid-timeout-ie-do-time-unlimited-query-on-virtuoso-sparql-endpoint – Jeen Broekstra Oct 16 '13 at 18:47
  • Why would you want to execute a denial of service attack against DBpedia? – Joshua Taylor Oct 16 '13 at 23:57
  • 2
    Seriously though, the limitations that servers put on things like timeouts are there for a reason; it's a free service for everyone. If everyone starts running long running queries, it becomes a broken service for everyone. The [usage limitations](http://lists.w3.org/Archives/Public/public-lod/2011Aug/0028.html) that @TallTed linked to even describe some ways to break long running queries into smaller, more manageable ones. Please be considerate to others who use the endpoint and use these techniques. – Joshua Taylor Oct 17 '13 at 00:00

1 Answers1

4

Questions specifically regarding Virtuoso are generally best raised on the public OpenLink Discussion Forums, the Virtuoso Users mailing list, or through a confidential Support Case.

That said, regarding your specific questions -- the server-side timeout setting trumps that requested by any query -- i.e., the query setting only has effect when it's shorter than that set on the server. You can adjust the server-side setting (MaxQueryExecutionTime), among many other things, on your own instance.

DBpedia-specific questions, discussion, submissions, etc., are usually best directed to the DBpedia discussion list. The public DBpedia endpoint does indeed have various usage limitations, which are part of what make it viable as a generously provided public service.

TallTed
  • 9,069
  • 2
  • 22
  • 37