首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何列出自定义Wikibase实例上的所有属性

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

Stack Overflow用户
提问于 2020-09-26 14:59:41
回答 1查看 297关注 0票数 2

我试图列出在我安装的wikibase上创建的所有属性,使用基于安装的docker。

现在,希望列出此wikibase中可用的所有属性,类似于通过以下方法获得该列表:

代码语言:javascript
复制
<wikibase.url>wiki/Special:ListProperties

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

代码语言:javascript
复制
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。

这有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-26 15:40:34

如果您知道目标wiki上属性的命名空间号(如果wiki有一个项目:命名空间,通常是122个,或者如果像维基数据一样,项目位于主名称空间中,则为120个),那么您可以使用核心allpageshttps://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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64079134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档