Sparql查询dbpedia istance在域中的属性和值

时间:2014-05-22 14:37:06

标签: sparql dbpedia

我想编写一个SPARQL查询来检索特定域中实例的所有属性和值。例如,我只想在“MusicalArtist”域中歌手“Sting”的所有属性和值。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这是一个非常基本的SPARQL问题,你最好从一个关于SPARQL的好教程开始,或者坐下来看SPARQL 1.1 Query Language文档。只是浏览它,你不需要立即记住所有东西,但只是熟悉它。毕竟,Stack Overflow不能用于复制标准文档;你预计已经熟悉了它。

正如您在上一个问题中所示,您可以通过以下查询询问给定主题的所有属性:

select ?p ?o where {
  dbpedia:Barry_White ?p ?o
}

您可以选择特定类的所有实例,例如dbpedia-owl:MusicalWork,其查询类似于

select ?o where {
  ?o a dbpedia-owl:MusicalWork
}

听起来你只是想问如何将两者结合起来。它只是

select ?p ?o where { 
  dbpedia:Barry_White ?p ?o .
  ?o a dbpedia-owl:MusicalWork
}

SPARQL results(0结果)

该查询实际上并没有任何结果,因为Barry White显然与任何音乐作品无关。但是,如果您只是要求与他相关联的作品,您将获得一些结果:

select ?p ?o where { 
  dbpedia:Barry_White ?p ?o .
  ?o a dbpedia-owl:Work
}

SPARQL results(3个结果)