1 Présentation d’Openrefine

1.1 Fonctionnalités principales

  • Explorer un tableau de données : tris, facettes, regroupement de valeurs proches
  • Corriger et harmoniser des données
  • Restructurer des données
  • Enrichir des données (croisement de données, utilisation de web services, web scraping, “réconciliation”)
  • Documenter les opérations pour les rendre reproductibles

Le tout dans une interface graphique fonctionnant dans un navigateur : résultat des opérations immédiatement visible.

Pas ou peu de connaissances en programmation pour les opérations simples, mais l’utilisation du langage GREL ou de Python est nécessaire pour profiter du potentiel de l’outil.

Ce n’est pas un outil d’analyse

Ce n’est pas un tableur contrairement aux apparences :

  • Modification globale d’un fichier colonne par colonne, même s’il est possible d’éditer une cellule séparément
  • Pas fait pour saisir des données, ni pour réaliser des calculs ou des graphiques
  • Séparation entre les données et les traitements : les formules ne sont pas contenues dans les cellules
  • Pagination des données (on ne peut pas voir plus de 50 lignes d’un coup)

1.2 Positionnement

  • Outils dédiés à la préparation de données
    • Openrefine (téléchargeable, gratuit)
    • Workbench data (en ligne, gratuit) [Nouveau, pour un public de data journalists]
    • Trifacta (en ligne, payant, version gratuite limitée)
    • Talend data preparation (téléchargeable, payant, version gratuite limitée)
    • Tableau prep (téléchargeable, payant)
  • Outils d’analyse de données ou d’Extract-transform-load
    • Data science studio (téléchargeable, payant, version gratuite)
    • Knime
    • Rapidiner
    • Pentaho
    • Talend (autres outils de la suite)
  • Tableurs
    • MS Excel
    • Libreoffice
    • Google Sheets
  • Scripts
    • R
    • Python
    • et bien d’autres langages
Avantages d’Openrefine Inconvénients
Fonctions absentes des tableurs traditionnels Langage spécifique
Interface graphique Modèle de données contraint (tabulaire)
Totalement libre et gratuit Pas adapté au “big data”
Installation PC, Linux, Mac Ne traite pas de données en flux
Enregistrement des opérations réalisés Gourmand en mémoire
Maîtrise des données Pas de fonction collaborative
Large communauté d’utilisateurs Formats d’imports limités
Extensibilité (plug-ins)

A propos de la perfomance : difficile de donner des chiffres exacts, tout dépend des opérations réalisées et de la mémoire vive alouée au programme! Avec 2 Go on traite sans problème au moins 100 000 lignes avec de nombreuses colonnes, et au moins 500 000 avec 3 ou 4 colonnes).

Openrefine n’est pas fait pour traiter des “big data” (plusieurs millions de lignes…), mais un ensemble d’opérations peut être répété automatiquement ou manuellement sur plusieurs fichiers.

1.3 Quelques exemples d’utilisation

1.3.1 Bibliothèques, archives, musées

1.4 Historique

2009 : logiciel Gridworks développé par Metaweb, comme outil pour faciliter l’alimentation de leur base de connaissance sémantique Freebase
2010: rachat de Metaweb par Google. Nouveau nom: Google Refine
2012 : libération du code par Google. Nouveau nom: OpenRefine

Logiciel opensource et gratuit, développement communautaire.
Un petit nombre de développeurs actifs (4 ou 5), mais une communauté plus large (testeurs, traducteurs, etc.) Développement redynamisé depuis l’an dernier (financement obtenu de la fondation Google News). commits

Versions récentes

2.5 (2013). Dernière version compatible avec certaines extensions 2.7 (06/2017) 2.8 (11/2017) 3.0 (09/2018) 3.1 (béta en 11/2018)

La feuille de route prévoit des évolutions importantes en 2019.

  • Nouveautés 2.7
    • Service de réconciliation Wikidata par défaut (remplace Freebase)
    • Export possible des clusters
    • Support d’opérateurs AND et OR multiples
    • Menu « Transformer » dans la colonne « Tous » pour appliquer une opération à plusieurs colonnes
  • Nouveautés 2.8
    • Description enrichie de chaque projet
    • Amélioration de la réconciliation Wikidata
    • Eclatement de cellules multi-valuées par expressions régulières et caractères spéciaux
    • Filtre par exclusion
    • Indication de la quantité de mémoire disponible
    • Amélioration de l’interface
  • Nouveautés de la version 3.0
    • Export au format datapackage
    • Export facilité vers Wikidata
    • Import/export dans Google Drive
    • Import depuis une base de données (MySQL, MariaDB, PostgreSQL)
    • Export en SQL
    • Gestion des entêtes HTTP lors de la récupération de données depuis une URL
    • Description améliorée des différents projets (ajout de tags…)
    • Meilleure gestion des valeurs vides et nulles
    • Prise en compte des limites des enregistrements pour les opération de remplissage / effaçage [buggué :/ ]
    • Nouvelle fonction (find) pour faciliter la détection de motifs
    • Nouvelle fonction (coalesce) pour manipuler les valeurs nulles
  • Nouveautés de la version 3.1
    • Menu chercher/remplacer
    • Import de données sémantiques en JSON-LD
    • La fonction smartSplit() supporte n’importe quelle chaîne et plus uniquement un caractère isolé
    • Champ pour préciser le nom des colonnes lors de l’import de CSV/TSV
    • Possibilité d’importer et exporter un schéma Wikidata en JSON
    • Possibilité de marquer une colonne comme réconciliée sans appeler un service de réconciliation
    • Autocomplétion lors de la saisie de résumés pour Wikidata

1.5 Documentation et références

1.5.1 Sites officiels

1.5.3 Base de connaissance et groupes de discussion

Conversations sur Twitter

1.5.4 Pour aller plus loin

Voir la liste de références en Annexe