sparql - 有些城市不是城市或大城市的实例?维基数据的奇怪行为

标签 sparql wikidata

在检查官方示例查询“大陆、国家、地区和首都”(在 https://query.wikidata.org/ 上,为了您的方便起见,仅限于德国:link)的结果时,我注意到德国联邦州的一些首都不见了。例如威斯巴登作为黑森州的首府。我注意到威斯巴登是 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". }
}

显示 Magdeburg 甚至不是 city 的实例,虽然它显然是根据其维基数据页面https://www.wikidata.org/wiki/Q1733 .

我是 Wikidata 和 SPARQL 的新手。然而,这对我来说似乎是错误的。我该怎么做才能获得德国联邦州的所有首都?这种行为的原因是什么?

最佳答案

这些遗漏的陈述不是 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". }
}

Try it!

它们是普通级别的语句,但有一个首选级别的语句。

Truthy statements represent statements that have the best non-deprecated rank for given property. Namely, if there is a preferred statement for property P2, then only preferred statements for P2 will be considered truthy. Otherwise, all normal-rank statements for P2 are considered truthy.



更新

我有 decreased首选语句的排名just now .请再次测试您的查询。

关于sparql - 有些城市不是城市或大城市的实例?维基数据的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47100068/

相关文章:

sparql - 使用维基数据查询服务快速查找发布日期

在执行任意路径查询之前过滤 sparql 结果

sparql - 找出缺失的属性资源

rdf - SPARQL DESCRIBE 查询

sparql - 维基数据 SPARQL 查询

wikidata - Wikidata-SPARQL查询的请求限制

wikidata - 省略 wbsearchentities 的消歧结果

sparql - 为什么此维基数据查询不选择荷兰省份

java - 数据导入期间超出 Fuseki GC 开销限制

wikipedia - 从维基百科中提取故事情节