查询Wikidata国家/地区-如何以所有语言返回标签

时间:2019-09-06 10:14:42

标签: sparql wikidata

如何查询Wikidata国家/地区,以便以所有可用语言返回所有国家/地区的标签?

我可以通过指定所需的语言来运行查询(例如,我成功地要求提供带有英语和阿拉伯语标签的国家/地区列表)。但是我可以要求它返回所有语言的标签列吗?如果可以,怎么办?

英语和阿拉伯语国家

SELECT ?country ?label_en ?label_ar
WHERE
{
  ?country wdt:P31 wd:Q6256.
  ?country rdfs:label ?label_en filter (lang(?label_en) = "en").
  ?country rdfs:label ?label_ar filter (lang(?label_ar) = "ar").
}

Sparql Query link

1 个答案:

答案 0 :(得分:0)

正如@AKSW在评论中所说,您可以通过删除查询中的过滤器来获取所有语言的所有国家/地区名称列表:

SELECT ?country ?label
WHERE
{
  ?country wdt:P31 wd:Q6256.
  ?country rdfs:label ?label
}

您可能(也许)想知道返回的每种语言的身份以及每个国家/地区的英文单词:

SELECT ?country ?label (lang(?label) as ?label_lang) ?countryLabel
WHERE
{
  ?country wdt:P31 wd:Q6256.
  ?country rdfs:label ?label .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}