仅从dbpedia查询返回标签列和填充

时间:2019-07-01 10:02:09

标签: sparql dbpedia

我是SPARQL的新手,但是我对自己所分配的作业有些困惑。我正在查询dbpedia,以了解欧盟中总人口> = 3000000的所有国家。对于每个国家,我想显示其相应的政府类型。我希望最终结果集包含3列:

  • 每个国家/地区的英文标签
  • 每种政府的英文标签
  • 总人口价值

,然后按总人口的降序排序。

PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbrc: <http://dbpedia.org/resource/Category:>

SELECT DISTINCT ?country xsd:integer(?populationTotal) ?government_type ?engName ?gov_type

WHERE {
  ?country dct:subject dbrc:Member_states_of_the_European_Union ;
  a dbo:Country ; 
  rdfs:label ?engName .

  OPTIONAL { ?country dbo:governmentType ?government_type . ?government_type rdfs:label ?gov_type . }
  OPTIONAL { ?country dbo:populationTotal ?populationTotal . }

  FILTER (xsd:integer(?populationTotal) >= 3000000 && langMatches(lang(?engName), "en"))
  FILTER (langMatches(lang(?gov_type), "en"))

} ORDER BY DESC(?populationTotal)

我设法让dbpedia返回我需要的所有信息,但是我只想将上面的列保留在项目符号中,而不要将“国家/地区”列保留。我知道应该有一种方法可以直接将标签贴回该国家/地区,但是我很难接近解决方案...

0 个答案:

没有答案