sparql - 为什么 DBpedia 中的同一属性有 2 个不同的词汇表?

标签 sparql dbpedia

为什么 DBpedia 对相同的属性使用多个词汇表?
我必须获取所有可能的电影的数据。 对于每部电影,我观察到它都有一个 dbpedia-owl 和一个用于制片人、导演等的 dbpprop 词汇表。我使用以下查询检索属性:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?star_name 
WHERE { 
<http://dbpedia.org/resource/Goal_III:_Taking_on_the_World> dbpedia-owl:starring ?star.
?star foaf:name ?star_name 
}

我将获得每部电影的页面 ID,然后检索明星和制片人。对于一些我认为 dbpedia-owl 可以工作,对于某些 dbpprop 也可以工作。

我对此很困惑。我必须用 Python 编写代码来为每部电影运行此查询。因此,每次我都必须检查结果是否为空,然后运行其他词汇表的代码。

最佳答案

DBPedia 的数据是使用基于映射的语言从您在相应维基百科页面上看到的信息框中提取的。不同的映射用于不同的信息框,因此两种不同类型的资源可能会完全不同地映射,如果您考虑一下,这是完全合乎逻辑的。

现在您讨论的问题是具有相同数据的相同类型的两个资源映射不同。我怀疑(尽管无法确认,因为您没有给出映射属性不同的两部电影的示例)这里的问题是维基百科中的数据。可能有不止一种方式来表达信息框中您感兴趣的信息,并且信息框的映射对于不同的方式进行不同的映射。这并不理想,但 Wikipedia 没有干净的数据,因此您也不应该期望 DBPedia 也有干净的数据。

您可以考虑在 DBPedia 邮件列表 dbpedia-discussion@lists.sf.net 上提问。尝试找出发生这种情况的原因,因为他们可以更好地帮助您。

关于sparql - 为什么 DBpedia 中的同一属性有 2 个不同的词汇表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8553751/

相关文章:

python - 如果页面不是英文,如何使用 sparql 和 dbpedia 检索 wikipageID

python - 使用 pycurl 从服务器获取响应

sparql - dbpedia 以英语以外的语言获取实体

sparql - Blazegraph 全文搜索及总数

java - 如何在 SPARQL 中过滤 DBpedia 结果

sparql - 如何在 OpenRefine 中通过 Wikipedia 文章标题进行协调?

java - Sparql 查询不返回 uri/对象

rdf - SPARQL 查询中 OPTIONAL 关键字的替代方法?

带圆括号的 sparql 查询抛出异常

c# - 对 dbpedia 端点执行 sparql 查询