pedia times sparou查询

2024-09-28 13:15:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试从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测试浏览器here中执行得很好。在

每当我尝试在Python中运行上述查询时,都会出现超时错误:

^{pr2}$

关于避免这个超时错误有什么建议吗?我意识到我可能需要使我的查询更具体,以缩小搜索范围。在


Tags: namefromimport实体jsoncity错误where
1条回答
网友
1楼 · 发布于 2024-09-28 13:15:36

首先使用^{}进行全文搜索,然后进行筛选:

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

相关问题 更多 >

    热门问题