获取带有标签、altLabels 和描述的所有 Wikidata 项目列表的资源高效方式?

Resource-efficient way to obtain list of all Wikidata items with labels, altLabels and Description?

我想检查字符串 s 是否包含在任何维基数据项的标签、altLabel 或描述中,如果是,return 所有这些。 Wikidata 项的绝对数量禁止使用 SPARQL,因为它会超时,所以我需要在本地进行。我之前通过执行此查询并在本地解析结果对属性做了同样的事情:

SELECT ?property ?propertyLabel ?propertyDescription (GROUP_CONCAT(DISTINCT(?altLabel); separator = ", ") AS ?altLabel_list) WHERE {
    ?property a wikibase:Property .
    OPTIONAL { ?property skos:altLabel ?altLabel . FILTER (lang(?altLabel) = "en") }
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en" .}
 }
GROUP BY ?property ?propertyLabel ?propertyDescription

它产生一个看起来类似于 this "official" one on wikidata 的 table。 什么是 space-(理想情况下是时间)高效的方法来获取所有带有标签、描述和 altLabels 的维基数据项目的 list/table,就像上面的一样?也就是说,我能否以某种方式避免下载整个维基数据转储、解析它并使用标准硬件自行构建列表? 我找到了 this 工具,但不确定是否能够满足我的需要。我也不想浪费社区资源。

wdumps 工具有效并且似乎最接近您的要求,我。 e.一个完整的列表。如果您查看该工具最近运行的列表,您可能会找到您需要的东西,因为这是一个常见的问题。

除了在本地处理整个列表外,文档还推荐使用 SPARQL 接口连接维基百科的“常规”搜索引擎,如下所示:

SELECT ?item ?label
WHERE
{
  SERVICE wikibase:mwapi
  {
    bd:serviceParam wikibase:endpoint "www.wikidata.org";
                    wikibase:api "Generator";
                    mwapi:generator "search";
                    mwapi:gsrsearch "inlabel:Frankfurt";
                    mwapi:gsrlimit "max".
    ?item wikibase:apiOutputItem mwapi:title.
  }
  ?item rdfs:label ?label.
  FILTER CONTAINS(?label, "Frankfurt")
}

并且,作为第三种可能性,我想提及 https://query.wikidata.org/bigdata/ldf 处的界面。这是数据的 little-known API。从它的速度和文档来看,它非常高效。但是,正如链接示例查询所示,有 十亿分之一 个标签,因此即使是像这样的快速访问方法也将是一个挑战。