维基数据:如何通过 SPARQL 查询 "official name" (P1448) 的 "language"?

Wikidata: How to query for the "language" of an "official name" (P1448) via SPARQL?

编辑项目的“正式名称”属性(P1448,https://www.wikidata.org/wiki/Property:P1448)时,编辑器必须指定语言。但是,这是通过组合框完成的,也不是通过限定符完成的。

例如,参见项目“Szczawno-Zdrój”(Q1001231,https://www.wikidata.org/wiki/Q1001231)。一个“官方名称”是“Бад-Зальцбрун”,该值的语言是白俄罗斯语;然而,语言不是通过限定符指定的,例如“开始时间”。

如何通过 SPARQL 查询来查询“官方名称”的'pseudo-qualifier'“语言”?

你所说的“伪限定符”就是所谓的语言标签.

要为 常量字符串 指定语言,您可以使用 "my syting"@lang。例如:

SELECT ?item
WHERE {
  ?item wdt:P1448 "Бад-Зальцбрун"@be.
}

要为 可变字符串 指定语言,您可以在查询的 主体 中使用 lang() 函数。例如:

SELECT ?officialName
WHERE {
  wd:Q1001231 wdt:P1448 ?officialName
              FILTER (lang(?officialName) = "be") .
}

对于查询字符串语言,可以在查询的head中使用lang()函数。例如:

SELECT ?officialName (lang(?officialName) AS ?lang)
WHERE {
  wd:Q1001231 wdt:P1448 ?officialName .
}

参考文献: