Primeros pasos con Wikibase

07/04/2020

Wikidata es un entorno colaborativo para la edición de datos muy popular entre las instituciones GLAM (del inglés Galleries, Libraries, Archives and Museums). El sistema sobre el que funciona consiste en un mediawiki tradicional con una serie de plugins que permiten tener tu propio Wikidata instalado en local. Este sistema se llama Wikibase y se encuentra disponible en versión docker para facilitar su instalación.

Wikibase ha tomado un papel relevante en el mundo de las bibliotecas ya que facilita la colaboración de los usuarios y voluntarios. Además, proporciona un entorno que facilita la edición y enriquecimiento de datos donde es posible definir nuestro propio vocabulario desde cero. Las posibilidades son infinitas, aunque su instalación no se sencilla. La OCLC y Europeana, entre otras instituciones, han realizado un estudio sobre su utilización.

En este tutorial queremos presentar Wikibase como una herramienta útil para la edición colaborativa y nos basaremos en un ejemplo disponible en inglés. El ejemplo parte de la instalación de Wikibase para implementar código de python que facilita la creación de propiedades y entidades a partir de un fichero CSV. Los datos usados son del proyecto http://linkedjazz.org/.

Gestión de instancias de docker

Antes de comenzar a ejecutar nuestra instancia de docker, debemos comprobar que no tenemos otras instancias previas. Así listamos todas las instancias de docker en nuestro equipo:

docker container ls -a

Para poder eliminar las instancias que están corriendo podemos ejecutar el siguiente comando con el identificador de la instancia:

docker container rm idinstancia

Para crear la instancia de Wikibase lanzamos el siguiente comando desde la carpeta del proyecto de github:

sudo docker-compose up -d

Debemos comprobar el resultado del comando:

Desde ahora podremos acceder a nuestra instancia de Wikibase:

  • Wikibase http://localhost:8181/wiki/Main_Page
  • Punto acceso SPARQL http://localhost:8282/
  • QuickStatements http://localhost:9191 (Yo no he conseguido hacerlo funcionar)

Empezando a trabajar con nuestra instancia

Wikibase Quickstatements es accesible desde el link http://localhost:9191/#/ pero parece que no funciona en la versión docker. En la parte superior te aparece un enlace de ayuda que explica cómo deben proporcionarse los datos a Wikibase. Parece ser que no funciona, no he conseguido hacerlo funcionar.

Existe otra forma, mediante bots. Creas uno desde http://localhost:8181 en el link páginas especiales, apartado bot passwords.

Y nos devolverá:
The bot password for bot name «Bot1» of user «WikibaseAdmin» was created.

The new password to log in with WikibaseAdmin@Bot1 is lv05drjct7ef3gqk8g8o3els8tmj54h0. Please record this for future reference.
(For old bots which require the login name to be the same as the eventual username, you can also use WikibaseAdmin as username and Bot1@lv05drjct7ef3gqk8g8o3els8tmj54h0 as password.)

Ya tenemos operativo nuestro bot para trabajar en Wikibase.

Código python para alimentar Wikibase

Si bien desde páginas especiales podemos crear propiedades y entidades, resulta interesante poder realizar una inserción masiva de datos. Para poder alimentar Wikibase me basé en el ejemplo de medium  realizando algunas modificaciones. El código del tutorial usa la librería de WikidataIntegrator pero parece ser que una versión anterior a la actual. En nuestro repositorio de github podrás consultar el código actualizado que permite crear las propiedades e insertar las instancias.

En primer lugar descargamos el repositorio de github y actualizamos el fichero password y los scripts con nuestro usuario:

("WikibaseAdmin", "bot@eagrrbrjj4ecrnq00vjagm76kro2gcbl")

A continuación, lanzamos cargamos las propiedades con el siguiente comando:

python3 add_properties.py add_properties.csv

Desde Páginas especial, listado de propiedades podemos consultar las propiedades insertadas:

A continuación, ya podemos crear las instancias a partir de las propiedades lanzando el comando:

python3 add_items.py add_jazz_people_reducido.csv

¡Y ya tenemos nuestras instancias creadas en Wikibase!

Para poder realizar las pruebas reduje el fichero de de personas. En el proyecto de github podéis consultar el fichero original y adaptarlo a las propiedades de vuestra instancia de Wikibase.

En el interfaz podéis consultar las instancias creadas.