VMF : let the mappings be !

I don’t usually blog in english. This is a first experiment. This post is a translation of this one.

On the 9th of november, a looong time ago, I was in London attending the presentation of results from the Vocabulary Mapping Framework project.
They waited almost as long as I to publish their results, so I decided to take this as an opportunity to come back on these results and on the first phase of the project which just came to an end.

First of all, a short reminder of the project’s goals : as stated in their june 2009 announcement, the VMF project aims at creating a mapping of major metadata formats using an OWL ontology.
Well, at first I was somewhat skeptical about it…
It seemed a (too) ambitious goal to me, with a very short deadline. But now I understand it better and I feel able to figure out what this project is all about. It is not about mapping all the metadata standards altogether, but rather about building a tool for creating metadata crosswalks.

Here is how it works (very roughly) :
– imagine you want to create mappings between metadata formats W, X, Y and Z (that is, mappings W–X, W–Y, W–Z, X–Y, X–Z and Y–Z)
– you create a generic ontology, the Matrix (that’s the hell of a name ;-)
– then you map each of your formats to the Matrix (W–Matrix, X–Matrix, Y–Matrix, Z–Matrix)
– and you query the Matrix so that you obtain equivalences between formats (W–Matrix–X, W–Matrix–Y, etc.)
– that’s it : you achieved your goal by creating 4 mappings instead of 6.
Well, if you’re good at numbers, you get that it’ only worth it if you need to map more than 3 metadata standards. But the more formats, the more interesting is the process : so in nowadays metadata world, the return on investment makes little doubt !

VMF uses theINDECS model in order to create an ontology that is « complex enough » to express all the notions or concepts underpinned in the metadata formats. This ontology, expressed in RDF, is the Matrix. You can download it from the website, and for instance, look at it with Protégé.

L’idée est que les différents formats peuvent exprimer des notions proches, mais pas tout à fait équivalentes, et c’est ce « pas tout à fait » qui est un cauchemar pour le producteur de mappings. Un concept peut être exprimé de façon fine dans un format et détaillée dans un autre, il peut être exprimé avec une orientation différente (par ex. « est l’auteur de » et « a pour auteur » : c’est « presque » la même chose, mais « pas tout à fait ») etc. Si on veut concevoir un générateur de mappings, il faut être capable d’embrasser toutes ces nuances, pour les exprimer et clarifier les relations entre les formats.
C’est ce que fait la Matrice, au moyen d’un système de « famille de concepts ». Ce modèle est orienté événement : quand un événement apparaît dans un format de métadonnées (par exemple, l’événement correspondant à une traduction) on va créer dans la Matrice une famille de concepts qui regroupe :
– les acteurs et les objets de l’événement,
– toutes les relations possibles entre ces acteurs et objets.
Ce qui donnera par exemple :

(le traducteur) traduit (la source)
(la source) est traduite par (le traducteur)
(le traducteur) crée (la traduction)
(la traduction) est créée par (le traducteur)
(la source) a pour traduction (la traduction)
(la traduction) est une traduction de (la source)
etc.

Ensuite, les différentes familles de concepts sont articulées entre elles (par exemple, « traduction des sous-titres » serait un concept spécifique rattaché au concept plus générique de « traduction »).
Enfin, on utilisera ces différentes familles de concepts pour relier les différents formats à la Matrice, en respectant toutes les nuances et les logiques intrinsèques de chacun d’entre eux.
Pour l’instant, les gens de VMF ont travaillé à l’alignement des formats suivants avec la matrice : CIDOC CRM, DCMI, DDEX, FRAD, FRBR, IDF, LOM (IEEE), MARC21, MPEG21 RDD, ONIX et RDA, ainsi que le « RDA-ONIX Framework », ce dernier étant le point de départ du projet.

Il en résulte que la Matrice pourra rarement proposer une équivalence simple entre deux éléments de formats différents. Elle proposera plutôt un « chemin » entre ces différents éléments, c’est-à-dire qu’elle parcourra de lien en lien le graphe RDF, pour trouver le (ou les) chemin(s) le plus court d’un concept à un autre. Pour cela, il est prévu de la requêter en SPARQL (mais pour l’instant, il n’y a pas de SPARQL endpoint sur le site du projet).

Je dirais donc que VMF a produit plutôt un générateur de mappings qu’un mapping universel, ce qui semble déjà un objectif plus raisonnable… En fait, du point de vue de la modélisation, l’approche est très séduisante.
C’est une approche qui cherche à être générique sans pour autant réduire les formats à un plus petit dénominateur commun, ce qui est louable. Elle prend en compte les spécificités et la complexité de chaque format.
Pour autant, ce qui n’est pas exprimé dans la Matrice, c’est la logique intrinsèque des jeux de données eux-mêmes, qui peut varier d’une application du format à une autre. En cela, c’est probablement utile d’avoir un générateur de mapping qui propose plusieurs options pour chaque élément, et qui permette ensuite au producteur du mapping de choisir ce qui lui semble le plus pertinent par rapport à ses propres données.

Les étapes suivantes du projet, telles qu’elles ont été présentées à la journée du 9 novembre, incluent :
– la validation des mappings déjà effectués par les autorités compétentes pour chacun des formats (les mappings sont pour l’instant « expérimentaux »)
– l’ajout de nouveaux mappings
– la recherche d’un modèle économique qui permette au projet de se développer sur le long terme.

Si vous voulez plus de détails sur comment fonctionne la Matrice et la création des mappings, un seul document, celui-là (PDF, 27 pages).
Je vous recommande également le billet de Sylvie Dalbin, qui est me semble-t-il assez complémentaire avec le mien. Avec ça, vous avez tous les éléments !