Wikidata:Tools/For programmers/zh
供程序员使用 |
Command-line tools
- Wikibase API
- Wikibase-CLI — Read and edit Wikidata or any Wikibase instance from the command line
- Wikidata Query Service
- wdq — Command line client to Wikidata Query Service (Q20950365)
- wikidata-taxonomy — Command line tool to extract taxonomies from Wikidata
- wikidata-dl — Command line program for downloading data from Wikidata based on SPARQL queries.
- Wikidata dumps
- wikibase-dump-filter — Filter and format a newline-delimited JSON stream of Wikibase entities
Data access libraries
Name | Language | Wikibase API | WDQS | JSON dumps | |
---|---|---|---|---|---|
Read | Write | ||||
wikibase-sdk | JavaScript | Yes | via wikibase-edit | Yes | via wikibase-dump-filter |
Wikidata Toolkit (docs) | Java | Yes | Yes | No | Yes |
WikiClientLibrary (docs, [2]) | .NET | Yes | Yes | No | Yes[3] |
go-wikidata (docs) | Go | Yes | No | No | No |
WikidataR (docs) | R | Yes | QS[1] | Yes | No |
WikidataQueryServiceR (docs) | R | No | No | Yes | No |
JsonDumpReader | PHP | No | No | No | Yes |
sparesults (docs) | Rust | No | No | Yes | No |
Wikidata for Ruby | Ruby | Yes | No | No | No |
- ↑ While WikidataR doesn't support writing via the Wikibase Action API, it supports writing via QuickStatements.
Python libraries
Name | Type hints | Wikibase API | WDQS | JSON dumps | |
---|---|---|---|---|---|
Read | Write | ||||
Pywikibot (docs) | Yes | Partial[1] | Partial[2] | Yes | No |
Wikibase Integrator (docs) | Yes | Partial[3] | Partial[3] | Yes | Yes |
Wikidata Integrator | No | Partial | Partial | Yes | No |
qwikidata (docs) | Yes | LDI[4] | No | Yes | Yes |
wikidata (docs) | Yes | LDI[4] | No | No | No |
KGTK (docs) | No | No | No | No | Yes |
- ↑ Pywikibot does not support e.g.
wbgetclaims
. Also note that a major API change is planned. (phab:T186200) - ↑ Pywikibot does not support
wbsetqualifier
orwbsetreference
. (phab:T186198) - ↑ 3.0 3.1 There are several API actions not (yet) supported by Wikibase Integrator. ([1])
- ↑ 4.0 4.1 While qwikidata and the
wikidata
package don't support the Wikibase Action API, they support the Linked Data Interface.
Batch validation
Wikidata Integrator (Q31743627) is the only one of these libraries that has native support validation of items against entity schemas (code example needed).
Wikibase Integrator (Q108259643) can be used with entityshape (Q119899931) as shown in this notebook.
Simplifying libraries
The following libraries either simplify an existing API, automatically resolve labels or provide property-specific functions.
Entitree Helper
A JavaScript helper package (using TypeScript) based on wikidata-sdk to easily query and process data.
by Germartin1Wikipedia Tools (for Humans)
wptools 是一个 python 库,旨在使从 MediaWiki 实例中获取数据、揭露更多的 Wikidata、扩展 Wikimedia API 等变得尽可能容易。因为这是本工具的目标。
by SiznaxData quality
See: Wikidata:WikiProject Schemas#Tools
GraphQL
GraphQL
Development of a GraphQL API inspired by Tpt's original implementation below. There are a bit more features.
GraphQL API
by Tpt
Import tools
RaiseWikibase
一个用于快速插入 Wikibase 实例的 Python 工具。RaiseWikibase 1)每小时最多可上传一百万个实体和维基百科,2)直接将数据填入 MariaDB 数据库,3)可以为基于维基百科 API 的封装创建一个机器人账户。
by RShigapovelastic-wikidata
Simple Python CLI to load subsets of Wikidata into ElasticSearch from a dump or SPARQL query. Automatically paginates SPARQL queries for bulk loading.
by Kdutia