Un réservoir de données liées…

En farfouillant dans les archives du Figoblog pour produire un document, je retombe sur cet article d’avril 2006 dans lequel je suggérais :

Moi je verrais bien l’évolution du catalogue vers un statut de base « pivot », contenant des données en XML qu’on pourrait réutiliser à volonté, dans des applications adaptées aux différents types d’usagers.

5 ans après, je ne sais pas si je suis complètement monomaniaque ou franchement visionnaire, mais j’ai toujours la même vision. A quelques détails près.

Je pensais XML, parce que je n’avais pas encore réalisé qu’il n’était pas vraisemblable de vouloir faire entrer toutes les données du catalogue, dans leur diversité, dans un même modèle documentaire.
Il a fallu s’extraire des carcans de la pensée documentaire pour considérer que ce dont nous avons besoin, ce n’est pas un format unique, mais un modèle générique capable d’intégrer de façon souple et auto-descriptive différents formats.

J’avais aussi pressenti que le problème n’était pas d’imaginer les nouveaux usages, mais d’imaginer un réservoir de données capable de s’adapter à tous les usages possibles :

Il y a des usages, multiples, différents, et aucun outil miracle ne saura tous les contenter. Il faut des données fiables et souples, qu’on peut sortir, transformer, adapter, réutiliser. Pour moi c’est ça le futur du catalogue.

En fait, j’envisageais déjà le catalogue comme un système métastable, c’est à dire capable d’intégrer les évolutions de façon naturelle, et pas uniquement comme des facteurs de remise en cause et d’instabilité.

En fait, il fallait pousser le raisonnement jusqu’au bout : ce qui m’inspirait ces réflexions c’était le modèle du Web. Or, le Web, en tant qu’espace global d’information (un espace où on peut naviguer d’une page à l’autre sans rupture, ni technologique, ni dans l’expérience utilisateur : il suffit de « cliquer »), nous apprend précisément ceci : si on veut que de larges quantités d’informations puissent interopérer, il faut accepter qu’elles soient produites de façon hétérogène, et n’imposer que le niveau minimal de normalisation permettant à toutes ces informations de cohabiter dans le même espace.

Les systèmes d’information actuels (dont les catalogues) posent exactement ce type de problème : ils sont instables au sens où leur équilibre est sans arrêt remis en cause par quelque chose de nouveau (un nouveau format, un nouveau besoin, une nouvelle fonctionnalité), et ils sont hétérogènes parce qu’à chaque nouveau besoin, on donne une réponse spécifique.

Le Linking Enterprise Data correspond à l’application des principes du Linked Data au domaine de l’entreprise. Je ne vous parle même pas d’exposer les données sur le Web. L’enjeu est seulement d’utiliser le Web (ou le Web sémantique) comme modèle pour la conception du système d’information. On adopte un niveau de normalisation minimal pour toutes les applications, de façon à ce que les données soient interopérables et reliées (avec des URI). A partir de là, le système devient métastable, capable de maintenir une certaine stabilité dans un contexte en évolution. Quand un nouvel usage émerge, la donnée est déjà disponible, il suffit de l’agréger pour la retraiter.

La masse des données manipulée dans les catalogues (surtout les gros) rend illusoire l’adoption d’une base unique, d’un format unique. Techniquement, les problèmes de performance et de cohérence sont exponentiels. Du point de vue de l’utilisateur, le modèle est rigide, inadapté aux évolutions.
Il faut adopter un modèle qui est prévu, de façon inhérente, pour être permissif aux évolutions. RDF par exemple.
Dès lors le catalogue, plutôt qu’un réservoir unique, est une plate-forme, un environnement cohérent au niveau local (à l’intérieur de la bibliothèque) dont le rôle majeur est de relier les données et de les rendre disponibles.

Merci à Got d’avoir partagé ses lumières avec moi sur ce sujet.

Publicité

Et au fait, le LLD XG ?

Il y a quelques mois, j’annonçais ici la naissance d’un groupe au W3C sur les bibliothèques et le Web de données. Depuis, silence radio… et pour cause ! C’est un peu prenant, comme activité. D’ailleurs, ceux d’entre vous qui auraient essayé de suivre via la liste de discussion se seront rendu compte qu’il s’y passe tellement de choses que c’est parfois difficile de suivre. Même pour les membres du groupe, et même pour les co-chairs, alors ;-)

Du coup je me suis dit qu’un petit point d’étape à mi-parcours, et en français dans le texte, ne serait pas inutile. Oui à mi-parcours, on a déjà passé la moitié de l’espérance de vie normale de ce groupe…

