4

I am querying DBpedia using SPARQL through Python. I am facing issues with the upper execution time limit. This is the error :

Code :

sparql = SPARQLWrapper("http://dbpedia.org/sparql")
newquery = "DEFINE input:inference "skos-trans" PREFIX dcterms: <http://purl.org/dc/terms/> 
select distinct ?cat1 ?cat2 ?cat3 ?cat4  where { 
<http://dbpedia.org/resource/Pulp_Fiction> dcterms:subject ?cat1 . 
?cat1  skos:broaderTransitive   ?cat2. 
?cat2  skos:broaderTransitive   ?cat3. 
?cat3  skos:broaderTransitive   ?cat4. 
 } "

sparql.setQuery( newquery)
sparql.setReturnFormat(JSON)
results = sparql.query().convert()

Response:
Virtuoso 42000 Error The estimated execution time 5286 (sec) exceeds the limit of 3000 (sec)

How to get through this problem ??

Mohamed Taher Alrefaie
  • 15,698
  • 9
  • 48
  • 66
sammyiitkgp
  • 249
  • 5
  • 11

1 Answers1

1

You can't using the public DBPedia endpoint, because the endpoint is very well known it is also heavily used so they have to limit how complex a query they allow people to run.

If you need to run queries that run into issues like this timeout consider using one of the available database dumps and running them in a local copy of Virtuoso or a triple store of your choice.

RobV
  • 28,022
  • 11
  • 77
  • 119