代码之家  ›  专栏  ›  技术社区  ›  Knarf

Python sparql对“错误”URI的查询

  •  2
  • Knarf  · 技术社区  · 8 年前

    我编写了一个python脚本,它遍历URI列表,并对每个URI运行以下查询:

    query = "SELECT ?subject WHERE {<http://dbpedia.org" + uri + "> dct:subject ?subject.}"
    

    当给定的URI正确时,如 /resource/Android_TV

    但在我的URI列表中,我还有其他URI,例如 /resource/Sheldon_J._Plankton

    当我运行这个查询时,它没有找到任何东西,但是如果我转到相应的DBPedia页面 http://dbpedia.org/resource/Sheldon_J._Plankton

    更改为

    http://dbpedia.org/page/Plankton_(character)

    显然,此页面的正确URI应该是:

    resource/Plankton_(character)

    是否可以以这样一种方式编写查询,即更改URI以使其正确?这个URI列表非常长,很遗憾,我无法手动检查和修复它们。

    1 回复  |  直到 8 年前
        1
  •  4
  •   evsheino    8 年前

    你可以跟随 <http://dbpedia.org/ontology/wikiPageRedirects> :

    <http://dbpedia.org/resource/Sheldon_J._Plankton> dbo:wikiPageRedirects*/dct:subject ?subject .
    

    这个 * 将使属性路径匹配零个或多个重定向。

    推荐文章