我想编写一个SPARQL查询来检索特定域中实例的所有属性和值。例如,我只想在“MusicalArtist”域中歌手“Sting”的所有属性和值。我怎么能这样做?
答案 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个结果)