我编写了一个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列表非常非常长,所以我不能手动检查和修复它们。
答案 0 :(得分:3)
您可以关注<http://dbpedia.org/ontology/wikiPageRedirects>
:
<http://dbpedia.org/resource/Sheldon_J._Plankton> dbo:wikiPageRedirects*/dct:subject ?subject .
*
将使属性路径匹配零个或多个重定向。