From e78c4df403e5f98afa08f7a0841ff233d5f6d05b Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Wed, 22 Jun 2022 01:42:41 +1000 Subject: Update backend READMEs, rename some files for consistency --- backend/data/enwiki/README.md | 73 +++++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 30 deletions(-) (limited to 'backend/data/enwiki/README.md') diff --git a/backend/data/enwiki/README.md b/backend/data/enwiki/README.md index 6462d7d..1c16a2e 100644 --- a/backend/data/enwiki/README.md +++ b/backend/data/enwiki/README.md @@ -1,39 +1,52 @@ -Downloaded Files -================ +This directory holds files obtained from/using [English Wikipedia](https://en.wikipedia.org/wiki/Main_Page). + +# Downloaded Files - enwiki-20220501-pages-articles-multistream.xml.bz2
- Obtained via - (site suggests downloading from a mirror). Contains text - content and metadata for pages in English Wikipedia - (current revision only, excludes talk pages). Some file - content and format information was available from - . + Obtained via (site suggests downloading from a mirror). + Contains text content and metadata for pages in enwiki. + Some file content and format information was available from + . - enwiki-20220501-pages-articles-multistream-index.txt.bz2
Obtained like above. Holds lines of the form offset1:pageId1:title1, - providing offsets, for each page, into the dump file, of a chunk of + providing, for each page, an offset into the dump file of a chunk of 100 pages that includes it. -Generated Files -=============== +# Generated Dump-Index Files +- genDumpIndexDb.py
+ Creates an sqlite-database version of the enwiki-dump index file. - dumpIndex.db
- Holds data from the enwiki dump index file. Generated by - genDumpIndexDb.py, and used by lookupPage.py to get content for a - given page title.
+ Generated by genDumpIndexDb.py.
Tables:
- - offsets: title TEXT PRIMARY KEY, id INT UNIQUE, offset INT, next\_offset INT -- enwikiData.db
- Holds data obtained from the enwiki dump file, in 'pages', - 'redirects', and 'descs' tables. Generated by genData.py, which uses - python packages mwxml and mwparserfromhell.
+ - `offsets`: `title TEXT PRIMARY KEY, id INT UNIQUE, offset INT, next_offset INT` + +# Description Database Files +- genDescData.py
+ Reads through pages in the dump file, and adds short-description info to a database. +- descData.db
+ Generated by genDescData.py.
Tables:
- - pages: id INT PRIMARY KEY, title TEXT UNIQUE - - redirects: id INT PRIMARY KEY, target TEXT - - descs: id INT PRIMARY KEY, desc TEXT -- enwikiImgs.db
- Holds infobox-images obtained for some set of wiki page-ids. - Generated by running getEnwikiImgData.py, which uses the enwiki dump - file and dumpIndex.db.
+ - `pages`: `id INT PRIMARY KEY, title TEXT UNIQUE` + - `redirects`: `id INT PRIMARY KEY, target TEXT` + - `descs`: `id INT PRIMARY KEY, desc TEXT` + +# Image Database Files +- genImgData.py
+ Used to find infobox image names for page IDs, storing them into a database. +- downloadImgLicenseInfo.py
+ Used to download licensing metadata for image names, via wikipedia's online API, storing them into a database. +- imgData.db
+ Used to hold metadata about infobox images for a set of pageIDs. + Generated using getEnwikiImgData.py and downloadImgLicenseInfo.py.
Tables:
- - page\_imgs: page\_id INT PRIMAY KEY, img\_name TEXT - (img\_name may be null, which is used to avoid re-processing the page-id on a second pass) - - imgs: name TEXT PRIMARY KEY, license TEXT, artist TEXT, credit TEXT, restrictions TEXT, url TEXT - (might lack some matches for 'img_name' in 'page_imgs', due to inability to get license info) + - `page_imgs`: `page_id INT PRIMAY KEY, img_name TEXT`
+ `img_name` may be null, which means 'none found', and is used to avoid re-processing page-ids. + - `imgs`: `name TEXT PRIMARY KEY, license TEXT, artist TEXT, credit TEXT, restrictions TEXT, url TEXT`
+ Might lack some matches for `img_name` in `page_imgs`, due to licensing info unavailability. +- downloadEnwikiImgs.py
+ Used to download image files into imgs/. + +# Other Files +- lookupPage.py
+ Running `lookupPage.py title1` looks in the dump for a page with a given title, + and prints the contents to stdout. Uses dumpIndex.db. + -- cgit v1.2.3