如何减少维基数据上SPARQL查询的查询时间?

时间:2017-01-01 22:24:46

标签: sparql wikidata

我想在英语维基百科上为人们创建出生和死亡的直方图,但我在维基数据上遇到查询时限。

我形成了以下查询:

PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX schema: <http://schema.org/>

SELECT ?item ?article ?_date_of_birth ?_date_of_death WHERE {
  ?item wdt:P31 wd:Q5.
  ?article schema:about ?item.
  ?article schema:isPartOf <https://en.wikipedia.org/>.
  OPTIONAL { ?item wdt:P569 ?_date_of_birth. }
  OPTIONAL { ?item wdt:P570 ?_date_of_death. }
}

LIMIT 10000

Try it here

这本身就可以正常工作,但是当我试图获取整个列表时,当我开始添加偏移量时,我会遇到OFFSET 500000左右的查询时间限制。根据维基数据手册,我应该尝试优化我的查询,但有没有办法优化这个?维基百科肯定有超过50万人,因为只是发现“出生日期”模板的翻译产量超过600000。

我也尝试过dbpedia,但其中一些已经过时了,例如Muhammad Ali在dbpedia上没有死亡日期。

我也尝试不过滤掉英文文章,即要求所有这些文章并在我的文章中进行过滤,但类似的缩放问题仍然存在,尽管偏差更大。

0 个答案:

没有答案