Depuis le mois de mai, le groupe se réunit chaque semaine pendant une heure au téléphone. Vous me direz, comment on fait pour tenir une réunion d’une heure, avec en général entre 10 et 20 personnes en ligne, par téléphone et dans une langue étrangère pour la la plupart des membres du groupe ? Et ben, on y arrive grâce à l’infrastructure géniale du W3C (et un peu d’organisation).
Sur le wiki vous trouverez le running agenda, qui contient toutes les actions en cours et les sujets de travail actifs. Chaque semaine, celui qui préside la réunion le met à jour et envoie un sous-ensemble, les points qui seront traités, sur la mailing list.
Pendant la réunion, on est au téléphone et en même temps sur un canal IRC qui permet aux robots du W3C (Zakim et ses amis) de nous rejoindre et de gérer les aspects « logistiques » de la réunion : passer à la parole à ceux qui la demandent, couper les micros qui font trop de bruit, et prendre des notes. Enfin, c’est le scribe (une fonction tournante) qui écrit directement dans le canal IRC tout ce qui se passe : comme ça les minutes sont prêtes, ou presque, dès que la réunion est finie.

Je ne vous recommande pas la lecture des minutes de réunion, qui sont un peu dures à comprendre quand on n’a pas participé, mais il existe une page où sont récapitulés tous les sujets qui ont été traités pendant les réunions, ce qui permet de voir un peu l’avancement du groupe.

En octobre, nous nous sommes rencontrés à Pittsburgh pour le « face to face », seule et unique réunion présentielle dans la vie du groupe. Cette réunion a duré 1 jour et demi, et était elle aussi assistée par Zakim, avec des minutes extensives.
Mais bon, pour que cela soit compréhensible pour le reste du monde, nous avons produit un résumé des résultats de cette réunion.
Principalement, ce que nous avons fait c’est que nous avons regroupé les 42 (et plus) « use cases » que nous avions reçu en plusieurs « paquets » thématiques, les use case clusters, sur lesquels nous travaillons actuellement (voir ci-dessous).
Nous avons aussi travaillé sur la liste des sujets intéressants (« topics ») que nous avions identifié en lançant le groupe, pour essayer d’évaluer ce qui serait faisable dans le groupe d’incubation lui-même, et ce qui devrait faire l’objet de recommandations pour des actions ultérieures.

Depuis, nous bossons dur sur les use case clusters. L’objectif est, en partant de cas réels identifiés dans les use cases, d’essayer de couvrir plus ou moins tout le spectre des problématiques du Web de données en bibliothèque… pas une mince affaire !

Le cluster Bibliographic Data s’intéresse au cœur de cible des données de bibliothèques : la notice bibliographique. Il aborde des sujets tels que l’évolution des modèles et des formats, les problématiques de duplication et d’échanges de notices, et bien sûr, une discussion qui fait rage sur la liste en ce moment : dans un contexte de Web de données, peut-on encore parler de « notice » ?

Le cluster Authority data (la page est encore vide, mais ça va venir ;-), qui porte sur les données d’autorité, touche des problématiques assez différentes. Il fait l’objet d’une discussion pour savoir si quand on parle d’autorités, il est question des « choses » elles-mêmes ou juste des « noms » des choses. En fait, une discussion intensive autour de VIAF sur la liste a conduit à une sorte de consensus sur un modèle qui, à partir d’une notice d’autorité (par ex. une personne), produit un ensemble d’assertions reliées entre elles, dont certaines portent sur la personne en tant qu’entité, et d’autres sur son « label » (sa forme, on dirait en français) et les caractéristiques de cette forme.

Le cluster Vocabulary alignment porte sur l’utilisation de vocabulaires reliés entre eux pour améliorer l’interopérabilité entre des données qui sont décrites suivant des standards différents.
En fait, il s’avère que ce terme de « vocabulaire » était sujet à ambiguïté, ce qui a conduit, là encore, à tout un tas de discussions sur la liste, et débouché sur cette définition, dont nous ne prétendons pas qu’elle est globalement parfaite, mais plutôt qu’elle est suffisamment claire pour servir les besoins de notre groupe, à savoir, produire un rapport à peu près compréhensible pour des bibliothécaires ;-)
Au-delà de ça, il s’agit d’identifier la façon dont l’utilisation des technologies du Web sémantique pour aligner des vocabulaires va permettre d’améliorer l’expérience de l’utilisateur en terme de recherche et de navigation (search and browse). Bien sûr, cela ouvre aussi des perspectives pour améliorer ces vocabulaires eux-mêmes.

