Le service « Transformer » permet de générer une terminologie en format SKOS-XML ou de convertir une terminologie initialement en format SKOS-XML dans un autre format.
Les opérations proposées par ce service peuvent être regroupées en trois types : correction, enrichissement et conversion.
Ces opérations sont en particulier destinées à corriger les anomalies préalablement détectées par le service « Contrôler ».
Le service « Supprimer les doublons au niveau des termes d’un fichier SKOS/RDF-XML » traite des fichiers contenant des éléments « skos:Concept » ou « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#Concept’]] ».
Au niveau de chaque concept, ce service fonctionne de la manière suivante :
A l’issue de ce traitement, il convient de contrôler à nouveau le fichier en utilisant le service « Contrôler un fichier SKOS/RDF-XML au niveau des concepts », pour s’assurer qu’il ne subsiste plus de doublons.
Si un concept A est associé avec un concept B via la propriété « skos:related », le concept B doit lui aussi être associé au concept A via cette même propriété, car la relation est symétrique.
Le service »Corriger les anomalies de symétrie des concepts associés dans un fichier SKOS/RDF-XML » traite des fichiers contenant des éléments « skos:Concept » ou « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#Concept’]] ».
Il insère dans le fichier SKOS la propriété « skos:related » manquante, lorsque la condition de symétrie définie ci-dessus n’est pas vérifiée.
A noter que ce traitement ne s’applique pas à d’éventuelles sous-propriétés de la relation « skos:related » (voir détails dans ce document).
La relation hiérarchique entre un concept A et un concept B est exprimée à l’aide de la propriété « skos:broader » et la présence au niveau du concept B d’une relation « skos:narrower » (qui en est la relation inverse) n’est pas obligatoire car elle est inférée de la relation « skos:broader ».
Cependant, le bon fonctionnement de certaines applications (comme Skosmos) nécessite la présence des deux relations.
Le service « Insérer les concepts spécifiques dans un fichier SKOS/RDF-XML valide » traite des fichiers contenant des éléments « skos:Concept » ou « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#Concept’]] ».
Il insère dans le fichier SKOS, au niveau de chaque concept générique, autant de propriétés « skos:narrower » que de concepts spécifiques de ce concept.
La relation hiérarchique entre une collection A et une collection B est exprimée à l’aide de la propriété « isothes:superGroup » et la présence au niveau de la collection B d’une relation « isothes:subGroup » (qui en est la relation inverse) n’est pas obligatoire car elle est inférée de la relation « isothes:superGroup ».
Cependant, le bon fonctionnement de certaines applications (comme Skosmos) nécessite la présence des deux relations.
Le service « Insérer les collections spécifiques dans un fichier SKOS/RDF-XML valide » traite les fichiers contenant des « skos:Collection » ou des « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#Collection’]] » ou des « rdf:Description[rdf:type[@rdf:resource=’http://purl.org/iso25964/skos-thes#ConceptGroup’]] ».
Il insère au niveau de la super-collection autant de propriétés « isothes:subGroup » que de collections spécifiques à cette collection.
Le service « Insérer un bloc ‘ConceptScheme’ dans un fichier SKOS/RDF-XML » traite les fichiers contenant des « skos:Concept » ou des « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#Concept’]] ».
Il insère deux blocs au début d’un fichier SKOS/RDF-XML :
– Un bloc « cc:License » avec par défaut la valeur de licence « Creative Commons CC-BY 4.0 ». Il convient de modifier ce bloc si la ressource est diffusée sous une autre licence.
– Un bloc « skos:ConceptScheme » ou « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#ConceptScheme’]] » avec :
Après génération des champs, leur contenu textuel doit être complété et validé par l’utilisateur.
Le service « Insérer les propriétés « hasTopConcept » dans un fichier SKOS/RDF-XML valide » traite des fichiers contenant des « skos:ConceptScheme » ou des « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#ConceptScheme’]] ».
Il insère une propriété « skos:hasTopConcept » au niveau du bloc « ConceptScheme » pour chaque concept qui n’a pas de propriété « skos:broader ».
n.b. : Ne pas utiliser ce service pour les ressources non structurées ou faiblement structurées.
Le service « Insérer les propriétés « topConceptOf » dans un fichier SKOS/RDF-XML valide » traite les fichiers contenant des « skos:Concept » ou des « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#Concept’]] ».
Il insère une propriété « skos:topConceptOf » au niveau de chaque concept qui n’a pas de propriété « skos:broader ».
n.b. : ne pas utiliser ce service pour les ressources non structurées ou faiblement structurées.
Ce service permet de remplacer les identifiants (URI) d’un fichier SKOS/RDF-XML par des identifiants ARK construits selon les préconisations de la California Digital Library (CDL).
Un identifiant ARK a la syntaxe suivante :
Le service « Attribuer des identifiants ARK à un fichier SKOS/RDF-XML valide » traite des fichiers contenant des « skos:Concept » ou des « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#Concept’]] ».
La transformation est effectuée en deux temps :
1- Remplacement de l’URI de la ressource (au niveau du schéma de concepts) par l’URI générique suivant : http://mon_site.fr/ark:/NAAN/ABC
L’ancien URI est mis dans une balise « dc:identifier ».
Au niveau des concepts, une suite alphanumérique de 8 caractères suivie d’un tiret puis d’un caractère de contrôle (check sum) vient compléter ce préfixe et constituer un identifiant ARK unique pour chaque concept de la ressource.
Préfixe | Identifiant unique |
http://mon_site.fr/ark:/NAAN/ABC | -CGT6ZZBQ-F |
2- Recalcul des URI pour :
Pour avoir des identifiants ARK conformes aux recommandations de la CDL (voir détails ici), l’URI générique doit être modifié comme suit :
Voici un exemple réel : http://data.loterre.fr/ark:/67375/1WB
A noter qu’en l’absence de NAAN, l’URI ne peut pas être considéré comme un « URI ARK » mais peut néanmoins être utilisé sans la partie ark:/NAAN/, la dernière partie étant un identifiant unique.
Différents modules de conversion sont proposés par Loterre :
Ce service permet de générer un fichier SKOS-XML à partir d’une feuille ce calcul (Excel, OpenOffice, etc.) sauvegardée en CSV.
Deux variantes de ce service sont proposées par Loterre, selon que le séparateur de champs présent dans le fichier CSV est un point-virgule ou une virgule :
n.b. : dans le cas d’un fichier CSV dont le séparateur est un point-virgule, utiliser les guillemets doubles anglais ( » / quote) comme délimiteur de texte pour les champs susceptibles de contenir le point-virgule comme ponctuation. Mettre les quotes au début et à la fin du texte pour que le point-virgule ne soit pas considéré comme un séparateur de champ. Si le texte contient lui-même des quotes, elles doivent être doublées.
La feuille de calcul initiale doit respecter un formalisme prédéfini :
Donnée terminologique | Etiquette à utiliser xx = code ISO de la langue (*) |
Commentaire |
Préférentiel | prefLabel_xx | Un « prefLabel_fr » est attendu |
Synonyme | altLabel_xx | |
Terme caché | hiddenLabel_xx | |
Définition | definition_xx | |
Note | note_xx | |
Note d’application | scopeNote_xx | |
Note éditoriale | editorialNote_xx | |
Note historique | historyNote_xx | |
Note de changement | changeNote_xx | |
Exemple | example_xx | |
Terme générique | broader_xx | Un « broader_fr » est attendu |
Terme associé | related_xx | Un « related_fr » est attendu |
Groupe (collection) | group_xx | Un « group_fr » est attendu |
Alignement exact | exactMatch | |
Alignement proche | closeMatch | |
Alignement plus large | broadMatch | |
Alignement plus restreint | narrowMatch | |
Alignement associé | relatedMatch |
(*) Remplacer « xx » par le code langue ISO sur 2 caractères ; exemple « prefLabel_fr » pour le préférentiel français. Voir la liste des codes ISO 639-1
Les données sont transformées de la manière suivante :
De plus, la transformation insère également deux blocs au début du fichier SKOS/RDF-XML :
Le contenu textuel de ces champs devra être complété et validé par l’utilisateur.
Si les concepts n’ont pas d’identifiants, l’URI par défaut de la ressource est « http://www.monsite/vocabs/ABC ». C’est également la racine de l’URI des concepts, des relations et des éventuelles collections. Elle doit être remplacée comme suit :
Au niveau des concepts, l’URI est une concaténation de l’URI de la ressource avec un identifiant unique ; au niveau des collections, l’URI est une concaténation de l’URI de la ressource avec le nom du groupe en remplaçant les espaces par des « _ ».
Pour passer à des identifiants ARK, utiliser la transformation « Attribuer des identifiants ARK à un fichier SKOS/RDF-XML valide ».
Ce service permet de générer un fichier CSV à partir d’un fichier SKOS/RDF-XML valide contenant des éléments « skos:Concept » ou « rdf:Description[rdf:type[@rdf:resource=’http://www.w3.org/2004/02/skos/core#Concept’]] ».
Deux variantes en sont proposées par Loterre, selon la nature du séparateur de champs souhaités dans le fichier CSV résultant :
Le fichier produit peut être importé dans un tableur (Excel, LibreOffice, etc.) pour y être modifié (voir plus loin la procédure d’import dans Excel).
Les données sont transformées de la manière suivante :
Une première ligne « en-têtes de colonnes » est créée à partir des éléments (propriétés skos ou autres) utilisés pour décrire les différents concepts du fichier SKOS/RDF-XML :
Ensuite, une ligne est générée pour chaque concept du fichier :
A noter que :
Pour importer le fichier dans Excel :
Une fois modifié dans Excel, le fichier peut à nouveau être sauvegardé en CSV puis transformé en SKOS en utilisant le service « Transformer un fichier CSV dont le séparateur est un point-virgule en SKOS/RDF-XML » ou « Transformer un fichier CSV dont le séparateur est une virgule en SKOS/RDF-XML » en fonction du séparateur de champs appliqué au moment de la sauvegarde.
Ce service permet de générer un fichier HTML (version française) à partir d’un fichier SKOS valide. Il traite des fichiers contenant des « skos:Concept » ou des « rdf:Description » de type « Concept ».
Deux variantes en sont proposées par Loterre, selon la version linguistique choisie :
Les entrées terminologiques sont présentées dans l’ordre alphabétique du préférentiel (français ou anglais) :
La richesse des informations affichées dépendra du contenu et de la structuration du fichier SKOS de départ.
Cette transformation permet de générer un fichier PDF à partir d’un fichier SKOS valide.
Deux variantes en sont proposées par Loterre, selon la version linguistique choisie pour la ressource :
Plusieurs sections sont produites en fonction du contenu et de la structuration du fichier :
Des pages additionnelles sont insérées :
A noter que les pages de couverture peuvent être remplacées en éditant le fichier final avec un éditeur PDF comme PDF Sam Basic.