1 Présentation d’OpenRefine
1.1 Fonctionnalités principales
OpenRefine permet de réaliser de manière interactive différentes opérations sur des données présentées de manière tabulaire :
- Exploration
- Correction et harmonisation
- Transformation
- Restructuration
- Enrichissement
Les opérations sont enregistrées et reproductibles.
Les opérations simples sont réalisables à partir d’un menu mais l’utilisation du langage GREL (spécifique à OpenRefine) ou de Python est nécessaire pour profiter du potentiel de l’outil.
L’outil est surtout utilisé pour traiter des données textuelles, même si des fonctions mathématiques sont présentes. Ce n’est pas un outil d’analyse statistiques ni un tableur.
Les données sont présentées dans des cellules comme dans un tableur, mais…
- L’outil n’est pas fait pour saisir des données, ni pour réaliser des calculs ou des graphiques
- Les opérations s’appliquent à toute une colonne (il est possible techniquement d’éditer une cellule individuellement mais cette pratique est marginale)
- Les formules sont séparées des données et ne sont pas contenues dans les cellules
- L’affichage est paginé : on ne peut pas voir plus de 50 lignes d’un coup
1.2 Positionnement
D’autres outils ont des fonctions qui peuvent se rapprocher d’OpenRefine, même s’ils n’appartiennent pas à la même catégorie.
- Outils dédiés à la préparation de données
- OpenRefine (téléchargeable, gratuit)
- Workbench data (gratuit, opensource, en ligne ) [En cours de développement, destiné à un public de data journalistes]
- Trifacta (gratuit mais version gratuite limitée à 100 Mo, en ligne)
- Talend data preparation ( payant mais version gratuite limitée à 30000 lignes, à installer)
- Tableau prep (téléchargeable, payant)
- Outils dédiés à l’analyse de données
- Data science studio (payant mais version gratuite fonctionnelle, à installer)
- Knime (gratuit, à installer)
- Rapidminer (payant mais version gratuite limitée à 10000 lignes, à installer)
- Outils dédiés à l’agrégation de données issues de sources multiples (Extract-transform-load)
- Pentaho (payant mais version gratuite à installer)
- Suite Talend (payant mais version gratuite à installer)
- Tableurs
- MS Excel
- Libreoffice (gratuit, à installer)
- Google Sheets (gratuit, en ligne)
- 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) | Ergonomie dépassée |
Performance
Difficile de donner des chiffres exacts, tout dépend des opérations réalisées et de la mémoire vive alloué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, on peut donc découper un gros fichier en fichiers plus petits et les traiter les uns après les autres.
1.3 Licence et mode de développment
Logiciel opensource et gratuit, développement communautaire.
Environ 5 développeurs très impliqués en 2020, mais une communauté plus importante de contributeurs occasionnels (testeurs, traducteurs, etc.) et une large communauté d’utilisateurs.
1.4 Historique
2009 : logiciel Gridworks développé en opensource par Metaweb, destiné à faciliter l’alimentation de leur base de connaissance sémantique Freebase
2010 : rachat de Metaweb par Google. Nouveau nom: Google Refine
2012 : Google cesse son soutien et l’outil devient communautaire. Nouveau nom: OpenRefine
Développement redynamisé depuis 2017 :
- financement de la fondation Google News (déc. 2017)
- financement de la fondation Chan Zuckerberg Initiative (nov. 2019)
La feuille de route prévoit des évolutions importantes en 2021 (refonte complète de la documentation, de l’interface…).
Versions récentes
2.5 (2013). Dernière version compatible avec certaines extensions
2.7 (juin 2017)
2.8 (novembre 2017)
3.0 (septembre 2018)
3.1 (novembre 2018)
3.2 (juillet 2019)
3.3 (janvier 2019)
3.4 (septembre 2020)
Pour la liste des changements, voir l’annexe Annexe : Liste des changements depuis OpenRefine 2.7
1.5 Quelques exemples d’utilisation
1.5.1 Bibliothèques, archives, musées
- Liste d’exemples recensés dans Bibliopedia (récupération d’infos à partir des webservices de l’ABES, infos sur des articles à partir de Crossref, vérification de la présence d’une liste d’articles dans HAL…)
- Identifier des versions numériques d’ouvrages physiques (S. Machefert, 2018)
- Corriger et modifier des données au format MARC (O. Stephens, 2015)
- Créer un tableau à partir de références bibliographiques structurées 2013)
- Extraire des cotes archivistiques à partir d’inventaires en EAD (A. Courtin, 2017)
- Exploiter des listes de revues au format KBART : 1,2,3,4,5 (2016/7)
- Comparer deux listes de revues (O. Stephens, 2012)
- Supprimer des doublons dans une liste de revues au format KBART et vérifier leur appartenance à un package en interrogeant un webservice (2017)
- Nettoyer une liste de cessionnaires de brevets (2013)
- Exploiter un corpus récupéré par OAI-PMH (B. Bober, 2016)
- Alignement de Wikidata avec le catalogue de la BNF (S. Machefert, 2017)
- Aligner vos données avec Wikidata grâce à l’outil Open Refine (G. Poupeau, 2018)
1.5.2 Producteurs et réutilisateurs de données ouvertes, journalistes
1.5.3 Histoire et SHS
- Normalisation et nettoyage de données issues d’un site de musée (Seth van Hooland, Ruben Verborgh, and Max De Wilde, 2013, revu en 2019)
- Récupération de données sur le web (Evan Peter Williamson, 2017, revu en 2018)
1.5.4 Science de la vie
1.6 Documentation et références
1.6.1 Sites officiels
- Site : http://openrefine.org/
- Documentation : https://github.com/OpenRefine/OpenRefine/wiki
1.6.3 Base de connaissance et groupes de discussion
- Stackoverflow : https://stackoverflow.com/search?q=openrefine
- Google group : https://groups.google.com/forum/#!forum/openrefine
- Base de connaissance de la société Refinepro, http://kb.refinepro.com/ (2011-2018)
Conversations sur Twitter
1.6.4 Pour aller plus loin
Voir la liste de références en Annexe
1.6.2 Comment contribuer