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

SPARQL: Select attribute of all resource subject of category

我有这个 SPARQL 查询 select 所有属于维基百科类别 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

是否可以构建对 return 的查询以及 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 结果为零。

如果打开其中一个结果,您会看到每个资源可能都有一个 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.