Mova0.6 pre-release⌕
☰
home / docs / tools / wikt-extract — English Wiktionary entries as an add-on dictionary module

wikt-extract — English Wiktionary entries as an add-on dictionary module

Reads the English entries of the English Wiktionary from the raw multistream dump and writes them as a Mova add-on module (Add-on modules): a dictionary layer in the columns of the school layers plus extra columns, its gap and coverage reports, and module.json. The output is CC BY-SA 4.0 and GFDL, like Wiktionary: it is distributed apart from Mova and never enters the repository, a release or a binary (Data and model licences).

Run

cargo build --release -p wikt-extract
D=$MOVA_DATA/raw/wiktionary/enwiktionary/20260901
target/release/wikt-extract page  $D telly mate             # the rows of some pages
target/release/wikt-extract build $D $MOVA_DATA/modules/wiktionary-en/20260901-1 --threads 6
target/release/wikt-extract check $MOVA_DATA/modules/wiktionary-en/20260901-1
target/release/wikt-extract cover LAYER WORDS               # which words of a list have an entry

build refuses an output folder that already holds a module.json (a version is written once) or lies inside a Git work tree. Measurements of the full pass, the coverage and the limits: Data, libraries and licences, «Wiktionary».

How it works

Layer columns

#columnexample
1word (the page title)telly
2part of speechnoun
3meaning: senses numbered, labels in brackets1) Television. 2) A television set.
4sense in the lessons (empty)
5examples, by sense number1: Not much on telly tonight, as usual!
6note: the etymology numberetymology 1
7labels, by sense (* = the head line)*:UK,Commonwealth,Ireland,colloquial
8synonyms, by sense (* = the Synonyms section)*:tube,TV
9antonyms
10formscountable=both; plural=tellies; raw=s<l:nonstandard>
11form of, by sense1:diminutive of:breakfast (brekkie)
12gaps: templates with no handlerantonym×1
13provenance: page id, revision id, dump file, stream offset74428 rev 91706010 enwiktionary-…-p1p1500000.bz2@80233783

The first six are the columns world::dictstore reads for every layer; it keeps 7–13 as Entry::extra (dictstore::EXTRA_COLUMNS). The header's first line declares the licence (# License: CC BY-SA 4.0 and GFDL …), so dictstore::shippable refuses the file for a shipped use.

Limits

This page in Markdown → https://md.mova.elamur.ai/free/en/docs/tools/wikt-extract/