首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPARQL DBpedia查询超时

SPARQL DBpedia查询超时
EN

Stack Overflow用户
提问于 2017-09-28 05:28:04
回答 1查看 606关注 0票数 2

我试图从Python中对DBPedia执行一个相当简单的SPARQL查询,如下所示:

代码语言:javascript
复制
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中运行上述查询时,最后都会出现一个超时错误:

代码语言:javascript
复制
EndPointInternalError: EndPointInternalError: endpoint returned code 500 and response. 

Response:
Virtuoso S1T00 Error SR171: Transaction timed out

对于避免这个超时错误有什么建议吗?我意识到,我可能必须使我的查询更加具体,以加强搜索的范围。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-28 06:35:35

首先使用bif:contains进行全文搜索,然后过滤:

代码语言:javascript
复制
SELECT * {
  ?uri rdfs:label ?name .
  ?name bif:contains "Manhattan" . # Or "'Manhattan*'"
  FILTER(STRSTARTS(?name, "Manhattan"))
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46461584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档