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
由于有超过一百万个实例,因此该查询已达到1分钟的超时,而且我认为优化查询的可能性不大,因为即使没有属性,且LIMIT
为10条目,查询就会遇到超时:
SELECT ?item
WHERE {
?item wd:P31/wdt:P279*|wdt:P279* wd:Q11173.
}
我可以通过编写分而治之脚本来分别查询子类,但是在此之前,我想检查一个更简单的可能性: