Wikidata:Eines/Per programadors

This page is a translated version of the page Wikidata:Tools/For programmers and the translation is 8% complete.
Per programadors

Command-line tools

 
Screenshot of wikidata-taxonomy.

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
  1. 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
  1. Pywikibot does not support e.g. wbgetclaims. Also note that a major API change is planned. (phab:T186200)
  2. Pywikibot does not support wbsetqualifier or wbsetreference. (phab:T186198)
  3. 3.0 3.1 There are several API actions not (yet) supported by Wikibase Integrator. ([1])
  4. 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).

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 Germartin1
Wikipedia Tools (for Humans)

wptools is a python library intended to make it as easy as possible to get data from MediaWiki instances, expose more Wikidata, and extend Wikimedia APIs just for kicks. We say (for Humans) because that is a goal.

by Siznax
wikidatanpm
Javascript library that make queries easier.
by MCheca5
wikirepo
Python based Wikidata framework for easy dataframe extraction.
by AndrewTavis


Data 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
GraphQL API permet interactuar amb el contingut de Wikidata. L'URI de l'API és https://tptools.toolforge.org/wdql.php, que segueix les especificacions Relay.
by Tpt


Import tools

Catmandu-Wikidata
Mòdul Perl per importar entitats de Wikidata per processar-les amb Catmandu ETL framework
by JakobVoss
RaiseWikibase

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.

by RShigapov
elastic-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
Wikidata Subset Search Engine
Tools to setup an ElasticSearch instance fed with subsets of Wikidata
by Maxlath

Other datasets

QRank

A ranking signal for Wikidata. Periodically (re)computed from Wikimedia pageviews, available for bulk download. For an introduction, see the README file.

by Sascha
Wikidata Lang

A JSON/JS index of 183 languages accessible either by their 2-letters language code or Wikidata Qid.

by Maxlath

Other

Tool Translate

Offers a centralized, user-friendly way for The Community (TM) to provide translations for tools.

by Magnus Manske

See also