【发布时间】:2018-12-19 22:16:44
【问题描述】:
我有一个维基百科页面的 URL 列表,并在 lod.openlinksw.com 端点上查询 dbpedia 数据。代码与question 中的代码相同。 最好理解的是:对于某些 url,尽管 dbpedia 页面有正确的 foaf:isPrimaryTopicOf url,但它怎么可能不起作用?
这里是对应dbpedia 和wikipedia 页面的简化查询。
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT Distinct ?name ?s ?url WHERE {
?s a foaf:Person .
FILTER NOT EXISTS { ?s rdf:type dbo:FictionalCharacter }.
?s foaf:isPrimaryTopicOf ?url.
?s rdfs:label ?name.
filter(langMatches(lang(?name), "en")).
?s foaf:isPrimaryTopicOf <http://en.wikipedia.org/wiki/Adi_Shankara>.
}
LIMIT 1
从 wikipedia 中提取的 ~40 个 URL 的列表中,我得到 ~10 个空响应。首先,我认为网址可能有问题,但其中大多数看起来都很好。这里有更多“不工作”的案例:
- 用于查询 >> en.wikipedia.org/wiki/Harald_I_of_Norway,
dbpedia.org/page/Harald_Fairhair >>
en.wikipedia.org/wiki/Harald_Fairhair - 用于查询 >> en.wikipedia.org/wiki/Ivar_the_Boneless,
dbpedia.org/page/Ivar_the_Boneless >>
en.wikipedia.org/wiki/Ivar_the_Boneless - 用于查询 >> en.wikipedia.org/wiki/Jayarāśi_Bhaṭṭa,
dbpedia.org/page/Jayarāśi_Bhaṭṭa >>
en.wikipedia.org/wiki/Jayarāśi_Bhaṭṭa - 用于查询 >> en.wikipedia.org/wiki/Kenneth_I_of_Scotland,
dbpedia.org/page/Kenneth_MacAlpin >>
en.wikipedia.org/wiki/Kenneth_MacAlpin - 用于查询>> en.wikipedia.org/wiki/Li_Deyu,
dbpedia.org/page/Li_Deyu >>
en.wikipedia.org/wiki/Li_Deyu
在第 1 个 (Harald_Fairhair) 和第 4 个 (Kenneth_MacAlpin) 案例中,有不同的 url 指向同一个 wikipage,所以我需要找出如何处理这些案例。但我不明白为什么其余的不起作用。任何帮助,将不胜感激。
【问题讨论】:
-
首先,请注意,不能保证 lod.openlinksw.com 数据永远与 dbpedia.org 数据同步……也不保证 dbpedia.org 数据与 en.wikipedia.org 数据同步(因为这通常是延迟批量更新 6-18 个月)...... live.dbpedia.org 数据也与 wikipedia.org 数据同步(尽管这通常在几天内甚至几分钟内都是正确的,但有时在几个月内) .另请注意,
dbpedia.org/page/URL 指向关于使用dbpedia.org/resource/URI 标识的实体的人性化页面。 -
我有点疑惑,您甚至添加了指向相应 DBpedia 页面的链接,但您有没有看过其中一个页面以了解发生了什么?我的意思是,例如您的查询实体
http://dbpedia.org/resource/Adi_Shankara,您是否检查了rdf:type关系?很明显,没有foaf:Person三元组。为什么不使用dbo:Person? -
关于另一件事。维基百科重定向是您必须在 SPARQL 查询中解决的问题。
标签: sparql dbpedia wikipedia-api