在检查官方示例查询“大陆、国家、地区和首都”的结果(在https://query.wikidata.org/ 上,为了您的方便,这里仅限于德国:链接),我注意到德国联邦的一些首都状态丢失。例如威斯巴登作为黑森州的首府。我注意到与其他一些城市相比,威斯巴登是 的一个实例big city
,但不是city
(参见https://www.wikidata.org/wiki/Q1721)。我能够还包括那些的子类城市来缓解这一问题city
,通过改变线路17 ?city wdt:P31/wdt:P279? wd:Q515
。
仍然失踪的四个城市之一是萨克森-安哈尔特州的首府马格德堡。
诊断查询
SELECT ?cityLabel ?props
WHERE {
?city wdt:P31 ?props.
FILTER(?city = wd:Q1733 || ?city = wd:Q1726).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Run Code Online (Sandbox Code Playgroud)
显示 Magdeburg 甚至不是 的一个实例city
,尽管它显然是根据其 Wikidata 页面https://www.wikidata.org/wiki/Q1733。
我是 Wikidata 和 SPARQL 的新手。然而,这对我来说似乎是错误的。我该怎么做才能获得德国联邦州的所有首都?这种行为的原因是什么?
这些缺失的陈述是不真实的:
SELECT ?statement ?valueLabel ?rank ?best
WHERE {
wd:Q1733 p:P31 ?statement.
?statement ps:P31 ?value .
?statement wikibase:rank ?rank .
OPTIONAL { ?statement a ?best . }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
Run Code Online (Sandbox Code Playgroud)
它们是正常等级的语句,但有一个首选等级的语句。
真实陈述表示对给定属性具有最佳非弃用等级的陈述。即,如果有属性 P2 的首选语句,那么只有 P2 的首选语句才会被认为是真实的。否则,P2 的所有正常秩语句都被认为是真实的。
更新