首页 > 解决方案 > 使用 SPARQL 查询按 GDP 重新创建 Wikipedia 州列表

问题描述

我正在尝试重新创建此列表:

https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States_by_GDP

使用 Wikidata SPARQL 查询。

我可以使用此查询按人口查找州

此外,这些字段:

维基项目经济学涵盖,但仅在国家层面。

也就是说,看到“按 GDP 排列的美国州和地区列表”一文让我认为至少 P2131 可能在州一级可用。

尝试了以下查询

SELECT DISTINCT ?state ?stateLabel ?population ?gdp
{
  ?state wdt:P31 wd:Q35657 ;
         wdt:P1082 ?population ;
         wdt:P2131 ?gdp ;
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
GROUP BY ?state ?population ?stateLabel ?gdp
ORDER BY DESC(?population)

并且看不到匹配项。什么是正确的查询?

(给定年份的时间点会很好,比如表格如何给我 2019 年、2020 年等,但我会先满足于学习香草。)

标签: sparqlwikidata

解决方案


由于 Wikidata 内部约定,我不得不上传有关美国经济的项目中的 GPD 数据,这些数据通过属性P8744链接。

例如,对于缅因州,您将找到缅因州经济中的数据。

这是获取所需内容的正确查询(测试):

SELECT DISTINCT ?state ?stateLabel ?population ?gdp (year(?date) as ?year)
{
  ?state wdt:P31 wd:Q35657 ;
         wdt:P1082 ?population ;
         wdt:P8744/wdt:P2131 ?gdp .
  ?gdpStmt ps:P2131 ?gdp ;
           pq:P585 ?date .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
GROUP BY ?state ?population ?stateLabel ?gdp ?date
ORDER BY DESC(?year) DESC(?population)

它还考虑按年份分组。


推荐阅读