我可以在本地对Wikidata转储运行SPARQL查询吗?

时间:2019-12-08 20:40:57

标签: sparql wikidata wikidata-api

TL; DR:是否可以在本地下载和安装用于Wikidata的SPARQL端点query.wikidata.org的数据和软件?我需要这个的原因是我有要运行的查询,这些查询经常会超时。

在另一个SO问题中,我读到该软件是Blazegraph。

长版:

我正在使用SPARQL查询服务https://query.wikidata.org对它运行非常繁重的查询。例如,以下查询检索所有化合物(Q11173实例或其子类的实例)的列表:

SELECT ?item ?boiling_point ?melting_point ?decomp_point ?mass ?smiles
  (GROUP_CONCAT(DISTINCT ?chemFormula; SEPARATOR=", ") AS ?chemFormulae)
  (GROUP_CONCAT(DISTINCT ?chemStructure; SEPARATOR=", ") AS ?chemStructures)
  WHERE {
    ?item wd:P31/wdt:P279*|wdt:P279* wd:Q11173.

    OPTIONAL { ?item wdt:P2102 ?boiling_point. }
    OPTIONAL { ?item wdt:P2101 ?melting_point. }
    OPTIONAL { ?item wdt:P2107 ?decomp_point. }
    OPTIONAL { ?item wdt:P2067 ?mass. }
    OPTIONAL { ?item wdt:P274 ?chemFormula. }
    OPTIONAL { ?item wdt:P117 ?chemStructure. }
    OPTIONAL { ?item wdt:P233 ?smiles. }
  }
  GROUP BY ?item ?boiling_point ?melting_point ?decomp_point ?mass ?smiles

Here's a direct link

由于有超过一百万个实例,因此该查询已达到1分钟的超时,而且我认为优化查询的可能性不大,因为即使没有属性,且LIMIT为10条目,查询就会遇到超时:

SELECT ?item
  WHERE {
    ?item wd:P31/wdt:P279*|wdt:P279* wd:Q11173.
  }

Direct link

我可以通过编写分而治之脚本来分别查询子类,但是在此之前,我想检查一个更简单的可能性:

0 个答案:

没有答案