关于“错误”URI的Python sparql查询

时间:2018-03-06 15:03:24

标签: python sparql dbpedia

我编写了一个python脚本,该脚本遍历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 个答案:

答案 0 :(得分:3)

您可以关注<http://dbpedia.org/ontology/wikiPageRedirects>

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

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