我在Wikidata查询浏览器中运行此查询:
SELECT ?child ?childLabel
WHERE
{
# ?child father Bach
?child wdt:P22 wd:Q1339.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
结果与预期的一样,是一张包含巴赫孩子名字的表格。但是,如果我使用代码工具提供的URL,则会得到未解析的Q代码,而不是孩子的名字。另外,如果我要求这样的描述:
SELECT ?child ?childLabel ?childDescription
WHERE
{
# ?child father Bach
?child wdt:P22 wd:Q1339.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
我在查询浏览器生成的表中获得了描述,但是如果我使用提供的URL而不是代码服务,则无法获得描述。
我在Wikibase标签服务中看到过一些暗示复杂性的问题,但是我对这个主题的理解还不够,无法理解答案。
任何帮助都将不胜感激!
答案 0 :(得分:3)
来自User Manual:
Wikidata查询服务网站自动用当前用户界面的语言代码替换
[AUTO_LANGUAGE]
。例如,如果用户的用户界面为法语,则SPARQL的代码bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en"
将在发送给查询服务之前转换为bd:serviceParam wikibase:language "fr,en"
。
服务器不知道什么是[AUTO_LANGUAGE]
。将[AUTO_LANGUAGE]
替换为en
。