3 outils pour transformer du tabulé en SKOS

Cette ressource s’adresse aux personnes qui souhaitent adopter le standard SKOS (Simple Knowledge Organization System) pour représenter une ressource terminologique (glossaire, thésaurus…) initialement représenté dans un format tabulé (csv, tsv, xls…).  Les motivations peuvent être diverses : utiliser des outils métiers s’appuyant sur SKOS pour visualiser ou éditer le vocabulaire, l’exposer sur un portail publique comme Agroportal ou Loterre ou, de manière plus générale, pour rendre la ressource utilisable dans un système d’information ou par d’autres utilisateurs, en d’autres termes pour le rendre plus FAIR :  plus Facile à trouver (Findable), Accessible, Interopérable, Réutilisable (Reusable).  

SKOS est un modèle relativement simple et facile à s’approprier pour les personnes familières des technologies web sémantique et en particulier de RDF. Pour les personnes moins aguerries, le choix de l’outil de transformation aura une incidence sur le temps de réalisation et la qualité du résultat. Le projet FooSIN et le service Vocabulaires Ouverts ont testé et comparé 3 outils avec comme objectif de guider ce choix en fonction du profil de l’utilisateur et de la complexité des données à transformer.

Nous avons choisi de tester SKOS Play! Convertir, OpenRefine et Sheet2RDF intégré à VocBench car ils ne nécessitent pas de compétences informatiques avancées pour les installer et les utiliser. Pour une revue plus exhaustive d’outils et algorithmes de transformation de tabulé en SKOS, voir Fiorelli, M., & Stellato, A. (2021). Lifting Tabular Data to RDF: A Survey. In Metadata and Semantic Research (pp. 85–96). Springer International Publishing. https://doi.org/10.1007/978-3-030-71903-6_9 .

Cette ressource se compose de 4 parties :

  1. une introduction au modèle SKOS et une analyse de ses avantages pour l’application des principes FAIR (page séparée) ;
  2. une courte présentation de chacun des 3 outils : SKOS Play!, OpenRefine et Sheet2RDF
  3. une procédure pas à pas à partir d’un exemple simple pour transformer du format tabulé en SKOS avec chacun des trois outils :
  4. une présentation des avantages et inconvénients de chacune des trois solutions testées.

1. SKOS : un standard pour une ressource sémantique simple et FAIR

Accéder à la section

2. Des outils pour transformer un fichier tabulé au format SKOS

Nous avons choisi de tester trois outils libres et gratuits qui permettent de transformer un fichier tabulaire contenant un vocabulaire simple en une ressource SKOS. Les trois outils sont SKOS PLAY, OpenRefine et VocBench-Sheet2RDF

SKOS Play! Convertir

SKOS Play est un ensemble de services en ligne développés et mis à disposition gratuitement par la société Sparna pour travailler avec des ressources sémantiques au format SKOS.  En plus de proposer de nombreux modes de visualisation de données SKOS, SKOS Play! propose des services très pratiques comme « vérifier le respect des règles d’intégrité du modèle SKOS » et aussi « convertir une feuille de calcul Excel en fichier SKOS ». C’est le service “Convertir”, disponible à l’adresse url suivante : http://labs.sparna.fr/skos-play/convert qui nous intéresse.

OpenRefine

OpenRefine est un outil open source maintenu par une communauté de développeurs bénévoles. Il permet de réaliser des traitements sur des données pour les nettoyer, les ordonner et aussi les transformer d’un format à un autre. Il est facile à installer sur un poste de travail sous Windows, Mac ou Linux. OpenRefine n’est pas un outil centré autour du modèle de données SKOS comme peuvent l’être les deux autres. Pour l’usage que nous en faisons, il est nécessaire d’installer l’extension RDF-openRefine. La documentation, en anglais, est riche et pratique. Télécharger OpenRefine et accéder à de nombreuses extensions. 

Sheet2RDF dans VocBench

VocBench est un outil d’édition de thésaurus ou d’ontologies collaboratif et open source développé par l’Université Tor Vergata, Rome. Le logiciel peut être installé sur un serveur ou sur un poste de travail. En plus des fonctionnalités d’édition, VocBench embarque divers outils pour vérifier la syntaxe d’un fichier, valider des alignements entre vocabulaires ou transformer un fichier tabulaire en RDF. C’est ce dernier outil appelé Sheet2RDF que nous testons. Télécharger VocBench et accéder à la documentation

Test des 3 outils

Pour chaque outil présenté ci-dessus, nous expliquons brièvement comment le prendre en main et réaliser la transformation des données à partir d’un jeu de données test présenté ci-après.  

Présentation du jeu de données pour l’exercice

Ce jeu de données test est un ensemble de 11 concepts décrivant du matériel agricole (inspirés d’Agrovoc) et représentés sous forme d’un tableau dont un extrait est montré dans le ci-dessous. Le jeu de données test est téléchargeable au format Excel (utilisé pour les tests) ou texte tabulé (format ouvert). 

Dans le tableau suivant, nous indiquons pour chaque colonne du tableau d’origine une description ainsi qu’une explication de la manière dont l’information contenue sera transposée en SKOS.

