Description du service "Transformer un fichier CSV dont le séparateur est une virgule en SKOS-XML"
Ce service permet de générer un fichier SKOS à partir d'une feuille de calcul (Excel, LibreOffice, etc.) sauvegardée en CSV et dont le séparateur est une virgule.
Le fichier doit :
- utiliser les noms d’étiquettes fournis (voir liste plus bas),
- avoir la virgule comme séparateur de champs,
- utiliser le séparateur «§§» pour les champs multi-valués (exemple : hormone§§médicament).
- utiliser les guillemets doubles anglais (" / quote) comme délimiteur de texte pour les champs susceptibles de contenir la virgule comme signe de ponctuation. Mettre les quotes au début et à la fin du texte pour que la virgule ne soit pas considérée comme un séparateur de champ. Si le texte contient lui-même des quotes, elles doivent être doublées.
Si le fichier est généré à partir de LibreOffice, utiliser le menu "Enregistrer sous" et choisir la virgule comme séparateur.
Exemple de fichier CSV :
Les données sont transformées de la manière suivante :
- Un fichier XML est créé pour contenir l'ensemble de la ressource terminologique.
- Chaque ligne hormis la première ligne devient un "skos:Concept", si un identifiant est présent, il est attribué au concept ; dans le cas contraire, un uri provisoire lui est affecté dans l'attribut "rdf:about".
- Les étiquettes de la première ligne sont transformées en leur équivalent SKOS, par exemple, "prefLabel_fr" devient "skos:prefLabel" avec un attribut "xml:lang="fr"".
- Le contenu de chaque cellule est versé dans la propriété SKOS ad hoc et si le contenu est multi-valué, il est scindé en autant de propriétés que de valeurs séparées par le séparateur «§§».
- Les relations TA (terme associé) et TG (terme générique) sont traitées en deux temps : dans un premier temps une propriété "skos:related" ou "skos:broader" est générée pour chaque TA ou TG
puis dans un deuxième temps, c'est l'URI du concept correspondant aux termes en question qui est mis dans l'attribut "rdf:resource".
- Si le fichier comporte des groupes, une "skos:Collection" est créée pour chaque groupe. Veiller à traduire les groupes au moins en anglais.
De plus, la transformation insère également deux blocs au début du fichier XML :
- Un bloc "cc:License" avec par défaut la licence Creative Commons CC-BY 4.0 qu'il convient de modifier si la ressource est diffusée sous une autre licence.
- Un bloc "skos:ConceptScheme" avec :
- un URI dérivé des identifiants des concepts ;
- des propriétés pour les métadonnées à compléter/modifier par l'utilisateur au niveau du fichier de sortie :
- les titres français anglais et espagnol (dc:title),
- les descriptions française, anglaise et espagnole (dc:description),
- les sujets français, anglais et espagol (dc:subject),
- le nom du créateur de la ressource (dc:creator),
- le type de licence (cc:license),
- les noms français, anglais et espagnol de l'organisme auquel la ressource doit être attribuée (cc:attributionName),
- le site web de l'organisme / institution (cc:attributionURL),
- les top-concepts (skos:hasTopConcept) si la ressource est structurée,
- les langues de la ressource calculées à partir des codes langues utilisés pour les libellés préférentiels des concepts (dcterms:language avec attribut lexvo / codes ISO 639-3),
- la date de création de la ressource (dcterms:created),
- la date de dernière modification (dcterms:modified),
- la version de la ressource (owl:versionInfo).
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 :
- Remplacer "http://www.monsite/" par la bonne url.
- Garder "/vocabs/".
- Remplacer "ABC" par un code alphanumérique court correspondant à la ressource elle-même.
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 "_".
Exemple de concept :
Exemples de collections :
Pour passer à des identifiants ARK, utiliser le service "Attribuer des identifiants ARK à un fichier SKOS/RDF-XML valide".
Liste des étiquettes à utiliser ("prefLabel" est obligatoire) :
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 ISO sur 2 caractères de la langue ; exemple "prefLabel_fr" pour le préférentiel français. Voir la liste des codes ISO 639-1