Transformer un fichier tabulé en SKOS avec SKOS Play! Convertir
Cette documentation « pas à pas » vous montre comment utiliser SKOS Play! pour transformer un vocabulaire au format tabulé en une ressource représentée à l’aide du modèle standard SKOS.
Cette page est un des résultats du test comparatif de 3 outils pour transformer un vocabulaire au format tabulé vers SKOS (projet FooSIN). Toutes les données sont publiées sur l’entrepôt ouvert recherche.data.gouv.
SKOS Play! est un service gratuit de visualisation de ressources représentées au moyen du modèle de données SKOS. En plus de proposer une visualisation de la ressource, SKOS Play! vous aide à concevoir cette ressource avec des services très pratiques comme « vérifier la syntaxe du document », « 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 ce dernier service que nous allons tester.
Préparez le fichier de données
Pour démarrer, vous avez besoin que votre jeu de données soit enregistré dans une feuille de calcul Excel (.xls ou .xlsx) respectant une structure décrite dans la documentation SKOS Play! (Excel File structure). Vous devez donc avoir préalablement choisi les propriétés RDF – SKOS ou autres – qui correspondent à chaque colonne de votre fichier (voir le tableau de correspondance pour nos données test). Ci-dessous, vous pouvez voir le début du fichier Excel qui correspond à notre jeu de données test et que nous utiliserons pour SKOS Play! Convertir. La feuille de calcul Excel comprend deux parties : l’en-tête et le corps.
Préparez l’en-tête
L’en-tête correspond à toutes lignes précédant les intitulés de colonnes et permet de déclarer :
- l’URI du schème (case B1 obligatoire) qui contiendra les concepts. Nous avons choisi http://opendata.inrae.fr/Thesaurus/ThesaurusExemple comme URI pour le schème de notre exemple.
- les préfixes des modèles dont sont issues les propriétés qui seront utilisées pour représenter les données et les métadonnées : a minima, le préfixe pour SKOS et le préfixe pour l’URI de base notre vocabulaire. Dans notre exemple, le préfixe th de la cellule B4 représente donc l’URI de base http://opendata.inrae.fr/Thesaurus/.
- les métadonnées (auteurs, date, licence, etc.) qui s’appliquent à la ressource dans son ensemble. Vous pouvez en indiquer autant que vous le souhaitez, une par ligne. Nous vous recommandons l’utilisation des éléments de métadonnées inclus dans le modèle Metadata for Ontology Description and publication (MOD).
Préparez le corps
La seconde partie du fichier, le corps, doit impérativement commencer par une ligne qui déclare les propriétés RDF à utiliser pour chacune des colonnes. Ces propriétés seront bien sûr les propriétés SKOS utiles mais, comme vous pouvez le voir dans la cellule G7 de notre exemple, des propriétés peuvent aussi provenir d’un autre modèle. Les propriétés seront précédées de leur préfixe suivi de “:”, skos: par exemple.
La colonne A sera réservée pour la déclaration des URIs de concepts.
Gestion des langues : si vos colonnes contiennent des termes dans une unique langue, vous pouvez l’indiquer au moment de déclarer la propriété SKOS en la suffixant par un code commençant par @, par exemple pour un terme préférentiel en français, on déclarera skos:prefLabel@fr (voir la cellule B7 de la Figure 1).
Cellules multivaluées : pour permettre d’indiquer plusieurs valeurs au sein d’une cellule pour une même propriété, vous devez définir le séparateur utilisé à l’aide de la commande (separator=””). La cellule D8 de notre exemple contient 2 termes alternatifs pour le concept th:c_2631. Ainsi deux triplets RDF seront créés (th:c_2631, skos:altLabel, “équipement”@fr) et (th:c_2631, skos:altLabel, “outillage”@fr).
Typage des données : pour indiquer le type de données à créer (une date, un nombre,…) il est possible de l’indiquer au niveau de la propriété en la suffixant avec ^^ et un type, par exemple : ^^xsd:date
Le reste du tableau contient les concepts et leurs propriétés à transformer, i.e. vos données.
Chaque cellule de la colonne A fournit l’URI du concept qui sera le sujet de chaque triplet RDF construire. Pour les colonnes suivantes, la cellule fournit la ou les valeurs de l’objet de la propriété déclarée dans la colonne correspondante.
La valeur d’une cellule peut être :
- un URI, i.e. une référence à une autre ressource RDF, par exemple un autre concept comme dans la cellule F9. Important : pour que la valeur de la cellule soit reconnue comme un URI, elle doit commencer par “http:” (ex: http://opendata.inrae.fr/Thesaurus/c_2631) ou par un préfixe déclaré dans l’en-tête, par exemple th:c_2631 ;
- un littéral, i.e. une chaîne de caractère. Par exemple, la valeur de la cellule B8 contient le littéral Matériel qui sera lié au concept identifié par l’URI th:c_2631 par la propriété skos:prefLabel. Cela signifie que ce concept aura comme terme préféré “Matériel”. Le triplet RDF (th:c_2631, skos:prefLabel, “Matériel”@fr) sera donc créé.
Vous avez préparé vos données, le plus difficile est fait.
Générez le fichier SKOS en RDF
- Chargez le fichier depuis l’interface web de SKOS Play!
- Si vous n’aviez pas indiqué de langue dans vos données, vous pouvez en choisir une qui s’appliquera à tous vos termes, définitions et autres notes.
- Choisissez le format de sortie à l’aide du menu déroulant
- Cliquez sur le bouton Convertir
- Téléchargez votre fichier
Vous pouvez vous y reprendre à plusieurs fois si nécessaire, corriger les erreurs et recharger le fichier.
Beaucoup d’options et de fonctionnalités avancées sont disponibles.
Allez plus loin avec SKOS-XL
Vous pouvez accéder à des options avancées dont « générer les labels en SKOS-XL ». SKOS-XL est une extension de SKOS qui fournit un support supplémentaire pour la description des termes et leur lien aux concepts. En SKOS-XL, les termes ont eux-mêmes un URI, des propriétés, par exemple grammaticales ou historiques, ainsi que des relations vers d’autres termes ou vers des concepts. L’utilisation de SKOS-XL reste facultative.
SKOS Play! Convertir propose la création d’URI de termes en s’appuyant sur l’URI du concept et un suffixe que vous définissez. Prenons comme exemple le concept avec l’URI th:c_2631. En utilisant SKOS-XL pour représenter le terme Matériel désignant ce concept, nous obtenons 2 triplets impliquant l’URI c_2631-label-fr-0 généré par SKOS Play! :
th:c_2631 skosxl:prefLabel th:c_2631-label-fr-0
th:c_2631-label-fr-0 skosxl:literalForm “Matériel”
Jérémy Yon, Sophie Aubin
Catherine Roussey, Sylvie Cocaud, Magalie Weber
Cette ressource a été développée dans le cadre du projet ANR FooSIN (ANR-19-DATA-0019-01)