Nom de colonne Description Exemple Correspondance en RDF/SKOS
ID  un identifiant de concept c_2631 Cette valeur sera transformée en URI en le concaténant avec l’URI de base du vocabulaire : https://opendata.inrae.fr/Thesaurus/. Ainsi l’URI du concept décrit dans la ligne 2 sera https://opendata.inrae.fr/Thesaurus/c_2631 et pourra être raccourcie en th:c_2631 puisque nous avons déclaré le préfixe th pour cet URI de base.
Libellé FR un terme préférentiel français Matériel Cette valeur deviendra l’objet de la propriété skos:prefLabel. Pour rappel, cette propriété associe au concept un terme préféré dans chaque langue. Dans notre cas, il s’agira d’un littéral pour lequel on précisera qu’il s’agit du français à l’aide de l’attribut fr
Synonyme FR une liste de synonymes (ou termes alternatifs) en français, séparés par une virgule équipement, outillage Ces valeurs deviendront chacune l’objet d’une propriété skos:altLabel. Pour rappel, cette propriété associe au concept un terme alternatif, un synonyme du terme préféré. La valeur sera de type littéral et la langue sera spécifiée par l’attribut fr
Libellé EN un terme préférentiel anglais equipment Cette valeur sera transformée pour être l’objet de la propriété skos:prefLabel. La langue du synonyme sera spécifiée par l’attribut en pour anglais
Définition  une définition en français Les objets nécessaires à une exploitation Cette valeur sera transformée pour être l’objet de la propriété skos:definition. Pour rappel, cette propriété associe au concept une définition textuelle. On peut préciser la langue, ici on spécifiera fr pour français
Hiérarchie (parents) l’identifiant du concept plus générique s’il existe c_25753 Cette valeur deviendra l’objet de la propriété skos:broader. Pour rappel, cette propriété associe au concept un concept parent. La valeur attendue est un URI de concept défini dans une autre ligne
Utilisé pour l’identifiant d’un concept lié par une relation spécifique : un matériel agricole est utilisé pour effectuer une tâche représentée par un autre concept c_25675 La valeur de cette colonne sera transformée pour être l’objet de la propriété  th:Utiliser_pour. Le modèle de données SKOS ne possède pas de propriété pour préciser ce lien. Nous définirons donc une nouvelle propriété adhoc intitulée th:Utiliser_pour. 

Nous supposerons que tous les concepts présents dans le fichier appartiennent au même schème. Ce schème a comme URI  http://opendata.inrae.fr/Thesaurus/ThesaurusExemple. En SKOS, on utilisera la propriété skos:inScheme. La propriété skos:hasTopConcept sera également utile pour indiquer quels concepts se trouvent “en haut” de l’arbre, i.e. les concepts qui n’ont pas de parents.

Après transformation, l’arbre des concepts se présente ainsi :

Et voici une extrait du fichier SKOS en RDF/XML.

Détail des tests en pas à pas

A partir du jeu de données test, nous vous indiquons la procédure pour transformer un fichier tabulé en SKOS avec chacun des 3 outils testés :

4. Comparatif des 3 outils

Nous synthétisons les résultats de nos tests pour aider le lecteur à choisir la solution la mieux adaptée à sa situation. En cliquant sur l’intitulé de la ligne, vous pouvez accéder à une analyse plus détaillée.

SKOS PLAY Convertir Sheet2RDF/VocBench OpenRefine
format d’entrée classeur Excel classeur Excel, LibreOffice ou OpenOffice
fichier CSV et TSV
classeur Excel

CSV et TSV

format de sortie Turtle, RDF/XML, N3, TriG, N-Triples, N-Quads  RDF/XML, RDF/JSON, N3, TriG,  N-Triples, N-Quads, JSON-LD Turtle, RDF/XML
SKOS et éléments d’autres modèles Oui Oui Oui
traitement des cellules multivaluées Oui Non 

Doivent être scindées au préalable

Oui
création automatique de schème Oui

Un schème par feuillet dans le classeur

Non

Création manuelle ou doivent être inclus dans le jeu de données

Non

Création manuelle dans le skeleton rdf ou doivent être inclus dans le jeu de données

calcul des top concepts Oui Non

Doivent être indiqués dans le jeu de données

Non

Doivent être indiqués dans le jeu de données

génération automatique  des URI pour SKOS-XL Oui Oui Pas facilement

L’utilisateur doit construire sa propre stratégie

documentation Documentation en anglais, claire et bien illustrée Documentation en anglais mais très légère sur la partie utilisation de l’application Sheet2RDF et difficile à comprendre pour un non-informaticien Documentation officielle en anglais.

Pas de documentation en ligne pour l’extension rdf

Quel que soit l’outil que vous aurez choisi, nous vous recommandons de tester le fichier produit à l’aide d’un outil de validation de SKOS comme  SKOS Play Tester ou VocBench Integrity Constraint Validator. Les tests permettent de détecter des erreurs ou des informations manquantes. 


Cette ressource a été développée dans le cadre du projet ANR FooSIN (ANR-19-DATA-0019-01)

Page liée : SKOS : un standard pour une ressource sémantique simple et FAIR –

  
Auteurs (INRAE): Jérémy Yon, Sophie Aubin
Relecteurs (INRAE) : Catherine Roussey, Sylvie Cocaud, Magalie Weber