4

我正在通过 Python 使用 SPARQL 查询 DBpedia。我面临执行时间上限的问题。这是错误:

代码 :

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()

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

如何解决这个问题??

4

1 回答 1

1

您不能使用公共 DBPedia 端点,因为该端点是众所周知的,它也被大量使用,因此他们必须限制他们允许人们运行的查询的复杂程度。

如果您需要运行遇到此类超时问题的查询,请考虑使用可用的数据库转储之一并在 Virtuoso 的本地副本或您选择的三重存储中运行它们。

于 2012-08-16T00:46:55.100 回答