1 wikiq: a WikiMedia XML data dump to .tsv parser
3 author: Erik Garrison <erik@hypervolu.me>
8 wikiq is written in C using expat. It is designed to enable researchers to
9 rapidly extract revision histories (minus text and comments) from impossibly
15 To use, first make sure you have libexpat and libpcrecpp installed, then:
18 % ./wikiq -h # prints usage
19 % 7za e -so hugewikidatadump.xml | ./wikiq >hugewikidatadump.tsv
24 In addition to parsing WikiMedia XML data dumps into a tab-separated tabular
25 format, wikiq extracts article diffs and can execute arbitrary Perl-compatible
26 regular expressions against the additions and deletions which differentiate any
27 revision from the previous. Any number of regular expressions may be supplied
28 on the command line, and may be tagged using the '-n' option.
30 MD5 checksums are used at runtime for precise detection of reversions.
35 wikiq generates these fields for each revision:
37 title, articleid, revid, timestamp, anon, editor, editorid, minor,
38 text_length, text_entropy, text_md5, reversion, additions_size, deletions_size
39 .... and additional fields for each regex executed against add/delete diffs
41 Boolean fields are TRUE/FALSE except in the case of reversion, which is blank
42 unless the article is a revert to a previous revision, in which case, it
43 contains the revision ID of the revision which was reverted to.
46 author: Erik Garrison <erik@hypervolu.me>