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ée 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. 

Cette ressource se compose de 4 parties :

  1. SKOS : un standard pour une ressource sémantique simple et 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 SKOS Play! Convertir, OpenRefine et  Sheet2RDF dans VocBench
  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

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”, 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. 

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. 

 3. 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 colonneDescriptionExempleCorrespondance en RDF/SKOS
ID un identifiant de conceptc_2631Cette 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é FRun terme préférentiel françaisMatérielCette 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 FRune liste de synonymes (ou termes alternatifs) en français, séparés par une virguleéquipement, outillageCes 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é ENun terme préférentiel anglaisequipmentCette 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çaisLes objets nécessaires à une exploitationCette 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 existec_25753Cette 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é pourl’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 conceptc_25675La 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 un 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 :

  • Lire le pas à pas avec SKOS Play!
  • Lire le pas à pas avec OpenRefine
  • Lire le pas à pas avec Sheet2RDF dans VocBench.

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! ConvertirSheet2RDF/VocBenchOpenRefine
format d’entréeclasseur Excelclasseur Excel, LibreOffice ou OpenOffice
fichier CSV et TSV

classeur Excel

CSV et TSV

format de sortieTurtle, RDF/XML, N3, TriG, N-Triples, N-QuadsRDF/XML, RDF/JSON, N3, TriG,  N-Triples, N-Quads, JSON-LDTurtle, RDF/XML
SKOS et éléments d’autres modèlesOuiOuiOui
traitement des cellules multivaluéesOui

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 conceptsOui

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-XLOuiOui

Pas facilement

L’utilisateur doit construire sa propre stratégie

documentationDocumentation en anglais, claire et bien illustréeDocumentation 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 (ICV). Les tests permettent de détecter des erreurs ou des informations manquantes. 

Retour en haut