首页 > 解决方案 > Wikidata SPARQL 查询超时:按人口排序的国家标志

问题描述

使用以下 SPARQL 查询,我试图按人口的降序列出带有国旗的国家/地区。如果没有达到超时限制,我将无法运行它。当指示的行被注释掉时,它会在大约 2 秒内运行(但这会返回所有国家和所有国旗的笛卡尔积,而不仅仅是相关的对)。

SELECT ?country ?countryLabel ?flag ?population

WHERE {
    ?country wdt:P31 wd:Q6256;
             wdt:P1082 ?population.

    ?flag wdt:P31 wd:Q186516.
    ?flag wdt:P1001 ?country. # runs without this line
  
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

ORDER BY DESC(?population)
LIMIT 100

在这里试试

有谁知道为什么这个查询计算起来很复杂,以及如何让它运行?谢谢!

标签: sparqlwikidata

解决方案


推荐阅读