Le cluster Archives and heterogeneous data est un ensemble de cas qui touchent à la convergence entre des données au-delà des bibliothèques (archives, musées, etc.) en particulier dans des contextes où on essaye d’agréger ou de fédérer des grosses quantités de données.
C’est celui sur lequel j’ai travaillé donc je ne suis peut-être pas tout à fait objective… Mais à mon avis, son intérêt principal est de faire émerger le besoin, pour ce type de données, d’utiliser ce que les archives appellent le contexte (ou les bibliothèques, les autorités), bref un réseau d’informations sémantiques, pour relier des données qui sont différentes, qui décrivent des ressources différentes, mais qu’on voudrait pouvoir connecter quand même pour offrir une dimension de navigation à l’utilisateur.
Dans ce cluster, on touche aussi à l’intérêt du Linked Data pour des données non bibliographiques et à des fins professionnelles (l’utilisateur est le bibliothécaire ou l’archiviste).

Le cluster Citations travaille sur la notion de référence bibliographique. Après avoir posé une définition à plusieurs niveaux, il s’est attaché à imaginer ce que le Linked Data pourrait apporter comme enrichissements à la notion de citation telle que nous la connaissons actuellement : notamment en permettant l’accès direct à la ressource citée, ou en ajoutant des liens typés permettant d’être plus précis sur la relation entre le document citant et le document cité. La problématique des formats de citation est à rapprocher de celle des données bibliographiques.

Le cluster Digital Objects fait le tour des besoins liés à la publication d’objets numériques en ligne, l’accent étant mis sur la nécessité de pouvoir regrouper des objets, les enrichir, les parcourir et les réutiliser. Derrière la notion de regroupement on retrouve celle de structuration des objets complexes, avec notamment la mention d’OAI-ORE.

Ces 6 clusters étaient ceux qui avaient émergé de la réunion « face to face », mais par la suite nous avons été amenés à en créer deux autres : Collections qui traite des collections de bibliothèques et aussi de la problématique de la localisation des objets physiques, et Social Uses qui vient juste de lancer un appel à contributions.

Voilà, nous en sommes là ! Le travail sur les clusters est en train de se terminer, et je suppose qu’ensuite, nous commencerons à l’intégrer dans l’embryon de ce qui sera notre rapport final.

Sem Web Pro

Ces deux derniers jours, j’ai participé à la conférence Semweb.Pro. L’objectif de cette première édition était, je crois, de montrer qu’il existe une communauté professionnelle et des applications industrielles pour le Web sémantique en France. Et l’objectif a, je crois, été atteint !

Environ 130 personnes étaient présentes entre les deux journées : la conférence proprement dite le 1er jour, et les tutoriels le 2e jour. Quelques impressions à chaud…

J’ai beaucoup apprécié l’ouverture d’Ivan Herman, qui a fait le point sur les travaux en cours dans le domaine du Web sémantique au W3C, de la nouvelle version de SPARQL aux travaux qui vont démarrer sur « RDF next steps », en passant par les évolutions de RDFa. Bon c’est vrai, dès le matin à 9h, les requêtes SPARQL direct c’était un peu sévère ;-) mais au moins ça annonçait la couleur.

Ensuite, nous avons assisté à 4 présentations de produits qui permettent de publier des données en RDF : EMFtriple, CubicWeb, Semsoft et Asterid. Personnellement, cette partie de la conférence m’a moins emballée, mais je pense que c’est juste parce que ça ne correspondait pas à mes centres d’intérêt à ce moment-là.

L’après-midi la parole était aux producteurs, avec une table ronde sur l’ouverture des données publiques (à laquelle j’ai participé), et la présentation de la BBC (j’adore toujours autant leurs réalisations, c’est vraiment excellent).
Enfin quelques réalisations intéressantes : SemWebVid pour annoter des vidéos automatiquement, les explications d’Antidot sur l’utilisation des technos du Web sémantique dans un moteur de recherche, et Datao pour les interfaces graphiques.
Ça s’est terminé avec des « lightning talks » auxquels je n’ai malheureusement pas pu assister.

Deuxième jour, les tutoriels : c’était dur, il fallait choisir ;-) mais je dois dire que tous ceux auxquels j’ai assisté étaient de grande qualité. Grâce à Got je n’ai plus peur de RDFa… et je salue tout particulièrement le travail de l’équipe Datalift, je pense que leurs diapos feront date dans le monde du Web de données français.

Pour finir, je tire mon chapeau aux organisateurs de la conférence pour la logistique, les salles, le café, les croissants, le wifi, le fil twitter, le déjeuner au self du coin, tout ! Et ce qui était surtout agréable c’était de voir réunie toute la communauté et de partager ces deux jours avec tout plein de gens passionnants. J’espère qu’on remettra ça l’année prochaine !

