SPARQL:选择所有类别资源主题的属性

时间:2015-11-30 11:08:24

标签: sparql dbpedia

我有这个SPARQL查询来选择所有属于维基百科类别National_parks_in_California的资源:

PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT * WHERE {
  ?park dcterms:subject dbc:National_parks_in_California .
}

returns

park
http://dbpedia.org/resource/Death_Valley_National_Park
http://dbpedia.org/resource/Yosemite_National_Park
http://dbpedia.org/resource/Channel_Islands_National_Park
http://dbpedia.org/resource/Kings_Canyon_National_Park
http://dbpedia.org/resource/Lassen_Volcanic_National_Park
http://dbpedia.org/resource/Redwood_National_and_State_Parks
http://dbpedia.org/resource/Joshua_Tree_National_Park
http://dbpedia.org/resource/Pinnacles_National_Park
http://dbpedia.org/resource/Sequoia_National_Park

是否可以构建一个与dbpedia资源页面一起返回的查询以及每个资源的foaf:homepage

我写了

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT * WHERE {
  ?park dcterms:subject dbc:National_parks_in_California .
  ?webpage foaf:homepage ?park .
}

returns结果为零。

1 个答案:

答案 0 :(得分:5)

如果您打开结果,您会看到每个资源可能都有foaf:homepage。因此,查询的方向是错误的

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT * WHERE {
      ?park dcterms:subject dbc:National_parks_in_California .
      optional{
            ?park foaf:homepage ?homepage.
      }
}

我使用optional的原因是某些资源没有foaf:homepage