簡體   English   中英

SPARQL DBpedia查詢超時

[英]SPARQL DBpedia query times out

我正在嘗試從Python在DBPedia上執行一個相當簡單的SPARQL查詢,如下所示:

from SPARQLWrapper import SPARQLWrapper, JSON
city_name = 'Manhattan'
query = """select * 
               where {
               ?URI rdfs:label ?name.
               filter(regex(str(?name), "^%s"))
           }"""%(city_name)
sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setReturnFormat(JSON)
sparql.setQuery(query)
result = sparql.query().convert()

我想檢索名稱第一部分中與給定城市匹配的所有實體。 我知道有很多實體,但是在這里的DBPedia測試瀏覽器中可以很好地執行。

每當我嘗試在Python中運行以上查詢時,我都會遇到超時錯誤:

EndPointInternalError: EndPointInternalError: endpoint returned code 500 and response. 

Response:
Virtuoso S1T00 Error SR171: Transaction timed out

關於避免此超時錯誤的任何建議? 我意識到我可能必須使查詢更具體,以縮小搜索范圍。

首先使用bif:contains全文搜索,然后進行過濾:

SELECT * {
  ?uri rdfs:label ?name .
  ?name bif:contains "Manhattan" . # Or "'Manhattan*'"
  FILTER(STRSTARTS(?name, "Manhattan"))
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM