Filter and format a newline-delimited JSON stream of Wikibase entities
  • JavaScript 96.9%
  • Shell 3.1%
Find a file
2026-04-12 16:47:36 +02:00
.github add .github/README.md 2026-04-12 16:47:35 +02:00
bin scripts: pre-commit: only lint staged files 2025-09-04 12:47:45 +02:00
docs docs: parallelize: replace load-balance-lines with GNU parallel 2025-09-04 13:12:38 +02:00
lib format_entity lib: fix case where type is not kept 2025-09-04 12:47:45 +02:00
scripts scripts: pre-commit: only lint staged files 2025-09-04 12:47:45 +02:00
tests scripts: pre-commit: only lint staged files 2025-09-04 12:47:45 +02:00
.eslintrc.cjs convert project to ESM 2024-10-14 13:29:08 +02:00
.gitignore convert project to ESM 2024-10-14 13:29:08 +02:00
.npmignore + npmignore to re-include the build folder ignored by git 2016-04-28 00:12:31 +02:00
CHANGELOG.md changelog: update 2025-09-04 12:06:51 +02:00
package-lock.json 6.1.1 2025-09-04 12:47:52 +02:00
package.json package.json: update repository 2026-04-12 16:47:36 +02:00
README.md docs: cli: reword warning on prefiltering 2025-09-04 11:05:20 +02:00

wikibase-dump-filter

Filter and format a newline-delimited JSON stream of Wikibase entities.

Typically useful to create a formatted subset of a Wikibase JSON dump.

Some context: This tool was formerly known as wikidata-filter. Wikidata is an instance of Wikibase. This tool was primarly designed with Wikidata in mind, but should be usable for any Wikibase instance.

This project received a Wikimedia Project Grant.


wikibase           wikidata

License Node JavaScript Style Guide

NPM Download stats

Summary

Install

this tool requires to have NodeJs installed.

# Install globally
npm install -g wikibase-dump-filter
# Or install just to be used in the scripts of the current project
npm install wikibase-dump-filter

Changelog

See CHANGELOG.md for version info

Download dump

Wikidata dumps

Wikidata provides a bunch of database dumps, among which the desired JSON dump. As a Wikidata dump is a very laaarge file (April 2020: 75GB compressed), it is recommended to download that file first before doing operations on it, so that if anything crashes, you don't have to start the download from zero (the download time being usually the bottleneck).

wget --continue https://dumps.wikimedia.org/wikidatawiki/entities/latest-all.json.gz
cat latest-all.json.gz | gzip -d | wikibase-dump-filter --claim P31:Q5 > humans.ndjson

Your own Wikibase instance dump

You can generate a JSON dump using the script dumpJson.php. If you are running Wikibase with wikibase-docker, you could use the following command:

cd wikibase-docker
docker-compose exec wikibase /bin/sh -c "php ./extensions/Wikibase/repo/maintenance/dumpJson.php --log /dev/null" > dump.json
cat dump.json | wikibase-dump-filter --claim P1:Q1 > entities_with_claim_P1_Q1.ndjson

How-to

This package can both be used as a command-line tool (CLI) and as a NodeJS module. Those 2 uses have their own documentation page but the options stay the same, and are documented in the CLI section

See Also


You may also like

inventaire banner

Do you know Inventaire? It's a web app to share books with your friends, built on top of Wikidata! And its libre software too.

License

MIT