sparql - 使用 SPARQL 查询按 GDP 重新创建 Wikipedia 州列表
问题描述
我正在尝试重新创建此列表:
https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States_by_GDP
使用 Wikidata SPARQL 查询。
我可以使用此查询按人口查找州
此外,这些字段:
- 人口 (P1082)
- 国内生产总值 (P2131)
- 还有一些额外的,比如失业(P1198)
维基项目经济学涵盖,但仅在国家层面。
也就是说,看到“按 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 年等,但我会先满足于学习香草。)
解决方案
由于 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)
它还考虑按年份分组。
推荐阅读
- azure-data-explorer - 使用 Azure 数据资源管理器使用动态值汇总和透视数据集中的数据
- python - 检测变量并在设置脚本中获取其值
- laravel - 动态接收id和model
- postgresql - Nginx tcp 流反向代理
- c# - C# Directory.GetFolder 对文件夹进行排序并将它们设置为 List<> 而不会丢失内存并执行额外的排序操作
- python - Python cProfile/pstats 导致溢出?
- reactjs - 条件反应文本掩码渲染
- python - 返回与其元组的第二个元素中的最大值链接的字典键
- npm - Node-RED 输入/输出未显示
- cesium - 使用 Cesium.CallbackProperty 显示/隐藏实体