Sparql 有些城市不是';城市还是大城市?维基数据的奇怪行为
在检查“大陆、国家、地区和首都”官方示例查询的结果时(在上,为方便起见,此处仅限于德国:),我注意到德国联邦州的一些首都缺失。例如,威斯巴登作为黑森州的首府。我注意到威斯巴登是大城市的一个例子,但与其他一些城市相比,它不是城市的一个例子。通过将第17行更改为Sparql 有些城市不是';城市还是大城市?维基数据的奇怪行为,sparql,wikidata,Sparql,Wikidata,在检查“大陆、国家、地区和首都”官方示例查询的结果时(在上,为方便起见,此处仅限于德国:),我注意到德国联邦州的一些首都缺失。例如,威斯巴登作为黑森州的首府。我注意到威斯巴登是大城市的一个例子,但与其他一些城市相比,它不是城市的一个例子。通过将第17行更改为?city wdt:P31/wdt:P279,我还可以将属于city子类的城市包括在内,从而缓解了这个问题?wd:Q515 四个仍然失踪的城市之一是萨克森州安哈尔特的首府马格德堡。 诊断查询 选择cityLabel道具 在哪里{ ?城市wdt
?city wdt:P31/wdt:P279,我还可以将属于city
子类的城市包括在内,从而缓解了这个问题?wd:Q515
四个仍然失踪的城市之一是萨克森州安哈尔特的首府马格德堡。
诊断查询
选择cityLabel道具
在哪里{
?城市wdt:P31?道具。
过滤器(?city=wd:Q1733 | |?city=wd:Q1726)。
服务wikibase:label{bd:serviceParam wikibase:language“[AUTO_language],en.”
}
显示马格德堡甚至不是城市的一个实例,尽管它显然是根据其Wikidata页面
我对Wikidata和SPARQL不熟悉。然而,在我看来,这似乎是错误的。我该怎么做才能得到德国联邦各州的所有首都?这种行为的原因是什么?这些缺失的语句不是:
它们是普通的秩语句,但有一个首选的秩语句
真实的陈述代表最好的陈述
给定属性的未弃用列组。也就是说,如果有
属性P2的首选语句,然后仅首选语句
因为P2将被认为是真实的。否则,所有正常秩
P2的语句被认为是真实的
更新
我拥有首选语句的排名。请再次测试您的查询。老实说,我不认为您做错了什么。查询SELECT*WHERE{wd:Q1733 wdt:P31?o}
应该返回所有类型,但看起来好像出了问题。对于没有引用的语句,似乎只返回一个。例如,获取countrySELECT*WHERE{wd:Q1733 wdt:P17?o}
的查询也只返回一个值。另一方面,如果使用SELECT*WHERE{wd:Q1733 wdt:P1376?o}
查看capital of
的语句,它将返回多个值。有趣。我不知道这也适用于语句的实例。老实说,我不明白为什么这些说法不被认为是真的。我是说,慕尼黑是一座城市?@AKSW,我已经更新了我的答案。简言之,所有未被否决的语句都是真实的,但首选语句更真实。事实上,这是(偶尔)故意破坏行为:+1,接受,有效,谢谢。虽然我不知道等级,但我思考,这是一种理论上的可能性。然而,在这种情况下,它没有多大意义。“马格德堡是一座城市”这句话在知识库中应该是正确的。但是,这仅在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". }
}