GallicaSPARQLBot

De Wikipast
Aller à la navigation Aller à la recherche

Le GallicaSPARQLBot est un bot python complétant ou générant automatiquement des pages Wikipast à partir des données de la Bibliothèque nationale de France (BnF).

Le code pour le bot est disponible sur ce repo GitHub. Pour exécuter le bot, il suffit de lancer le fichier python execute_bot.py en passant le mot de passe du GallicaSPARQLBot en argument.

Dans un premier temps, le bot cherche, à travers des requêtes SPARQL, l'intégralité des auteurs appartenant à la base de données de la BnF.

A partir de la liste d'auteur sont récupérés les fichiers json de chaque auteur. Ils contiennent les informations suivantes:

  • La date/le lieu de Naissance de l'auteur,
  • La date/le lieu de Mort de l'auteur,
  • Une liste des œuvres principales de l'auteur,
  • Une image de profil de l'auteur (si elle existe).

A partir de la liste des œuvres principales de chaque auteur sont récupérés les fichiers json de chaque auteur. Ils contiennent les informations suivantes:

  • La date de création de l’œuvre,
  • Le type de l’œuvre (Art Graphique, Livre, ...),
  • L'Auteur de l’œuvre,
  • Une illustration de l’œuvre (si elle existe).

A partir de ces fichiers, le bot crée la page Wikipast liée à chaque auteur en y ajoutant un lien vers l'image de profil (si elle existe dans la BnF), leurs dates de naissance et de mort ainsi que ses œuvres principales (uniquement celles contenant une date); une page Wikipast est créée pour chacune de ces œuvres avec une illustration (si elle existe dans la BnF). Ces ajouts sont chacun accompagnés de liens renvoyant vers le site de la BnF et sont normalisés de la façon suivante:

Pour la date de naissance :

 1840.11.14 / Paris 9e. Naissance de Claude Monet. 

Pour la date de décès :

 1926.12.06 / Giverny. Décès de Claude Monet. 

Pour une œuvre :

 1879. Création par Claude Monet de Camille sur son lit de mort (Monet). 

Exemple d'œuvre complète

Exemple d'auteur ayant des dates compliqués à gérer

Afin d'éviter des collisions entre le nom de plusieurs œuvres ainsi qu'entre le nom d'une œuvre et celui d'un auteur, il a donc été choisi de nommer les œuvres de la façon suivante : Nom de l’œuvre + Nom de l'auteur (Exemple : Claude Monet de Camille sur son lit de mort (Monet) ).

La Gestion des homonymes utilise la politique du premier arrivé, premier servi. Si nous voulons insérer un auteur et que son nom n'existe pas encore sur Wikipast, alors une page est créée normalement, au contraire, si il existe déjà une page avec le nom de l'auteur alors une page est créée mais son titre sera composé du nom de l'auteur suivi identifiant utilisateur de la Bnf (uid) entre parenthèse (Exemple : .......).

Chacune des pages explorées par le bot sont agrémentées d'un identifiant BnF (BnF id) et de leur type Wikidata.


Performances

Le bot permet de créer en moyenne 1000 pages d'auteurs (sans compter les pages d'œuvres) en environ 7 minutes. Ceci fait fait que l'import total (environ 500'000 auteurs) ne devrait pas prendre plus de 2.5 jours. Cette vitesse a été atteinte en parallélisant le programme, permettant une diminution très importante du temps total.

Suite à la création de 7000 auteurs (ainsi que de nombreuses œuvres), les estimations pratiques se rangent plutôt dans les 7 jours.


Exemple d'utilisation

Pour un auteur:


Page Audran.png


Pour une œuvre:


Oeuvre Audran.png