DC 2010…

Me voici donc à Pittsburgh pour la conférence «Dublin Core 2010», où le DC fête ses 15 ans, et la conférence ses 10 ans.
Un petit mot sur cette communauté : on compte ici environ 150 personnes, ce qui fait peu, je trouve, si on considère que c’est une des conférences majeures sur les métadonnées (à croire que les experts en métadonnées ne sont pas légion ;-)

Bien qu’il y ait beaucoup de «nouveaux», de gens qui comme moi assistent à leur première conférence DC, ma première impression a été celle d’une communauté arrivée à un moment critique de son existence, en quête d’un difficile équilibre entre l’expérience sur laquelle elle est assise, associée à un certain effet d’inertie, et son image de communauté innovante ancrée dans l’écosystème du Web.
Ainsi, quand la communauté se retourne pour regarder les 15 années passées derrière elle, ce n’est pas sans une certaine amertume… Impression qui ressortait particulièrement de la «Keynote» de Stu Weibel, un des fondateurs du DC, qui est revenu sur les succès et les échecs de 15 années de normalisation. Un bilan quand même assez désabusé, face à la complexification croissante de ce qui se voulait un standard simple, et les difficultés pour se conformer véritablement au mode de fonctionnement et au développement du Web.

Mais à part cela, le Linked Data est partout, et l’initiative du LLD XG a été citée de façon répétée, apparaissant comme une porte de sortie, ou plutôt un espoir de transition vers quelque chose de nouveau, un nouveau souffle pour la communauté.
Il faut dire qu’avec 42 use cases collectés, le LLD XG semble réunir le matériau nécessaire pour démontrer à la fois l’importance et l’utilité du Web de données, et la voie pour y arriver.
J’ai assisté à une grande partie de la session «spéciale» sur le Linked Data organisée par Karen Coyle et Corey Harper. Dans le groupe de travail «Library Community», le Linked Data était aussi à l’honneur, avec une présentation du XG, et des initiatives allemandes (Univ. de Mannheim et DNB).

Autre sujet brûlant, les FRBR. Il y avait une session plénière qui leur était consacrée, mais on en a aussi beaucoup parlé dans la session spéciale Linked Data, qui portait sur les «domain models».
Cela soulève beaucoup de questions : les FRBR sont-ils trop complexes ? sont-ils le modèle adapté pour décrire l’information des bibliothèques, en particulier une information «héritée» (legacy data) qui n’est pas conforme au modèle ? Est-ce que la complexité du modèle ne risque pas de complexifier les données ?

A suivre…

Après Göteborg, Singapour : un cadre pour les Application Profiles

Après avoir entendu parler (ou reparler ?) à plusieurs reprises des « profils d’application » (application profiles ou AP) du Dublin Core, que ce soit dans le LLDXG ou à l’IFLA, j’ai éprouvé le besoin de me replonger dans tout cela. Force est de constater que je ne m’y étais pas intéressée de près depuis plusieurs années, alors que le développement de RDF et du Web de données a conduit le DCMI à revoir complètement son modèle abstrait (le DCAM, Dublin Core Abstract Model) et cette notion d’Application Profile, vers 2007.

Il n’est pas dans mon propos d’entrer dans les détails du DCAM aujourd’hui. Ce modèle est surtout utile en tant que référent pour le vocabulaire un peu particulier utilisé dans le monde Dublin Core.
Plus intéressant, à mon avis, est le Singapore framework for Application Profiles, un autre document du DCMI qui a le statut de « recommended resource » (autrement dit, ce n’est pas un standard, mais il est important quand même).

Ce document, le cadre de Singapour, a été proposé à la conférence DC en 2007 (décidément une année cruciale). Il définit les différents éléments constitutifs d’un Application Profile.
Quand on applique un standard de métadonnées, il existe différents niveaux qui doivent être pris en compte pour favoriser l’interopérabilité : bien sûr il faut respecter la syntaxe, le nom des éléments, la façon adéquate de les utiliser selon qu’ils sont obligatoires ou pas, répétables ou pas, etc. Mais pour aller plus loin, il faut aussi définir précisément les valeurs de ce qu’on met dans ces éléments, et éventuellement la façon de construire ces valeurs.

