如何列出自定义 Wikibase 实例的所有属性

How to list all properties on a custom Wikibase instance

我正在尝试列出在我安装的 wikibase 中创建的所有属性,使用 docker-compose,基于 this 安装。

现在,想要列出此 wikibase 中可用的所有属性,类似于通过以下方式获取该列表:

<wikibase.url>wiki/Special:ListProperties

我还使用以下 SPARQL 查询通过 SPARQL 提取了该列表:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX schema: <http://schema.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

SELECT DISTINCT
  ?property
  ?propertyType
  ?propertyLabel
  ?propertyAltLabel
WHERE {
  ?property a wikibase:Property ;
              rdfs:label ?propertyLabel ;
              wikibase:propertyType ?propertyType .
  OPTIONAL {?property skos:altLabel ?propertyAltLabel .}
}

运行 虽然 SPARQL 查询很昂贵,但我需要 运行 经常查询,所以我非常想将该属性列表添加到核心 wikibase API .

这可能吗?

如果您知道目标 wiki 上属性的命名空间编号(如果 wiki 有一个项目:命名空间,通常是 122,或者如果像在维基数据上一样,项目在主命名空间中,则通常是 120),您可以使用核心 allpages API: https://www.wikidata.org/w/api.php?action=query&list=allpages&apnamespace=120

要同时获取标签,将其用作生成器并将其与实体术语结合使用 API(1.35 中的新功能;看起来还没有记录,但请参阅 T257658): https://www.wikidata.org/w/api.php?action=query&generator=allpages&gapnamespace=120&prop=entityterms&wbetterms=label