如何使用DBPEDIA中的SPARQL以简单的方式获取有关一个国家的资本、货币、语言、人口等信息

如何使用DBPEDIA中的SPARQL以简单的方式获取有关一个国家的资本、货币、语言、人口等信息,sparql,dbpedia,Sparql,Dbpedia,如何使用DBPEDIA中的SPARQL以简单的方式获取有关一个国家的资本、货币、语言、人口等信息。 有简单的方法吗?我找到了解决这个问题的方法, 我找到了一个返回所有必填字段的查询 SELECT DISTINCT ?country ?population ?capital ?currency WHERE { {?country rdf:type <http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNation

如何使用DBPEDIA中的SPARQL以简单的方式获取有关一个国家的资本、货币、语言、人口等信息。
有简单的方法吗?

我找到了解决这个问题的方法, 我找到了一个返回所有必填字段的查询

 SELECT DISTINCT ?country ?population ?capital ?currency WHERE {
   {?country rdf:type 
 <http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNations> .
  ?country  <http://dbpedia.org/ontology/populationTotal> ?population .
  ?country  <http://dbpedia.org/ontology/capital> ?capital .
  ?country  <http://dbpedia.org/ontology/currency> ?currency .}
UNION
  {?country rdf:type <http://dbpedia.org/ontology/Country> .
  ?country  <http://dbpedia.org/ontology/populationTotal> ?population .
  ?country  <http://dbpedia.org/ontology/capital> ?capital .
  ?country  <http://dbpedia.org/ontology/currency> ?currency .}
}

使用SPARQL 1.1值的更紧凑的formm:SELECT DISTINCT?country?population?capital?currency其中{VALUES?type{}country rdf:type?type。?country?population。?country?capital。?country?currency.}使用语法糖更不冗长:前缀dbo:SELECT DISTINCT?country?population?capital?currency其中{values?type{dbo:Country}国家rdf:type?type;dbo:populationTotal?population;dbo:capital?capital;dbo:currency?currency}它们仍然会返回相同的值。我是否会说一些不同的话?我只是演示了如何使用更紧凑的表单。无论如何,当您有两个以上的备选方案时,请随意复制并粘贴相同的联合模式。我没有说您的解决方案是错误的,或者它没有返回我想要的内容,这涉及到可读性问题。哟与UNION.Nevermind相比,ur的紧凑形式可读性较差,易于理解。