Dumps de Viquipèdia

1. Cicle de vida

2. Tipologia

3. Àmbit d'aplicació

Descripció

Viquipèdia és, sense cap mena de dubte, l’esforç col·laboratiu més gran realitzat per la humanitat. Malgrat no necessiti presentació, podem destacar que la Viquipèdia, en la versió anglesa, va aparèixer el 15 de gener de 2001 i avui ja conté més de 5.600.000 articles en aquest idioma, tot i que hi ha més de 290 versions en diferents idiomes amb més de 46 milions d’articles. La versió catalana destaca per ser la segona Viquipèdia creada després de l’anglesa, i compta ja amb més de 620.000 articles. La versió castellana, per la seva banda, conté actualment gairebé 1.540.000 articles, i representa la novena Viquipèdia en grandària i la quarta quant a nombre d’edicions i nombre d’editors considerats en actiu. Totes aquestes dades poden consultar-se aquí.

Com a base de dades, Viquipèdia és un recurs enorme, a més de canviant, atès que es troba en evolució constant. Això no impedeix poder obtenir bolcats (dumps), que es publiquen periòdicament per a cada versió idiomàtica de Viquipèdia, i que permeten disposar d’una fotografia fixa en un moment donat. L’anàlisi d’aquestes dades representa un repte, especialment pel seu volum, atès que els bolcats que es generen de Viquipèdia contenen tota la informació disponible fins avui, inclòs tot el contingut, les edicions fetes i la discussió generada entre els editors. Això suposa disposar d’emmagatzematge per a diversos centenars de gigabytes, en funció de l’anàlisi que es vulgui fer, així com la capacitat computacional necessària per a manipular aquesta quantitat de dades.

Els dumps es troben en diferents formats, un d’ells com a HTML estàtic (que seria exactament una «foto» de Viquipèdia en un moment donat), però els més interessants per al seu processament estan en fitxers XML i alguns en format SQL executable, que crea les taules necessàries per a explotar-los. Els fitxers estan comprimits per reduir-ne la grandària. Els dumps es generen de manera periòdica, depenent de l’idioma, i es guarden solament durant unes setmanes, per la qual cosa no és possible accedir a dumps antics. Normalment, dins de cada dump (i per a cada idioma) hi ha una carpeta anomenada latest que conté l’últim dump disponible. En principi, es genera un dump els dies 1 i 20 de cada mes.

Cada dump és una col·lecció de desenes de fitxers que contenen informació relativa a algun dels elements que componen Viquipèdia (pàgines, edicions, enllaços, etc.), i normalment es poden trobar com un únic fitxer per a cada concepte o bé com una col·lecció de fitxers més petits resultat de particionar l’anterior.

Enllaç al recurs

https://dumps.wikimedia.org/

Exemple d’ús

Suposem que volem analitzar el contingut de les pàgines de Viquipèdia. Dins del directori corresponent al dump hi ha un fitxer anomenat <idioma>wiki-<data>-pages-meta-current.xml.bz2, que té exactament aquest contingut en format XML, on <idioma> pot ser «es», «en», «ca», etc. i <data> és la data del dump en format AAAAMMDD o bé la cadena latest. Aquest fitxer ocupa diversos gigabytes, per la qual cosa tant la seva descàrrega com la seva descompressió i processament poden necessitar un temps considerable.

Una vegada descarregat i descomprimit el fitxer, el millor és processar-lo amb una llibreria adequada per a manipular fitxers XML, com per exemple MediaWiki XML Processing. Amb un senzill programa a Python és possible accedir a cada pàgina:

1      from mwxml import Dump, Page
2     
3      # Construct dump file iterator
4      dump = Dump.from_file(open("eswiki-20190801-pages-meta-current.xml
"))
5
6      # Iterate through pages
7      for page in dump .pages:
8          # Iterate through a page's revisions
9          for revision in page:
10             print(page.title,”|”,revision.timestamp,”|”,revision.user.text)

Aquest codi genera la sortida següent (per al dump de la Viquipèdia en espanyol):

Articles sol·licitats | 2019-04-20T20:35:43Z | Vercelas
Andorra | 2019-07-30T22:15:51Z | Rastrojo
Argentina | 2019-08-01T04:52:29Z | FARCROSX
Geografia d'Andorra | 2019-07-28T21:49:13Z | Aosbot
Demografia d'Andorra | 2019-04-13T20:45:56Z | InternetArchiveBot
Comunicacions d'Andorra | 2019-06-12T21:40:13Z | Mitadango
Arts visuals | 2019-07-30T01:39:39Z | Mel 23
Agricultura | 2019-07-26T14:35:45Z | SeroBOT
Astronomia galàctica | 2016-04-08T12:31:49Z | 187.217.107.130
ASCII | 2019-07-28T21:49:23Z | Aosbot
…

En aquest resultat, obtingut mitjançant el programa anterior, cada línia inclou el títol de la pàgina, la data de l’última revisió (edició) i el nom de l’usuari que la va fer, o bé des de quina adreça IP es va fer. Mitjançant l’ús de la llibreria mwxml és possible accedir a tots els elements que constitueixen una entrada (pàgina) a Viquipèdia, per exemple, per saber quines pàgines fa més temps que no s’editen, etc.

Enllaços relacionats

Informació sobre els dumps: https://meta.wikimedia.org/wiki/data_dumps

Últim dump en castellà: https://dumps.wikimedia.org/eswiki/latest/

Últim dump en català: https://dumps.wikimedia.org/eswiki/latest/

Manipulació de dumps: https://pythonhosted.org/mwxml/