问题描述
在编辑项目的属性“官方名称”(P1448,https://www.wikidata.org/wiki/Property:P1448)时,编辑者必须指定语言。但是,这是通过组合框完成的,也不是通过限定符完成的。
例如参见项目“Szczawno-Zdrój”(Q1001231,https://www.wikidata.org/wiki/Q1001231)。一个“官方名称”是“Бад-Зальцбрун”,该值的语言是白俄罗斯语;但是语言不是通过限定符指定的,例如“开始时间”。
如何通过 SPARQL 查询查询“官方名称”的“伪限定符”“语言”?
解决方法
所谓的“伪限定符”就是所谓的语言标签。
要为常量字符串指定语言,您可以使用"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 .
}
参考文献: