在检查官方示例查询"大陆,国家,地区和首都的结果时," (https://query.wikidata.org/仅限于德国为了您的方便:link),我注意到德国联邦各州的一些首都不见了。例如威斯巴登作为黑塞的首都。我注意到Wiesbaden是big city
的一个实例,而不是city
的实例(参见https://www.wikidata.org/wiki/Q1721),与其他一些城市不同。我通过将第17行更改为city
来包括属于?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". }
}
表明马格德堡甚至不是city
的一个实例,尽管显然是根据其维基数页https://www.wikidata.org/wiki/Q1733。
我是维基数据和SPARQL的新手。但是,这对我来说似乎不对。我怎样才能获得德国联邦各州的所有首都?这种行为的原因是什么?
答案 0 :(得分:4)
这些缺失的陈述不是truthy:
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". }
}
它们是普通级别的陈述,但有一个首选等级陈述。
Truthy语句代表具有最佳效果的陈述 给定财产的非弃用等级。即,如果有 属性P2的首选语句,然后只是首选语句 对于P2将被认为是真实的。否则,所有正常等级 P2的陈述被认为是真实的。
<强>更新强>