Module plume.rdf.transliterations#
Système de remplacement de triplets de métadonnées.
Le présent module propose une méthode souple pour gérer les évolutions du schéma des métadonnées communes, et plus généralement le fait que, du fait des différentes versions des standards et des marges d’interprétation qu’ils laissent, il existe parfois plusieurs alternatives de forme pour représenter la même information en RDF avec le vocabulaire DCAT.
Concrètement, il contient des fonctions dites « de translitération », qui
doivent porter le décorateur transliteration()
et prendre pour unique
argument un graphe de métadonnées plume.rdf.metagraph.Metagraph
.
Ces fonctions peuvent réaliser tous types d’opérations sur le contenu du
graphe (remplacement d’une propriété ou d’une classe par une autre, modification
de la forme d’une valeur, etc.). Elles doivent être applicables à n’importe quel
graphe et ne réaliser la translitération que si les conditions s’y prêtent. Il
importe d’optimiser au maximum les traitements, car la translitération est
exécutée systématiquement au chargement d’une fiche de métadonnées.
La « translitération » des métadonnées doit être effectuée sur tout graphe appelé à être utilisé pour générer un dictionnaire de widget, qu’il provienne du serveur PostgreSQL ou d’une source externe. Pour ce faire, on exécutera simplement :
>>> transliterate(metagraph)
Pour les mappings simples applicables uniquement aux graphes issus de sources
externes, une privilégiera une déclaration dans plume.rdf.namespaces.PREDICATE_MAP
ou plume.rdf.namespaces.CLASS_MAP
, ce qui minimise le temps de calcul.
- plume.rdf.transliterations.translit_owl_version_info(metagraph)#
Translitération de la propriété owl:versionInfo en dcat:version.
Pour les classes définies par DCAT v3, la propriété
dcat:version
représente désormais le numéro de version de la ressource, au lieu deowl:versionInfo
utilisé par DCAT-AP v2.- Parameters:
- metagraphplume.rdf.metagraph.Metagraph
Un graphe de métadonnées.
- plume.rdf.transliterations.transliterate(metagraph)#
Translitération des triplets d’un graphe de métadonnées selon le schéma des métadonnées communes.
Cette fonction applique au graphe l’ensemble des fonctions de translitération, c’est-à-dire toutes les fonctions marquées du décorateur
transliteration()
.- Parameters:
- metagraphplume.rdf.metagraph.Metagraph
Un graphe de métadonnées.
- plume.rdf.transliterations.transliteration(translit_function)#
Décorateur pour l’enregistrement des fonctions de translitération.
Toute nouvelle fonction de translitération doit porter ce décorateur pour être appliquée.
- Parameters:
- translit_functionfunction
Une fonction de translitération, qui prend en argument un graphe de métadonnées
plume.rdf.metagraph.Metagraph
et ne renvoie rien.