Je vais faire une comparaison pas du tout triviale avec le monde des bibliothèques.
Nous avons des standards qui sont des formats de métadonnées (MARC par exemple, et ses « différents parfums » comme dirait l’autre).
Nous avons d’autres standards qui sont des règles de catalogage et expliquent comment, à partir d’un document qu’on a entre les mains, on va déterminer quel est le titre, l’auteur principal, l’éditeur, etc. et comment il faut les transcrire dans la notice. Cette deuxième famille de norme comprend AACR2 pour les anglo-saxons, ISBD pour le reste du monde, et RDA pour l’avenir (peut-être).
Nous avons également des standards qui décrivent le modèle sous-jacent de toute cette information et à quoi elle sert : ce sont les FRBR et leurs petits frères FRAD (vient de sortir en français) et FRSAD.
Construire un Application Profile, cela revient à embrasser toute la palette de ces normes pour une communauté définie, et à formaliser le résultat.

Le Singapore framework définit ainsi les éléments suivants comme constitutifs d’un AP :
– les spécifications fonctionnelles (functional requirement ou FR – ça vous rappelle quelque chose ?) et le modèle du domaine : ce sont les représentations abstraites qui définissent l’objectif de notre AP, et elles sont obligatoires ;
– le Description Set Profile, sur lequel je vais revenir dans un instant ;
– et les guides d’utilisation (guidelines) pour le contenu et pour l’encodage, tous deux optionnels. Ce sont les équivalents de nos règles de catalogage mais aussi, guides et outils du catalogueur divers.

Je ne reviens pas sur les modèles et sur les guides.
Le Description Set Profile (DSP) fait l’objet d’un document normatif DCMI encore au stade de « working draft ».
Le DSP est un document XML qui permet de décrire les différentes propriétés qu’on utilise dans notre AP, et jusqu’à un certain point, la façon dont on les utilise.
Le DSP prend complètement acte de RDF, au sens où il ne se restreint absolument pas aux propriétés du DC (voir ici pour un rappel). On peut donc construire un Application Profile en piochant dans les différents vocabulaires qu’on veut, FOAF, DC, etc. du moment que les propriétés qu’on utilise sont identifiées par une URI. Jusqu’ici, on est bien dans l’esprit de RDF.
Le DSP permet aussi de préciser un certain nombre de choses sur la façon dont on utilise ces propriétés. On peut préciser si l’objet doit être une ressource (identifiée par une URI) ou un littéral (une chaîne de caractères), ou si la propriété doit être obligatoirement une sous-propriété d’une propriété plus générique. On peut également définir qu’une propriété est obligatoire ou non, répétable ou non.

Bref, le DSP est conçu pour permettre de « valider » un ensemble de triplets RDF en fonction de règles prédéfinies (on parlerait d’un « pattern » en anglais, et ce sera compliqué à traduire). Le but étant d’obtenir des descriptions, ou si vous voulez des notices, le plus homogènes possibles. Il existe un document du DCMI qui définit les différents niveaux d’interopérabilité que l’on peut atteindre. Le DSP permet d’atteindre un niveau d’interopérabilité optimal !
Cette notion de validation, en réalité, est un non-sens en RDF. Les ontologies ne servent pas à valider les données. Elles se contentent de décrire les choses et leurs qualités, mais elles ne sont pas prescriptives. Ce n’est pas parce qu’il y a une propriété foaf:geekCode que tous les gens qu’on décrit en utilisant foaf sont nécessairement des geeks (ou doivent le devenir ;-) A l’inverse, en RDF, chaque triplet est indépendant ; il n’y a pas de notion de « notice », donc aucun moyen de dire que si on veut décrire une personne, il est obligatoire de mentionner son nom de famille – par ex.
Pour autant, si on veut pouvoir vérifier que certaines règles sont respectées pour produire certains types de données, on aura besoin de ce genre de mécanisme. Cela peut être le Description Set Profile tel qu’il se présente actuellement, mais on pourrait imaginer (et les gens du DCMI y réfléchissent) d’autres formalismes, des schémas XML, des schématrons, ou même des requêtes-type pour exprimer cette notion de validation.

Le Singapore framework for Application Profiles et le Description Set Profile sont donc des documents qui à mon sens méritent toute notre attention, car ils font le pont entre le monde du Linked Data et celui des bibliothèques où tout est encore articulé autour du paradigme de la notice. Il me paraît clair que nous aurons besoin de ce type de formalisme – je ne dis pas celui-là en particulier, mais quelque chose de ce genre – si on veut porter toute la complexité des données des bibliothèques dans le Linked Data. Ou ne serait-ce qu’une partie.

IFLA 2010 – Suite et fin

Les deux dernières journées de l’IFLA, samedi et dimanche, ont été riches en ce qui me concerne, car le dimanche matin se déroulait la session « Libraries and the semantic Web », que j’ai contribué à organiser, et l’après-midi la session « Development of systems for long-term storage and preservation of library collections » dans laquelle je présentais un article.

