SPARQL wikidata返回的国家较少,而不是全部
我试图列出所有的国家。我尝试了下面的问题。它返回166结果。但是,我认为全世界总共有190200多个国家。但是,为什么它只返回166个国家的名称呢 我做错什么了吗?对于某些人来说,这是一个愚蠢的问题,但我对SPARQL和wikidata还不熟悉SPARQL wikidata返回的国家较少,而不是全部,sparql,wikidata,Sparql,Wikidata,我试图列出所有的国家。我尝试了下面的问题。它返回166结果。但是,我认为全世界总共有190200多个国家。但是,为什么它只返回166个国家的名称呢 我做错什么了吗?对于某些人来说,这是一个愚蠢的问题,但我对SPARQL和wikidata还不熟悉 # list all countries SELECT ?country ?countryLabel WHERE { ?country wdt:P31 wd:Q6256 . SERVICE wikibase:label { bd:s
# list all countries
SELECT ?country ?countryLabel
WHERE
{
?country wdt:P31 wd:Q6256 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
ORDER BY ASC(?countryLabel)
正如@AKSW所指出的,正确返回所有国家/地区的查询是:
SELECT ?country ?countryLabel
WHERE
{
?country p:P31/ps:P31 wd:Q6256 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
ORDER BY ASC(?countryLabel)
与您的查询唯一不同的是行?国家/地区p:P31/ps:P31 wd:Q6256。
那一行中的斜杠(/
)是一种速记符号。该行可以扩展为:
?country p:P31 ?statement .
?statement ps:P31 wd:Q6256 .
- 第1行表示“作为报表主体的实体”
- 第二行的意思是“哪个国家是一个国家”
p:
和ps:
是名称空间。Wikidata的约定是在p
命名空间中保留实体到语句的连接器,在ps
命名空间中保留语句到值的连接器。它们必须链接在一起以查询国家列表
这似乎很复杂。你只想找到国家;你不在乎关于国家的声明。因此,为您这样的用例创建了wdt:
前缀。这个名称空间应该是这些简单的是或否查询的p:/ps:
链接的摘要
但是有个问题!引自:
这样的三元组使用属性的wdt:
表示形式,并不是为所有语句创建的,而是仅为该项上属性排名最高且未弃用的语句创建的。虽然不能保证它们是真实的,但它们旨在总结维基数据目前对真相的最佳理解
简而言之,wdt:
名称空间不完整,您发现了一些漏洞。无论出于何种原因,苏里南和俄罗斯等少数国家被排除在该名称空间的声明之外
编辑:这似乎被指定为“国家”或“主权国家”。使用主权国标识符(而不是
Q6256
)也可以修复您的查询。正如@AKSW所指出的,正确返回所有国家的查询是:
SELECT ?country ?countryLabel
WHERE
{
?country p:P31/ps:P31 wd:Q6256 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
ORDER BY ASC(?countryLabel)
与您的查询唯一不同的是行?国家/地区p:P31/ps:P31 wd:Q6256。
那一行中的斜杠(/
)是一种速记符号。该行可以扩展为:
?country p:P31 ?statement .
?statement ps:P31 wd:Q6256 .
- 第1行表示“作为报表主体的实体”
- 第二行的意思是“哪个国家是一个国家”
p:
和ps:
是名称空间。Wikidata的约定是在p
命名空间中保留实体到语句的连接器,在ps
命名空间中保留语句到值的连接器。它们必须链接在一起以查询国家列表
这似乎很复杂。你只想找到国家;你不在乎关于国家的声明。因此,为您这样的用例创建了wdt:
前缀。这个名称空间应该是这些简单的是或否查询的p:/ps:
链接的摘要
但是有个问题!引自:
这样的三元组使用属性的wdt:
表示形式,并不是为所有语句创建的,而是仅为该项上属性排名最高且未弃用的语句创建的。虽然不能保证它们是真实的,但它们旨在总结维基数据目前对真相的最佳理解
简而言之,wdt:
名称空间不完整,您发现了一些漏洞。无论出于何种原因,苏里南和俄罗斯等少数国家被排除在该名称空间的声明之外
编辑:这似乎被指定为“国家”或“主权国家”。使用主权国家标识符而不是主权国家标识符
Q624078
,也可以修复您的查询。您知道缺少哪些县吗?@Alexan Ukraine、塞尔维亚、苏里南、Russiatruthy vs non-truthydata@AKSW你能解释一下吗?#列出所有国家选择?国家?国家标签在哪里{?国家/地区p:P31/ps:P31 wd:Q6256.服务wikibase:label{bd:serviceParam wikibase:language“en”。}按ASC排序(?国家/地区标签)
你知道哪些县失踪了吗?@Alexan乌克兰、塞尔维亚、苏里南、俄罗斯和非俄罗斯data@AKSW你能解释一下吗?#列出所有国家选择?国家?国家标签{国家p:P31/ps:P31 wd:Q6256。服务维基库:标签{bd:serviceParam维基库:语言“en”。}按ASC顺序排列(?国家标签)