Wikidata SPARQL:如何包含分组属性的标签

问题描述

我有一个可以正常运行的查询

SELECT ?language (COUNT (?lexeme) as ?lexemeCount) {
  ?lexeme dct:language ?language .
}
GROUP BY ?language

但是,我想不起来如何为语言实体URI添加语言标签(而不是与语言URI一起使用)。此操作因Wikidata上的超时异常而失败:

SELECT ?languageLabel (COUNT (?lexeme) as ?lexemeCount) {
  ?lexeme dct:language ?language .
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "en".
  }
}
GROUP BY ?languageLabel

这也是如此:

SELECT ?languageLabel (COUNT (?lexeme) as ?lexemeCount) {
  ?lexeme dct:language ?language .
  ?language rdfs:label ?languageLabel .
  FILTER(lang(?languageLabel) = 'en') .
}
GROUP BY ?languageLabel

哪个查询的结果将包含语言名称,而不是URI?

解决方法

a comment转换为社区Wiki答案:

SELECT ?languageLabel ?lexemeCount {   
  {   
    SELECT ?language (COUNT (?lexeme) AS ?lexemeCount) {
      ?lexeme dct:language ?language
    }
    GROUP BY ?language
  }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en"
  }
}