Samedi, mis à part une courte (et extrêmement agréable) rencontre avec quelques membres du LLD XG, j’ai consacré la plupart de mon énergie à finir de préparer la journée du lendemain, ce qui incluait la modération de la session du matin, la préparation des différentes copies de mon article pour la traduction simultanée, etc.

La session « Libraries and the Semantic Web », bien que se déroulant un dimanche 15 août à partir de 8h30 (!), a attiré environ 250 personnes, dont la plupart ne dormaient même pas !
Nous avons eu droit à une ouverture riche et éclairante par Richard Wallis, suivie par 6 présentations toutes pertinentes et de haute qualité dont vous retrouverez les textes sur le site de l’IFLA et les présentations sur Slideshare. La session a aussi été assez bien couverte sur twitter (#ifla2010) y compris par votre serviteuse qui twittait depuis la tribune ;-)

La session de l’après midi, consacrée à la préservation numérique, s’est très bien passée aussi. Il y avait environ 120 personnes, ce qui n’est pas mal du tout pour la dernière session de la conférence. Les autres présentations portaient sur le système e-Depot de la KB, et sur Hathi trust. La défection d’un des intervenants a été habilement compensée au pied levé, grâce au brio des animatrices de la session, par une intéressante discussion avec la salle permettant de faire un peu le tour des initiatives en cours.

Et puis c’était la fin : la session de clôture, avec ses récompenses, ses remerciements… et pas son annonce du lieu d’un futur congrès, puisque le lieu du congrès de 2013 ne sera annoncé que l’année prochaine.
Mystère donc !

… Rendez-vous l’année prochaine à Puerto Rico ?

Un groupe « Bibliothèques et Web de données » au sein du W3C

Le W3C vient d’annoncer le lancement d’un groupe d’incubation « Bibliothèques et Web de données » (Library linked data).
Pour moi, c’est l’aboutissement de plusieurs mois de réflexions, prises de contact, argumentation, maturation, explications, bref pas mal de travail pour aboutir à ce résultat, même si ce n’est qu’un début ! Je suis donc extrêmement heureuse de pouvoir vous en dire plus sur cette initiative.

Pourquoi le W3C ?
Le W3C est le principal organisme de normalisation du Web.
Traditionnellement, les bibliothèques font un important travail de normalisation, soit au sein d’organismes propres à leur communauté (IFLA) soit au sein d’organismes de normalisation traditionnels (ISO, AFNOR). La normalisation est d’ailleurs perçue comme un réel atout de notre communauté.
Aujourd’hui, la tendance est à la recherche de convergence, c’est-à-dire à ne plus faire des normes spécifiques à une communauté, mais des normes valables dans un environnement plus global. S’agissant de technologies de l’information, cet environnement global s’appelle le Web. Il est donc vital que les bibliothèques, aujourd’hui presque totalement absentes de la normalisation au W3C, se mobilisent et se coordonnent pour y participer.
La participation à tous les groupes de normalisation qui travaillent sur des standards potentiellement applicables en bibliothèque est inenvisageable. Ces groupes sont trop nombreux, leur propos est souvent très technique et requerrait de mobiliser fortement les informaticiens des bibliothèques, ce qui est impossible.
L’autre solution était donc de créer une structure, au sein du W3C, correspondant au domaine des bibliothèques, qui leur permettrait de s’exprimer en tant que communauté sur leurs besoins et leurs usages des normes du W3C. C’est le rôle de ce groupe.

Pourquoi un « groupe d’incubation » ?
Un « incubator group » (qui s’abrège en « XG ») a vocation à faire des propositions au W3C sur de nouveaux travaux à démarrer. C’est donc le préalable à toute action plus durable qui pourrait être entreprise au sein du W3C.
Autre avantage, c’est une structure légère à créer : il suffit que 3 organisations membres le soutiennent pour le lancer.
Le Library Linked Data XG va donc travailler pendant un an (jusqu’à fin mai 2011) pour élaborer un rapport dans lequel on trouvera des préconisations pour d’autres actions à conduire sur le plus long terme.

Pourquoi les bibliothèques ?
Du côté des bibliothèques c’était vraiment le bon moment : les formats de demain (RDA notamment) et les projets internationaux majeurs (VIAF par exemple) s’appuient fortement sur les technologies du Web sémantique. Ces actions sont encore expérimentales, jeunes, il est donc temps de les utiliser comme un tremplin pour préparer l’environnement normatif de demain.
Le W3C a été sensible à cette tendance de convergence recherchée par les bibliothèques, et l’intérêt d’un tel groupe n’a fait aucun doute de leur côté.
Cela ne veut pas dire que les autres acteurs « proches », c’est-à-dire principalement du monde patrimonial (archives, musées, etc.) ou de l’édition (éditeurs, libraires…) sont exclus de notre réflexion, bien au contraire. Simplement il fallait se fixer un objectif raisonnable et atteignable, d’où le choix des bibliothèques comme point de départ. Le rapport du groupe devra contenir des recommandations sur les modalités de rapprochement avec ces autres communautés.

Pourquoi le Web de données (Linked Data) ?
Nous avons hésité à focaliser le groupe sur le Web sémantique, mais nous avons finalement préféré le Web de données pour deux raisons.
Déjà, le Web sémantique est un terme dont l’ambiguïté pose problème, même dans les communautés supposées connaître ces technologies. C’est un fait qui est même reconnu au sein du W3C.
Mais surtout, le choix de faire référence au Web de données implique que la problématique du groupe sera l’interopérabilité globale des données de bibliothèques sur le Web, et pas seulement le Web sémantique. Le Web de données inclut la réflexion sur des standards du Web qui ne font pas uniquement partie de la sphère du Web sémantique (comme HTTP ou les URI).
Tout ceci est expliqué dans la charte du groupe.

Qui fera partie de ce groupe ?
Ce groupe a été initié par des acteurs majeurs du monde des bibliothèques, comme la Library of Congress, OCLC, et Talis, et du domaine du Web sémantique comme le DERI, l’Université libre d’Amsterdam, l’Université Aalto à Helsinki, etc.
Tous ces acteurs, ainsi que tous les membres du W3C, peuvent de droit nommer des représentants dans le groupe. De plus, les présidents du groupe peuvent faire appel à des experts invités, même si ceux-ci n’appartiennent pas à une organisation membre du W3C. Le W3C devrait publier bientôt un appel à contributions pour enclencher ce processus de nominations.
Le groupe a trois co-présidents, Tom Baker, Antoine Isaac et moi-même. Nous espérons être rejoints par une vingtaine de participants actifs (qui assisteront aux téléconférences hebdomadaires et rédigeront les documents). Mais la communauté qui va se créer autour du groupe sera beaucoup plus importante : tout le monde pourra suivre la progression de ses travaux, via le wiki et la liste de diffusion publique.

Et maintenant ?
Et maintenant, au travail. Nous avons un an pour faire un bilan de l’état des technologies du Web de données appliquées dans le domaine des bibliothèques, identifier des acquis et des pistes de travail, mettre les acteurs en présence, construire une vision qui fasse l’objet d’un consensus. Je crois que cette année va passer très vite. Si mon blog reste un peu trop silencieux, rendez-vous sur le site du W3C…

Le 2e catalogue dans le Linked Data

Il y a un peu plus d’un an, je vous parlais de Libris, le premier catalogue de bibliothèque à être exposé intégralement dans le Linked data.

Aujourd’hui, il est rejoint par le catalogue de la Bibliothèque nationale hongroise (National Széchényi Library), d’après ce message sur la liste LoD.
Alors vu que ce n’est pas 100% intuitif, voici le « truc » pour voir le RDF : il faut ajouter « data » dans l’URL avant l’identifiant de la ressource (« data »… c’est bien trouvé ça, non ;-)
Dans le RDF on peut voir qu’ils utilisent DC pour les données bibliographiques, FOAF pour les personnes, et SKOS pour les sujets. En outre, certaines de leurs autorités personnes sont alignées avec DBpedia.

La 3e, ça me semble être bien parti pour être la bibliothèque nationale allemande (DNB), si on en croit ce document.. Mais on va attendre sagement qu’ils aient fini de travailler dessus avant d’en dire plus !

A partir de 4, on ne décerne plus de médaille, il fallait se réveiller avant. Non pas qu’on dort, hein, c’est juste que ça prend du temps ;-)
Ceux qui veulent en savoir plus sur pourquoi et comment on met les catalogues de bibliothèque dans le Web de données peuvent regarder la vidéo d’1h30 de mon 5 à 7 de l’ADBS sur ce sujet.

