ويكي بيانات:أدوات/للمبرمجين
للمبرمجين |
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, [٢]) | .NET | Yes | Yes | No | Yes[٣] |
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 |
- ↑ 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. ([١])
- ↑ 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.
Data quality
See: Wikidata:WikiProject Schemas#Tools
GraphQL
Import tools
A Python tool for fast inserts into a Wikibase instance. RaiseWikibase 1) uploads up to a million entities and wikitexts per hour, 2) fills data directly into the MariaDB database, and 3) can create a bot account for the wrappers of the Wikibase API.
Simple Python CLI to load subsets of Wikidata into ElasticSearch from a dump or SPARQL query. Automatically paginates SPARQL queries for bulk loading.
Other datasets
A ranking signal for Wikidata. Periodically (re)computed from Wikimedia pageviews, available for bulk download. For an introduction, see the README file.
Other
Offers a centralized, user-friendly way for The Community (TM) to provide translations for tools.