Les RDA en RDF

Dans le dernier Dlib, on peut lire un article très intéressant de Karen Coyle, Diane Hillmann, Jon Phipps et Gordon Dunsire sur l’expression de RDA en RDF. Il rend compte d’un travail effectué dans le cadre du groupe de travail DCMI/RDA qui comme son nom l’indique travaille sur le rapprochement entre Dublin Core et RDA.

Pour mémoire, les RDA (Resource Description and Access) sont un ensemble de nouvelles règles de catalogage en cours d’élaboration dans la communauté anglo-saxonne, dont le principal caractère novateur est de prendre acte de la modélisation définie par les FRBR.

En fait ce qu’ils présentent dans l’article c’est un premier travail pour exprimer les RDA sous la forme d’une ontologie en RDF, qui est disponible en ligne dans le répertoire de métadonnées de la NSDL.

L’article rappelle qu’il s’agit d’un premier travail, qui arrive en avance de phase par rapport à la version définitive de RDA (prévue en juin). Pourtant, ils ont apparemment couvert sinon tout, du moins une grande partie des concepts et des éléments de description prévus.
Ce qui leur a posé plusieurs problèmes…

Le premier étant l’alignement avec les FRBR. Ils ont redéclaré des principales classes des FRBRer en attendant qu’une ontologie digne de ce nom soit publiée par l’IFLA. Mais les FRBRer n’étant pas tout à fait prévus pour cela, ils ont rencontré différents problèmes :
– ils ont dû utiliser une classe des FRBRoo, la classe Agent, sans quoi ça ne tenait pas la route (!)
– pour pas mal d’éléments RDA, le rattachement aux entités FRBR peut être discuté et on ne peut pas rattacher de façon univoque une propriété des RDA à une seule entité FRBR. Pour pallier ce problème ils ont déclaré les propriétés concernées deux fois, une fois de façon générique, puis une deuxième fois sous la forme d’une sous-propriété rattachée à l’entité FRBR choisie.

Le passage en RDF a l’avantage de mettre un certain nombre de relations en évidence de façon explicite.
Mais il implique aussi des contraintes : notamment le fait de mettre les propriétés sur un seul niveau (et pas imbriqué comme en MARC ou en XML).
Le traitement de certains trucs très spécifiques aux pratiques des bibliothèques, comme les mentions déclaratives (la mention d’édition par exemple, sous la forme « Éditeur : lieu, date ») est d’une complexité abominable dès lors qu’on veut les décomposer en plusieurs sous-parties dont certaines peuvent être des ressources (identifiées par des URI, pour les lieux par exemple) et pas seulement des littéraux (des chaînes de caractères).

L’article contient aussi un argumentaire assez intéressant sur l’utilisation d’un « metadata registry » pour déclarer les entités de RDA.
Le répertoire de métadonnées de la NSDL leur permet ainsi de diffuser à la fois une version lisible pour les humains (en HTML, sous forme de tableaux) et une version pour les machines (en RDF avec des URI). Il permet aussi de gérer le versionning et des mécanismes d’alertes.

L’article conclut enfin en soulignant les principaux avantages de cette démarche visant à modéliser les données des catalogues de bibliothèque pour le Web sémantique : il s’agit de permettre à d’autres acteurs d’appréhender ces donnés de façon plus simple qu’avec les formats MARC (cf. les propos de Google à l’ALA forum) mais aussi de nous aider à tirer le bénéfice de données créées par d’autres, comme DBPedia. Il se termine enfin avec une ouverture aux autres communautés proches des bibliothèques : institutions patrimoniales, éditeurs, etc.

Voilà pour l’article. Du côté du modèle lui-même, on va donc trouver trois choses :
– les classes correspondant aux entités FRBRer (+FRBRoo:Agent)
– les propriétés correspondants aux éléments des RDA
– les concepts conrrespondant aux listes de vocabulaires, à utiliser avec les propriétés.

Après une première et très courte analyse, ce RDA en RDF me semble une initiative assez prometteuse avec laquelle on va pouvoir commencer à s’amuser un peu… Même s’il y a sans doute encore des évolutions à prévoir.
Par exemple, on peut s’étonner de certains choix de modélisation comme le fait d’utiliser systématiquement SKOS:concept pour les vocabulaires. Autre truc bizarre, les vocabulaires sont faits pour être utilisés avec les propriétés mais l’ontologie ne le précise pas formellement ; il faut donc se débrouiller tout seul pour comprendre, par exemple, que la liste de concepts « RDA carrier type » doit être utilisée avec la propriété RDA:carrierType (là ça peut paraître évident, mais ce n’est pas toujours aussi simple malheureusement).

Bref, l’ensemble donne parfois l’impression d’avoir été conçu davantage comme un modèle de données traditionnel que comme une ontologie pour le Web sémantique, et qu’il n’en utilise pas toute l’ingénierie, ou pas correctement.
J’espère que les gens qui en savent plus que moi sur la modélisation d’ontologie n’hésiteront pas à s’exprimer sur le sujet ;-)

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 !