Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques...

130
Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ- lemans.fr La recherche fédérée et les protocoles en usage dans les bibliothèques pour un dialogue entre applications

Transcript of Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques...

Page 1: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Cycle T. – 19-23 avril 2010. – ENSSIB, VilleurbanneGestion informatisée des bibliothèques

Philippe.Bourdenet @univ-lemans.fr

La recherche fédérée et les protocoles en usage dans les bibliothèques

pour un dialogue entre applications

Page 2: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Une nouvelle donne technologique

Page 3: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Problèmes d’intégration des outils de référencement dans les systèmes d’information

CatalogueCatalogue collectif

Périodiques en ligne

Thèses en ligne

e-books

Ressources pédagogiquesRessources multimédiasBases de signets

Enregistrements sonores

Catalogues de bibliothèquesassociées ou partenaires

Archives ouvertes

Page 4: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Sources hétérogènes

Imprimés : appareil de description bibliographique évolué (+)

Documents électroniques : contrainte éditoriale forteAppareil de description bibliographique faible (-)

Cédéroms : type hybride (« semi-dématérialisé ») car il reste un objet de prêt ou de circulation

E-books

Thèses en ligne (pdf, html, xml, …)

Ressources pédagogiques ou informationnelles produites par une institution

Périodiques en ligne

Images fixes/images animées

Documents sonores (musicaux/non musicaux)

Ces ressources électroniques sont prisonnières de plates-formes ce qui les range aussi, d’une certaine façon dans le web invisible, mais qui ne communique pas pour autant avec les OPAC…

Page 5: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Passage dans la dénomination des bibliothécaires, du terme de « LECTEUR » au terme d’ « USAGER »

Marginalisation de l’imprimé avec les collections numériques ; ce qui peut-être vécu comme un paradoxe par la profession car l’imprimé mobilise la plus grande partie du temps/homme disponible alors que le volume des collections numériques est bien supérieur :

Exemple d’un bibliothèques de recherche :700 titres de périodiques papier conservés sur une période de 5 ans. Service de 4 personnes14500 titres de périodiques électroniques dont des archives supérieures à 20 ans. Service de 0.5 personne

Soit : 5% du nombre de titres pour l’imprimé

- L’OPAC reste un réservoir d’informations sur l’imprimé - Le « système d’information » ne permet pas toujours de naviguer d’une source à l’autre…

Problématiques émergentes

Ces ressources restent invisibles quand elles sont fournies sous forme de flux, prisonnières de bouquets qui ne se manifestent pas dans un OPAC

Page 6: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Sur le parcours de l’usager…

rq1 rq2 rq3 rq4 rq5 rq6 rq7 rq8 rq9

OP

AC

Cat

alog

ue lo

cal

Cat

alog

ue c

olle

ctif

Res

sour

ce é

lect

roni

ques

Céd

érom

s

Thè

ses

en li

gne

Z39-50

Pér

iodi

ques

en

ligne

Res

sour

ce p

édag

ogiq

ues

Ori-OAI

Imag

es

Doc

umen

ts s

onor

es

Bou

quet

1

Bou

quet

2

Bou

quet

3

E-b

ooks

Page 7: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Alors que l’on aimerait avoir :O

PA

CC

atal

ogue

loca

l

Cat

alog

ue c

olle

ctif

Res

sour

ce é

lect

roni

ques

Céd

érom

s

Thè

ses

en li

gne

Z39-50 E-b

ooks

Pér

iodi

ques

en

ligne

Res

sour

ce p

édag

ogiq

ues

Imag

es

Doc

umen

ts s

onor

es

Bou

quet

1

Bou

quet

2

Bou

quet

3

Point d’entrée unique

Page 8: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Alors que l’on aimerait avoir :O

PA

CC

atal

ogue

loca

l

Cat

alog

ue c

olle

ctif

Res

sour

ce é

lect

roni

ques

Céd

érom

s

Thè

ses

en li

gne

Z39-50

Pér

iodi

ques

en

ligne

Res

sour

ce p

édag

ogiq

ues

Imag

es

Doc

umen

ts s

onor

es

Bou

quet

1

Bou

quet

2

Bou

quet

3

Point d’entrée unique

E-b

ooks

Page 9: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Résolveurs de liens

Base de données bibliographiques

Résolveur de liens

SIDDéclaration des bouquets

par un tiers

Affichage d’icones

SFX, EBSCO,…

Page 10: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Schémas de mise en œuvre de l’interopérabilité (1)

Avec une bibliothèque JAVA ou php, il est

possible de générer un fichier iso 2709 à partir

d’un fichier .csv

Import de notices UNMVia iso 2709

(SUDOC, Moccam,BnF, Zebris…)

OPAC

Import de notices d’autorité iso2709

Imports de notices de documents électroniques

Iso 2709

Problème : les états de collections : leur mise à jour est difficile

grande mouvance dans les titres.

peu de visibilité sur les titres, pour une institution : il est difficile d’obtenir une liste précise et à jour.

BDD

Un exemple à ne pas suivre !

Page 11: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

IGP

Catalogue d’imprimés

(oracle/Mysql)

Exemple : l’utilisateur peut choisir ses sources à l’aide de cases à cocher : c’est une recherche fédérée

OPAC

Catalogue de périodiques en ligne (Mysql)

Catalogue d’e-books (Mysql)

connecteurs

Ori-OAI Ressources pédagogiques

Thèses électroniques

Interopérabilité de niveau 1

Interopérabilité de niveau 2Recherche frédérée

Schémas de mise en œuvre de l’interopérabilité (2)

Page 12: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Pour conclure…

L’effort de construction de l’interopérabilité est indispensable, sinon nous « perdons » l’usager…

= nous l’égarons un peu plus

= nous le voyons préférer des moteurs commerciaux

Il est possible de se positionner sur le marché en tant qu’institution (=source fiable ) grâce à des WebServices qui « déportent » nos bases de données dans d’autres environnements (une occasion à saisir ?)

Page 13: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Systèmes documentaires classiques Internet

Taille de la base limitée – croissance linéaire avec le temps

Milliers de Go - croissance exponentielle

Informations secondaires Bases externes sur lesquelles aucune action n’est possible, en particulier pour l’indexation

Bases internes : responsabilité de constitution, de mise à jour et d’indexation de la base

Bases externes sur lesquelles aucune action n’est possible, en particulier pour l’indexation

Homogénéité des sources et des informations : la base recouvre un ou plusieurs domaines bien circonscrits avec une approche précise (commerciale, scientifique ou autre)

Hétérogénéité des sources et des informations : on trouve tout sur les réseaux – plus de domaines restreints, toutes les approches (scientifique, commerciale, vulgarisation, etc.)

Tableau comparatif des caractéristiques des systèmes documentaires « classiques » et des plates-formes disponibles sur Internet

Pour les professionnels de l’info-doc, en particuliers pour les administrateurs de systèmes, ces oppositions peuvent être résumées ainsi :

Page 14: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Systèmes documentaires classiques Internet

Format unique de présentation des données Formats multiples en évolution incessante

Bases structurées (champ de catalogage renseigné)

Sites web non structurés – utilisation minimale des balises méta

Existence d’un langage d’indexation (thésaurus) adapté au domaine et à la base

Pas de langage d’indexation : pas de thésaurus couvrant l’ensemble des domaines de connaissance – trop d’acteurs différents interviennent

Indexation avec un thésaurus adapté Indexation des moteurs de recherche sur le web de très bas niveau (0 ou 0+ selon les sites)

Indexation de la totalité des corpus Indexation d’une partie. Il existe 2 formes de sites : web accessible (visible) et web invisible (pages générées par une requête, pages dont on a refusé qu’elles soient référencées, pages intranet protégées par un firewall)

Informations vérifiées (sources connues) Informations non validées

Monolinguisme, au moins des index ou descriptions

Multilinguismes

Outils d’interrogation unique, adapté à la base et au langage utilisé

Mélange des modes de recherche : répertoires, mots, navigation

Souci de la cohérence des informations (travail de documentaliste/bibliothécaire)

Alimentation réalisée par un webmaster , pas forcément les mêmes problématiques (souci de présentation, de diffusion, d’impact des informations

(1)Abderrazak Mkadmi, Imad Saleh, Bibliothèque numérique et recherche d’informations

Page 15: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Problème majeur : chacune des sources qui gravitent autour du catalogue disposent de leurs propres outils de recherche, de leurs propres index, de leur propre appareil de description

Exemples de recherche dans des sources hétérogènes :Je cherche des articles sur les langages de programmation informatique à l’usage des linguistes, en

français ou en anglais (les deux langues que je parle), publiés ces 10 dernières années

FRANCIS : linguistique.df. or linguistique.pb. or linguistique.cf. or linguistique.hw. or linguistique.in. or linguistique.ti. or linguistique.ca. or linguistique.tt. or linguistique.if. or linguistique.ar. or linguistique.da. or linguistique.ab. or linguistique.ts. or linguistique.jx. or linguistique.de.} & {programmation.df. or programmation.ti. or programmation.cf. or programmation.hw. or programmation.jx. or programmation.tt. or programmation.ca. or programmation.in. or programmation.ar. or programmation.da. or programmation.ab. or programmation.pb. or programmation.de.}&{ article.pt.}&{ (french or english).lg.}&{ ("1999" or "2004" or "2006" or "2003" or "2000" or "2001" or "2008" or "2007" or "2002" or "2009" or "2005").yr.}

Je cherche l’ensemble des thèses soutenues devant l’Université du Maine en 2008 et disponibles sous format électronique

SUDOC : http://www.sudoc.abes.fr/LNG=FR/DB=2.1/IMPLAND=Y/CHARSET=ISO-8859-1/CMD?FRM=&ACT=SRCHM&Recherche=Recherche&MATCFILTER=Y&MATCSET=Y&NOSCAN=Y&PARSE_MNEMONICS=N&PARSE_OPWORDS=N&PARSE_OLDSETS=N&ACT0=SRCH&IKT0=63&TRM0=mans+2008&ACT1=*&IKT1=4&TRM1=&ACT2=*&IKT2=1016&TRM2=&ACT3=*&IKT3=1016&TRM3=&SRT=RLV&ADI_JVU=&ADI_TAA=&ADI_LND=&ADI_MAT=O&ILN_DEP_BIB=DEP&ADI_BIB=&NOT_USED_ADI_BIB=&NOT_USED_ADI_ILN=

Page 16: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Le « web invisible »

Le Web invisible ou Web caché est la partie du Web correspondant à l'ensemble des documents qui ne sont pas indexés par les outils de recherche traditionnels. « Les ressources du Web invisible comprennent, entre autres, les sites Web construits autour d'une base de données (interrogeable uniquement par un moteur de recherche interne), les pages accessibles par un formulaire de recherche, les pages protégées par un mot de passe, les pages interdites aux robots d'indexation, les pages écrites dans des formats propriétaires, les intranets et les extranets. »

Inconvénient majeur des systèmes interopérables : on reste tout de même dans le « web invisible »

Site institutionnel

Bases de donnéesOPACs

Ressources électroniques

Éditeurs

Page 17: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Les bases de données

Un ensemble structuré d'informations, regroupées sous la forme d'enregistrements stockés sur un système de fichiers logique

ou physique, conçu pour permettre une consultation et une modification aisée de son contenu.On la gère avec un SGBD (Système de gestion de bases de données).Les informations sont stockées dans des tables. Chaque table a un nom unique. Il n'y a pas de vide : toutes les cases ont

une valeur, qui par défaut est "null" (!).

Les champs (attributs) sont disposés en colonne. Une ligne, l'ensemble des valeurs contenues dans un enregistrement, est

appelée "tuple" ou "n_uplet".

Chaque tuple a un identifiant, ou "clé primaire".

Chaque clé primaire répond à 3 grands principes :- minimalité (inutile d'avoir plusieurs clés)- unicité- valeur obligatoire (= non "null")

Il peut y avoir des relations entre les tables (!). Une table peut gérer des clés étrangères : c'est l'expression du lien.

La clé étrangère est la clé primaire d'une autre table, par convention identifiée par un #. Tout clé étrangère est

caractérisée par une règle ; elle a le même domaine que les clés primaires des attributs référencés.

Page 18: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

L'atomicité (Première fonction)Chaque attribut d'une relation (paradigmatique) appartient à un seul domaine de valeur, qui est défini par :- un type (intervalle de valeurs) - une longueur (pour les valeurs caractères)- un formatLa donnée de l'attribut (ou champ) doit être élémentaire : elle ne prend qu'une valeur dans l'intervalle de donnée

autorisé.Ex. domaine={bleu;rouge;vert;jaune}L'attribut COULEUR est défini sur ce domaine

Un MCD (modèle conceptuel de données) est un schéma de structure des tables et des relations :

Page 19: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Dans les bibliothèques, comme dans la plupart des systèmes qui gèrent un volume important, on parle de SGBDr pour des "bases de données relationnelles". Ne pas confondre "relation entre les tables" et "relationnel" qui fait référence à la théorie relationnelle !

Les Langages SQL (structured query language)Il a 4 formes :LDD, langage de définition des données : create, alter, dropLMD, langage de manipulation des données : insert, update, deleteLID, langage d'interrogation des données : select [< algèbre relationnelle - théorie ensembliste / langage des prédicats : "tout", "il existe", "appartient", "and", "or", "not", "P(x)", "P(x,y)"]

LCD, langage de contrôle des données : grant revoke

CREATE TABLE COMMANDE (no_commande char (3)date_commande datemontant numeric (9,2)

);

montant numeric (9,2) <=> 9 caractères en tout dont 2 décimales

Page 20: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Le produit cartésien sert à gérer des jointures.Une jointure est un produit cartésien + un select où clé étrangère = clé primaireLe résultat d'un select d'une jointure est le nombre de tuples qui correspond au nombre de clés étrangères non nulles

Ex. Les titres de notices bibliographiques d'exemplaires prêtés à un moment donnéavec une table UNIMARC qui gère les notices bibliographiques et une table EXEMPLAIRE qui gère les exemplaires :select distinct TITRE from from UNIMARC U,EXEMPLAIRE Ewhere U.UNIQUE_KEY=E.UNIMARC_KEYand ETAT='2';

Des opérations comme l'UNION (union all- union - distinct) et la DIFFERENCE (MINUS) sont possibles

Les données sont prisonnières de bases de données qui imposent leur propre schéma de fonctionnement ; elles sont insérées dans des tables.Les relations vont être gérées par un outil spécifique.Pour manifester ces données, on a besoin d’un moteur et d’un modèle de sortie (output).

Page 21: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

L’interopérabilité des systèmes

Page 22: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

La coopération entre les bibliothèques : une vieille histoire.

L’interopérabilité des catalogues vise d’abord l’échange de données.

- facilite la production des informations- facilite l’échange d’informations- facilite la circulation des documents eux-mêmes

On discerne déjà la nécessité de pratiques harmonisées entre les bibliothèques avec l’utilisation de

- normes- formats- protocoles

Tous très richement documentés !

Motivée par des nécessités économiques (baisse des coûts de production). Les nombreux efforts de normalisation en sont la conséquence.

Page 23: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Normes en vigueur dans les bibliothèques pour la description bibliographique :

Z 44-050 Catalogage des monographies - texte imprimé  

Z 44-063Catalogage des ressources continues

Z 44-074 Catalogage des monographies anciennes

Z 44-065   Catalogage des vidéogrammes

Z 44-066   Catalogage des enregistrements sonores

Z 44-067 Catalogage des documents cartographique

Z 44-069 Catalogage de la musique imprimée

Z 44-077Catalogage des images fixes

Z 44-078 Catalogage des parties composantes

Z 44-082   Catalogage des ressources électroniques

Z 44-073 Catalogage des monographies - texte imprimé (description allégée )

Z 44-059   Catalogage - Choix des accès à la description bibliographique

Z 44-060 Catalogage d’auteurs et d’anonymes :   forme et structure des

vedettes de collectivités auteurs

Z 44-061   Catalogage d’auteurs et d’anonymes : Forme et structure des

vedettes noms de personne, des vedettes titres, des rubriques de classement et des titres forgés

Z 44-079Catalogage - Forme et structure des vedettes titres musicaux Z 44-081

Z 44-081Catalogage - Forme et structure des vedettes : Noms géographiques

Z 44-070Documentation - Indexation analytique par matières

Z 44-005 Documentation - Références bibliographiques : contenu, forme et structure  

Page 24: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Formats utilisés en bibliothèque

MARC (MARC 21, UNIMARC)

DublinCore (format normalisé!), XML

Protocoles utilisés en bibliothèque :

Par exemple pour l’échange de données : Z39-50, SRU/SRW ; WAIS(Wide area information service), FTP (File transfert protocol);HTTP

Page 25: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

L’interopérabilité, qu’est-ce que c’est ?

« L’ interopérabilité est la capacité que possède un produit ou un système, dont les interfaces sont intégralement connues, à fonctionner avec d'autres produits ou systèmes existants ou futurs et ce sans restriction d'accès ou de mise en œuvre . » (AFUL)

vs

compatibilité interopérabilité

Cela nécessite une grande transparence sur les mécanismes ou les formats employés…

Page 26: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

L’intéropérabilité en trois mouvements

Elle met en jeu trois niveaux techniques complémentaires(1) :

1. Une description des ressources avec des sémantiques communes

2. Un contexte générique d’implémentation des descriptions dans des langages structurés standardisés, interprétables par des machines

3. Un ou plusieurs protocoles informatiques d’échange de ces données normalisées

(1)Abderrazak Mkadmi, Imad Saleh, Bibliothèque numérique et recherche d’informations

Page 27: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

<Jeu de métadonnées>

<Cadre générique d’implémentation>

<Protocoles>

MARC (< Z44-050)

ISO 2709

WAIS, FTP, Z39.50

DublinCore,MODSEADLOM (Learning Object Metadata)

SCORM

XML, MarcXchangeURLRDF (Resource Description and Framework)

httpOAI-PMHSRU/SRW

Standards traditionnels

Standards plus récents

Page 28: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Dispositifs « synchrones » et dispositifs « asynchrones »

Pour construire l’interopérabilité entre les systèmes on peut mettre en œuvre des dispositifs :

Synchrones : Z3950, SRU/SRW, OpenURL, API, Webservices,…Ces dispositifs permettent une interrogation  « à chaud » des données. Des moteurs de recherche pointent vers des bases toujours à jour : le service distant peut remonter une information juste après sa création ou sa modification. Cette immédiateté est un avantage, mais la gestion des protocoles qui permettent cette interrogation est plus lourde.

Asynchrones : les données sont recopiées (par exemple dans un entrepôt) et pour être interrogées doivent attendre un reversement, en général planifié : une fois par jour, une fois par semaine, une fois par mois. C’est le cas d’un entrepôt OAI.

On peut mesurer cette différence en se rappelant le schéma de signalisation des notices dans le SUDOC : les modifications ou créations sur les notices du réseau sont prises en compte après le transfert régulier dans le système local des membres du réseau : ce dispositif est asychnchrone. Mais si l’établissement cible a monté un serveur Z39.50, les données, une fois insérées dans le système local sont interrogeables « à chaud », en temps réel par un système distant.

Page 29: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Dispositifs « synchrones » et dispositifs « asynchrones »

On sera amené à choisir l’un ou l’autre mode pour construire l’interopérabilité, en fonction de la nature des informations qui doivent être fournies, et de la variabilité de ces données.

Document électronique

Peu de clés étrangères

Pas de transactions de prêt

Données à faible variabilité

Données pour une utilisation immédiate

Périodicité de mise à jour >= 1 semaine

Réindexation peu fréquente

Protocole de grande fiabilité

Imprimé

Objets de prêt

Données à grande variabilité

Données normalisées de grande fiabilité

Réindexations courantes

Page 30: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Schéma global d’un SID (théorique)

SIGBOPAC

Fournisseurs de notices MARCBnF, ABES, Electre, Zebris, …

Autres catalogues de bibliothèques

import

Z 39.50

SRU

Entrepôt OAI-PMHmoissonnage

« ingest »

Sources« hétérogènes »

connecteurs

API

Page 31: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Les Bibliothèques nationales et l’accès à l’information : le rôle de TEL et de MACS / Genevieve Clavel-Merrin

Schéma global d’un SID (existant)

Page 32: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Dispositifs SYNCHRONES

Page 33: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Z39.50

Page 34: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Protocole d’échange pour une utilisation bibliographiquequi régit le « dialogue » entre clients et serveurs, décrit et utilisé aux États-unis à partir de 1984.

La norme date de 1988, provient du « New York Item » ;Elle est maintenue par la Bibliothèque du Congrès avec la « Z39.50 Maintenance Agency ».

Le protocole Z39-50

Ce protocole permet l’interrogation en temps réel de bases bibliographiques pour un usage de consultation et de récupération de notices, sans que l’usager ne soit obligé de changer d’environnement.

Page 35: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisateur / bibliothécaire

Catalogue local

(C/S ou émulation telnet)

Base de données locale (MARC)

Bibliothèque 1

SIGB 1

Rq 1

Page 36: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisateur / bibliothécaire

Catalogue local

(C/S ou émulation telnet)

Base de données locale (MARC)

Bibliothèque 1

SIGB 1

Catalogue Z39.50

(port 210-21210)

Base de données locale (MARC)

Bibliothèque 2

SIGB 2

Rq 1

Rq 1

Règles de filtrage

Page 37: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisateur / bibliothécaire

Catalogue local

(C/S ou émulation telnet)

Base de données locale (MARC)

Bibliothèque 1

SIGB 1

Catalogue Z39.50

(port 210-21210)

Base de données locale (MARC)

Bibliothèque 2

SIGB 2

Rq 1

Rq 1

Rs 2

Rs 2

Page 38: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisateur / bibliothécaire

Catalogue local

(C/S ou émulation telnet)

Base de données locale (MARC)

Bibliothèque 1

SIGB 1

Catalogue Z39.50

(port 210-21210)

Base de données locale (MARC)

Bibliothèque 2

SIGB 2

Rq 1

Rq 1

Rs 2

Rs 2Rs 1

Page 39: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisateur / bibliothécaire

Catalogue local

(C/S ou émulation telnet)

Base de données locale (xMARC)

Bibliothèque 1

SIGB 1

Catalogue Z39.50

(port 210-21210)

Base de données locale (xMARC)

Bibliothèque 2

SIGB 2

Rq 1

Rq 1

Rs 2

Rs 2Rs 1

?

Page 40: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Z39.50 utilise à l’origine le modèle OSI (Open Systems Interconnection)qui regroupe 7 couches :

-7 Application-6 Présentation-5 Session

-4 Transport-3 Réseau-2 Liaison de données-1 Physique

TCP/IP (Unix)

Port 210 : le client ouvre directement une connexion TCP avec le serveur Z39.50

Croît avec Internet !

Page 41: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Ici, la « sémantique commune » est déjà presque acquise :Avec Z39-50, on a deux systèmes qui dialoguent facilement car ils manipulent des valeurs communes…

Système A

TITRE TUnimarc.200a

Index: ’TitreM’

Système B

TITRE TUnimarc.200a

Index: ’MTitre’

Interpréteur :TitreM.A=Mtitre.B

La liaison fonctionne avec un simple interprète. Le protocole d’échange est solide comme il repose sur des données normalisées (qui sont la garantie de l’interopérabilité).

Page 42: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisateur / bibliothécaire

Catalogue local

(C/S ou émulation telnet)

Base de données locale (MARC)

Bibliothèque 1

SIGB 1

Catalogue Z39.50

(port 210-21210)

Base de données locale (MARC)

Bibliothèque 2

SIGB 2

Rq 1

Rq 1

Rs 2

Rs 2Rs 1

Un protocole de liaison : Search/Retrieve Protocol

Page 43: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisateur / bibliothécaire

Catalogue local

(C/S ou émulation telnet)

Base de données locale (xMARC)

Bibliothèque 1

SIGB 1

Rq 1

Rq 1

Rs 2

Rs 2Rs 1

BASE D’INFORMATION

Le protocole Z39.50 ne s’occupepas du fonctionnement internede la plate-forme distante…

Page 44: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

L’utilisateur n’a pas à se soucier des différences entre les systèmes : sa requête sera traduite avec précision grâce à la définition booléenne « embarquée » par leprotocole.

La norme fait état de :

ANS1 : Abstract Notation Syntax 1 (ISO 8824) Un langage de description de données indépendant des matérielset logiciels permettant de décoder des messages entre clients et serveurs

BER : Basic Encoding Rules (ISO 8825) Des règles de conversion de syntaxes abstraites en une syntaxespécifique de transfert de données

Page 45: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Systèmes de requêtes HTTP

RFCMIME-SMTPHTTP 1.0

(Memo)./ correspond au dossier actuel ; ../ correspond au dossier parent ;

/ correspond au dossier racine

RFC 1945 : Hyper text Transfer Protocol – HTTP/1.0 (Specifications)

RFC 1808 : pour les URL relatives

RFC 1738 : Adresses universelles (URL, Uniform Resource Locators)

La RFC qui a longtemps servi de base à la définition des URL et des URI. Elle définissait le format des URL pour différents protocoles, comme Gopher, Mailto, etc. Le format des URL pour les requêtes de ces différents protocoles, sont maintenant traités à part des dans documents propres à chacun. Obsolète, remplacée par la

RFC 3986 : Identifiant de Ressource Uniforme (URI) : Syntaxe générique

Les requests for comments (RFC), littéralement « demande de commentaires », sont une série numérotée de documents officiels décrivant les aspects techniques d'Internet. Peu de RFC sont des standards, mais tous les standards d'Internet sont des RFC.

Page 46: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

RFC 1945 : Hyper text Transfer Protocol – HTTP/1.0 (Specifications)

TerminologieConnexion Un circuit virtuel s'appuyant sur une couche de transport pour la communication d'information entre deux applications.

Message L'unité de base d'une communication HTTP, consistant en une séquence structurée d'octets transmis via la connexion.

Requête Un message de requête HTTP

Réponse Un message de réponse HTTP

Ressource Un service ou objet du réseau pouvant être identifié par une URI

Entité Une représentation particulière de données, ou la réponse d'une ressource de type service, incluse dans une requête ou une réponse. Une entité représente une métainformation sous la forme d'un en-tête et d'un contenu (corps, ou « body » ).

Client Un programme applicatif dont la fonction principale est d'émettre des requêtes.

Utilisateur Le client qui a émis la requête. Celui-ci peut être un navigateur, un éditeur, un "spider" (robot d'exploration), ou autre utilitaire.

Page 47: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisateur final L'utilisateur humain pilotant le programme utilisateur.

Serveur Un programme applicatif acceptant des connexions dans le but de traiter des requêtes des délivrer des réponses

Serveur d’origine Le serveur dans lequel se situe physiquement une ressource.

Proxy Un programme intermédiaire qui cumule les fonctions de serveur et de client. Les requêtes sont soit traitées en interne ou répercutées, éventuellement converties, sur d'autres serveurs. Un proxy doit interpréter, puis reconstituer un message avant de le réemettre. Les proxies sont souvent utilisés comme portes d'accès côté utilisateur à des réseaux protégés par un "firewall" ou comme intermédiaire pour convertir des protocoles non supportés du côté utilisateur.

Gateway ou routeur Un serveur jouant le rôle d'intermédiaire pour d'autres serveurs. Contrairement à un Proxy, un routeur reçoit les requêtes comme s'il était le serveur d’origine pour la ressource ; le client n’est pas nécessairement conscient de "communiquer" avec un routeur. Les routeurs sont souvent utilisés comme porte d'accès, côté serveur ,d'un réseau protégé par "firewall" et comme convertisseur de protocole pour accéder à des ressources hébergées sur des systèmes non-HTTP.

Tunnel Programme applicatif servant de relais "transparent" entre deux connexions. Une fois actif, cet élément n'est plus considéré comme faisant partie de la connexion HTTP, bien qu'il soit issu d'une requête HTTP. Le tunnel cesse d'exister lorsque les deux sens de la connexion ont été fermés. Les tunnels sont utilisés lorsqu'une "porte" est nécessaire et que l'intermédiaire ne peut, ou ne doit pouvoir interpréter la communication.

Page 48: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Cache Espace de stockage local destiné à enregistrer les réponses ; sous-système contrôlant ces enregistrements, leur relecture et leur effacement. Un cache enregistre des réponses dans le but de diminuer le temps d'accès et la charge si d’éventuelles requêtes identiques se présentent ultérieurement.

HTTP et MIME (Multipurpose Internet Mail Extensions)

standard internet qui étend le format de données des courriels pour supporter des textes en différents codage de caractères autres que l'ASCII, des contenus non textuels, des contenus multiples, et des informations d'en-tête en d'autres codages que l'ASCII. Les courriels étant généralement envoyés via le protocole SMTP au format MIME, ces courriels sont souvent appelés courriels SMTP/MIME.

Les types de contenus définis par le standard MIME peuvent être utilisés à d'autres fins que l'envoi de courriels, dans les protocoles de communication comme le HTTP pour le World Wide Web.

MIME a inspiré WWW pour standardiser le flux d’information émises via HTTP, et rend interopérables les différents encodages.

charset            = "US-ASCII" | "ISO-8859-1" | "ISO-8859-2"                     | "ISO-8859-3" | "ISO-8859-4" | "ISO-8859-5"                     | "ISO-8859-6" | "ISO-8859-7" | "ISO-8859-8"                     | "ISO-8859-9" | "ISO-2022-JP" | "ISO-2022-JP-2"                     | "ISO-2022-KR" | "UNICODE-1-1" | "UNICODE-1-1-UTF-7"                     | "UNICODE-1-1-UTF-8" | autre_nom

Page 49: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Utilisation de BNF étendue

BNF est une description normalisée des expressions rationnelles. Il provient du langage formel (met en œuvre une notation qui crée du sens)Ex.a* = répétion [éventuellement nulle] de a jusqu’à +∞a+= au moins 1a

Instructions de bas niveauCR LF = marqueur de fin de ligne (Carriage Returne Line Feed)LWS = en-têteTEXT = utilisée pour décrire des informations descriptives. ISO-8859-1 impliciteHEX = "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT

Page 50: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

url = httpurl | ftpurl | newsurl | nntpurl | telneturl | gopherurl | waisurl | mailtourl | fileurl | prosperourl | otherurl = 1*[ lowalpha | digit | "+" | "-" | "." ] schemepart = *xchar | ip-schemepart ; schemeparts d’URL pour protocoles fondés sur ip: ip-schemepart = "//" login [ "/" urlpath ] login = [ user [ ":" password ] "@" ] hostport hostport = host [ ":" port ] host = hostname | hostnumber hostname = *[ domainlabel "." ] toplabel domainlabel = alphadigit | alphadigit *[ alphadigit | "-" ] alphadigit toplabe = alpha | alpha *[ alphadigit | "-" ] alphadigit alphadigit = alpha | digit hostnumber = digits "." digits "." digits "." digits port = digits user = *[ uchar | ";" | "?" | "&" | "=" ] password = *[ uchar | ";" | "?" | "&" | "=" ] urlpath = *xchar ; dépend du protocole, voir le paragraphe 3.1 ; Les schémas prédéfinis : ; FTP (voir aussi la RFC 959) ftpurl = "ftp://" login [ "/" fpath [ ";type=" ftptype ]] fpath = fsegment *[ "/" fsegment ] fsegmen = *[ uchar | "?" | ":" | "@" | "&" | "=" ] ftptype = "A" | "I" | "D" | "a" | "i" | "d" ; FILE fileurl = "file://" [ host | "localhost" ] "/" fpath ; HTTP httpurl = "http://" hostport [ "/" hpath [ "?" search ]] hpath = hsegment *[ "/" hsegment ] hsegment = *[ uchar | ";" | ":" | "@" | "&" | "=" ] search = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

HTTP

Page 51: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

; GOPHER (voir aussi la RFC 1436) gopherurl = "gopher://" hostport [ / [ gtype [ selector [ "%09" search [ "%09" gopher+_string ] ] ] ] ] gtype = xchar selector = *xchar gopher+_string = *xchar ; MAILTO (voir aussi la RFC 822) mailtourl = "mailto:" encoded822addr encoded822addr = 1*xchar ; mieux défini dans la RFC 822 ; NEWS (voir aussi la RFC 1036) newsurl = "news:" grouppart grouppart = "*" | group | article group = alpha *[ alpha | digit | "-" | "." | "+" | "_" ] article = 1*[ uchar | ";" | "/" | "?" | ":" | "&" | "=" ] "@" host ; NNTP (voir aussi la RFC 977) nntpurl = "nntp://" hostport "/" group [ "/" digits ] ; TELNET telneturl = "telnet://" login [ "/" ]

; WAIS waisurl = waisdatabase | waisindex | waisdoc waisdatabase = "wais://" hostport "/" database waisindex = "wais://" hostport "/" database "?" search waisdoc = "wais://" hostport "/" database "/" wtype "/" wpath database = *uchar wtype = *uchar wpath = *uchar

WAIS :Wide Area Information Servers, ou Service, ou System ou Searching, aussi connu sous l'acronyme WAIS, est un système informatique client-serveur permettant à un logiciel client WAIS de se connecter à un serveur répertoriant des bases de données documentaires distribuées sur un réseau informatique et de lancer une recherche dans le texte des documents. Les recherches peuvent s'effectuer par mots clés ou en langage courant. La réponse est donnée sous la forme d'une liste de documents consultables triés par ordre de pertinence. WAIS utilise une extension du protocole de communication ANSI Z39.50.

Page 52: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

[…]

; Définitions diverses lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" hialpha "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" alpha = lowalpha | hialpha digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" safe = "$" | "-" | "_" | "." | "+" extra = "!" | "*" | "'" | "(" | ")" | "," national = "{" | "}" | "|" | "\" | "^" | "~" | "[" | "]" | "`" punctuation = "<" | ">" | "#" | "%" | <"> reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" hex = digit | "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" escape = "%" hex hex unreserved = alpha | digit | safe | extra ucha = unreserved | escape xchar = unreserved | reserved | escape digits = 1*digit

Page 53: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Mémo

? Introduit un paramètre

= attribue une valeur à un paramètre

& enchaîne deux paramètres

@ termine les données d’identification

/ déplace dans l’arborescence

// introduit un protocole

: introduit un mot de passe

+ opérateur booléen

‘’ ‘’ introduit une chaîne

# introduit une ancre

% HEX HEX introduit un caractère codé

Page 54: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

http://hal.archives-ouvertes.fr/index.php?halsid=0s9v93i6o5altejbh58n9j2845&view_this_doc=tel-00084658&version=1

http://hal.archives-ouvertes.fr/index.php?halsid=0s9v93i6o5altejbh58n9j2845&view_this_doc=tel-00084658&version=1

?halsid=0s9v93i6o5altejbh58n9j2845

&view_this_doc=tel-00084658

&version=1

http://opac.univ-lemans.fr/scd/jsp/search/search_direct.jsp?query=EXPERT&INDEX_LIV1=DLIV_MOTSUJ&CRIT1=VICTOR%20HUGO&OPER1=and

http://opac.univ-lemans.fr/scd/jsp/search/search_direct.jsp?query=EXPERT&INDEX_LIV1=DLIV_MOTSUJ&CRIT1=VICTOR%20HUGO&OPER1=and

?query=EXPERT

&INDEX_LIV1=DLIV_MOTSUJ

&CRIT1=VICTOR%20HUGO

&OPER1=and

Ouvrages disponibles sur Victor Hugo

Page 55: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

GETC'est la méthode la plus courante pour demander une ressource. Une requête GET est sans effet sur la ressource, il doit être possible de répéter la requête sans effet.HEADCette méthode ne demande que des informations sur la ressource, sans demander la ressource elle-même.POSTCette méthode doit être utilisée lorsqu'une requête modifie la ressource.OPTIONSCette méthode permet d'obtenir les options de communication d'une ressource ou du serveur en général.CONNECTCette méthode permet d'utiliser un proxy comme un tunnel de communication.TRACECette méthode demande au serveur de retourner ce qu'il a reçu, dans le but de tester et d'effectuer un diagnostic sur la connexion.PUTCette méthode permet d'ajouter une ressource sur le serveur.DELETECette méthode permet de supprimer une ressource du serveur.

Requêtes HTTP

Page 56: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

SRU

Page 57: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Contexte

SRU peut être présenté comme une extension de Z39.50, mais qui ne sort pas de la couche web. Z39.50 est lourd à maintenir et à implémenter. Il nécessite une entente stricte entre le client et le serveur. SRU répond à un besoin d’interroger des sources distantes et hétérogènes sans se plier à un environnement technique défini, et offre plus de souplesse en exploitant des données étrangères.

S’appuie sur un ensemble de formats pivots universels : DC, MODS, MarcXML, …

S’inscrit dans un cadre universel : XML

Appelle un protocole de transfert largement répandu : HTTP

Utilise un langage de requête simple et intuitif : CQL

Son application permet d’envisager une recherche fédérée

Page 58: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

SRU (Search/Retrieve via URL) et SRW (Search/Retrieve Web service)

Encode une requête au sein d’une URL

ReST = Representational State Transfer

Encode une requête au sein d’une URL

SOAP = Simple Object Access Protocol

Base au format hétérogène

Base de nature hétérogène :Tout objet (msg, archive,…)

Renvoie un fichier XML (entre autres formats)

au navigateur

Page 59: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

SRU et SRW utilisent le protocole HTTP pour l’échange de requêtes. Plus spécifiquement, SRU permet de faire circuler des requêtes à l’intérieur des URLs en utilisant l’architecture REST (Representational State Transfer) là où SRW, variante de SRU, fait transiter les requêtes sous SOAP (Simple Object Access Protocol). Pour ce qui concerne REST et SOAP, le premier permet de spécifier l’encodage d’une requête au sein même d’une URL, alors que le second encapsule la requête sous XML. REST ne fonctionne qu’avec le protocole HTTP, là où SOAP autorise en plus l’usage de nombre d’autres protocoles (email, SSH, telnet).

SRU/SRW utilisent tous les deux les mêmes instructions, qui permettent l’expression de la requête et de la réponse à cette requête. Les trois opérations principales sont « explain », « scan », et « searchRetrieve »

Page 60: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

REST

SOAP

Rest est un style d’architecture, pas un standard, mais décrit des principes fondamentaux qui permettent de bien former une application.Il repose sur des standards :

• URI, syntaxe universelle pour « adresser » les ressources,• HTTP un protocole sans état (stateless) avec un nombre très limité d'opérations,• Des liens hypermedia dans des documents (X)HTML et XML pour représenter à la fois le contenu des informations et la transition entre états de l'application,• Les types MIME comme text/xml, text/html, image/jpeg, application/pdf, video/mpeg pour la représentation des ressources

Il permet la transmission de messages entre objets distants, et autorise un objet àinvoquer des méthodes d'objets physiquement situés sur un autre serveur. Le transfert se fait le plussouvent à l'aide du protocole HTTP, mais peut également se faire par un autre protocole, comme SMTP.Le protocole SOAP est composé de deux parties :• une enveloppe, contenant des informations sur le message lui-même afin de permettre sonacheminement et son traitement,• un modèle de données, définissant le format du message, c'est-à-dire les informations àtransmettre.

Avantages de SOAP :•assez ouvert pour s'adapter à différents protocoles de transport.• indépendant de la plate-forme.• indépendant du langage.• simple et extensible.

Page 61: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

SRU (et SRW)

Utilisent tous deux le protocole HTTP pour l’échange de requêtes

http://www.loc.gov/standards/sru/

SRU propose une interface pour l’interaction avec des bases de données distantes, sans qu’il y ait besoin de connaître la logique interne de la base de donnée consultée pour trouver des résultats

S’appuie sur un langage de requêtes CQL (Contextual Query Language, anciennement Common Query Language).

Les requêtes sont acheminées via le protocole HTTP

Les résultats sont transmis en XML

SRU gère des paramètres, au nombre de 12

Nom Obligatoire/facultatif

Description

operation Obligatoire La chaîne : ‘SearchRetrieve’

version Obligatoire La version de la requête. Si le serveur ne peut pas fournir une réponse dans la version spécifiée ou une version inférieure, il doit retourner un diagnostique

Page 62: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Nom Obligatoire/facultatif

Description

request Obligatoire Contient une requête exprimée en CQL, qui demande à être traitée par le serveur. Une requête CQL peut contenir une ou plusieurs clauses reliée par des opérateurs booléens

startRecord Facultatif* Spécifie la position du premier enregistrement visé. Doit être > 0. La valeur par défaut 1 est attribuée par le serveur si elle n ’est pas spécifiée dans la requête.

maximumRecord Facultatif* Le nombre maximum de notices à être retourné. La valeur doit être 0 ou plus. Une valeur par défaut est attribuée par le serveur si elle n’est pas définie dans la requête. La valeur retournée peut être inférieure à celle qui est tolérée, mais ne doit pas être supérieure.

recordPackinq Facultatif Spécifie la façon dont les notices doivent être empaquetées : chaîne de caractère simple(‘string’) ou XML (‘xml’).

recordSchema Facultatif Schéma dans lequel la notice doit être fournie. La valeur est l’URI du schéma ou son affichage abrégé défini par le serveur (*) [voir tableau]

recordXPath (V1.1)

Facultatif Une expression Xpath (chemin XML) peut être appliquée aux notices avant qu’elles soient retournées, relativement au schéma spécifié dans le paramètre recordSchema. Sert à préparer la conversion XSL.

Page 63: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Nom Obligatoire/facultatif Description

resultSetTTL Facultatif Nombre de secondes pendant lesquelles la requête du client doit être maintenue. Le serveur peut être programmé pour ignorer ce paramètre et offrir un temps de réponse qui ne correspond pas à celui spécifié.

sortKeys (V1.1) Facultatif Contient une séquence de clés de classement appliquée au résultat.

Stylesheet Facultatif Spécifie une URL pour appliquer une feuille de styles.

extraRequestData Facultatif Emplacement prévu pour des informations supplémentaires …

Exemple de requête

Paramètres :

obligatoires facultatifs

version=1.1

operation=searchRetrieve

query=balzac

maximumRecords=3000

recordSchema=dc

http://z3950.loc.gov:7090/voyager?version=1.1&operation=searchRetrieve&query=balzac+and+literature&maximumRecords=3000&recordSchema=dc

Page 64: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Réponse pour

http://z3950.loc.gov:7090/voyager?version=1.1&operation=searchRetrieve&query=balzac&maximumRecords=2000&recordSchema=dc

Page 65: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Réponse pour

http://z3950.loc.gov:7090/voyager?version=1.1&operation=searchRetrieve&query=title=balzac&maximumRecords=2000&recordSchema=dc

[…]

Page 66: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Réponse pour

http://z3950.loc.gov:7090/voyager?version=1.1&operation=searchRetrieve&query=balzac+and+literature&maximumRecords=2000&recordSchema=dc

[…]

Page 67: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Schema (and link/reference) Short Name Identifier

Dublin Core Record Schema (.xsd   .html ) dc info:srw/schema/1/dc-v1.1

SRU Diagnostic Schema diag info:srw/schema/1/diagnostic-v1.1

Explain Schema zeerex http://explain.z3950.org/dtd/2.0/

MODS Schema Version 3.0 - > Version 3.3 mods info:srw/schema/1/mods-v3.x

ONIX DTD Version 2.0 onix info:srw/schema/1/onix-v2.0

MARCXML: The MARC 21 XML Schema marcxml info:srw/schema/1/marcxml-v1.1

EAD DTD Version 2002 ead info:srw/schema/1/ead-2002

Zthes DTD, version 0.5 Zthes http://zthes.z3950.org/xml/0.5/

UNIMARC XML Schema unimarcxml info:srw/schema/8/unimarcxml-v0.1

The Bibliographic Class DTD dlxs-bib info:/srw/schema/10/dlxs-bib-v1.0

Dublin Core Extended (DCX) dcx info:/srw/schema/1/dcx-v1.0

PICA XML Version 1.0  pica-xml-v1-0.xsd) pica-XML info:srw/schema/5/picaXML-v1.0

MADS Schema Version 1.0reference | schema

mads info:srw/schema/1/mads-v1.0

Zthes Schema Version 1.0reference | schema zthes http://zthes.z3950.org/xml/1.0/

ISO 20775 Schema for holdings reference | schema isohold info:srw/schema/5/iso20775-v1.0

PRISM Aggregator Message Record Schema Version 2.0 pam info:srw/schema/11/pam-v2.0

Document Availability Information API (DAIA/XML)reference | schema

PRISM Aggregator Message Record Schema Version 2.1pam info:srw/schema/11/pam-v2.1

Paramètre de contrôle du schéma

Page 68: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

•   <?xml version="1.0" ?> • <zs:searchRetrieveResponse xmlns:zs="http://www.loc.gov/zing/srw/">•   <zs:version>1.1</zs:version> •   <zs:numberOfRecords>415</zs:numberOfRecords> • <zs:records>• <zs:record>•   <zs:recordSchema>info:srw/schema/1/marcxml-v1.1</zs:recordSchema> •   <zs:recordPacking>xml</zs:recordPacking> • #Début de la notice• <zs:recordData>• <record xmlns="http://www.loc.gov/MARC21/slim">•   <leader>01100nam a2200325 a 4500</leader> •   <controlfield tag="001">1601305</controlfield> •   <controlfield tag="005">19950124084445.9</controlfield> •   <controlfield tag="008">940127s1993 quca b 000 0 fre</controlfield> • <datafield tag="035" ind1="" ind2="">•   <subfield code="9">(DLC) 94110254</subfield> • […] • <datafield tag="245" ind1="0" ind2="4">•   <subfield code="a">Les Accros du langage /</subfield> •   <subfield code="c">sous la direction de Michèle Nevert.</subfield> •  

La 1ère notice du même lot avec le paramètre &recordSchema=marcxml :

Il existe aussi une « classe » unimarcxml…

Page 69: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Le paramètres pour la réponse

Le réponses SRU sont fournies au format XML

Nom Type Obligatoire / Facultatif

Description

version xsd:string Obligatoire La version de la réponse. Doit être égale à la version demandée par le client.

numberOfRecords xsd:integer Obligatoire Le nombre de notices correspondant à la requête. Valeur= 0 en cas d’échec de la requête

resultSetId xsd:string Facultatif L’identificateur de l’ensemble des résultats créé par l’exécution de la requête.

resultSetIdleTime xsd:integer Facultatif Le nombre de secondes entre la création et la suppression d’un résultat. Après ce délai, le résultat ne sera plus disponible.

records Séquence de <notices>

Facultatif Série de notices qui correspondent à la requête.

nextRecordPosition Xsd:integer Facultatif La position qui suit le résultat final. S’il n’y a pas de « reste », ce paramètre doit être fixé à 0.

XSD = XML Schema Document = fichier de description de structure

Page 70: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Nom Type Obligatoire / Facultatif

Description

diagnostics Séquence de <diagnostique>

Facultatif Si les choses tournent mal, le serveur doit signaler ce qui n’a pas fonctionné, expliquer ce qui s’est passé. Les diagnostiques sont retournés dans un schéma très simple, qui ne dispose que de 3 éléments: « URI », « details » et « message ».

extraReponseData <xmlFragment> Facultatif Information supplémentaire retournée par le serveur.

echoedSearchRetrieveRequest

<echoedSearchRetrieveRequest>

Facultatif Les paramètres de la requête sont renvoyés au client dans un simple formulaire.

Exemple :requête SRU qui renvoie des métadonnées d’un document dont la mention de responsabilité somprend la chaîne de cactères « spurr »

http://localhost:8080/harvester-2.3.0/index.php/sru?version=1.1&operation=searchRetrieve&query=creator=spurr

Page 71: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

<searchRetrieveResponse><version>1.1</version><numberOfRecords>1</numberOfRecords><records>

<record><recordSchema>info:srw/schema/1/dcv1.1</recordSchema><recordPacking>xml</recordPacking><recordData>

<srw_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:srw_dc="http://www.loc.gov/zing/srw/">

<dc:title>Introduction to the study of literature</dc:title><dc:creator>Spurr David</dc:creator><dc:publisher>Faculté des lettres</dc:publisher><dc:date>2006-03-14</dc:date><dc:type>cours</dc:type><dc:format>audio</dc:format><dc:identifier>AN3-SPUR-2005-2006-14.3</dc:identifier><dc:source>http://129.194.9.169/audio/AN3-SPUR-2005-2006-14.3.mp3</dc:source><dc:relation>AN3-SPUR-2005-2006</dc:relation><dc:coverage>2007-10-31</dc:coverage><dc:rights>Spurr David</dc:rights>

</srw_dc:dc></recordData>

<recordPosition>1</recordPosition></record>

</records></searchRetrieveResponse>

Réponse :

Page 72: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

<?xml version="1.0" ?> - <zs:searchRetrieveResponse xmlns:zs="http://www.loc.gov/zing/srw/">  <zs:version>1.1</zs:version>   <zs:numberOfRecords>0</zs:numberOfRecords> - <zs:diagnostics xmlns="http://www.loc.gov/zing/srw/diagnostic/">- <diagnostic>  <uri>info:srw/diagnostic/1/10</uri>   <message>Query syntax error</message>   <details />   </diagnostic>  </zs:diagnostics>  </zs:searchRetrieveResponse>

Exemples d’erreurs :

  <?xml version="1.0" ?> - <zs:searchRetrieveResponse xmlns:zs="http://www.loc.gov/zing/srw/">  <zs:version>1.1</zs:version>   <zs:numberOfRecords>0</zs:numberOfRecords>   </zs:searchRetrieveResponse>

1

2

Page 73: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

<?xml version="1.0" ?> - <zs:searchRetrieveResponse xmlns:zs="http://www.loc.gov/zing/srw/">  <zs:version>1.1</zs:version> - <zs:diagnostics xmlns="http://www.loc.gov/zing/srw/diagnostic/">- <diagnostic>  <uri>info:srw/diagnostic/1/8</uri>   <message>Unsupported parameter</message>   <details>maximumRecords2000&recordSchema</details>   </diagnostic>  </zs:diagnostics>  </zs:searchRetrieveResponse>

  <?xml version="1.0" ?> - <zs:searchRetrieveResponse xmlns:zs="http://www.loc.gov/zing/srw/">  <zs:version>1.1</zs:version>   <zs:numberOfRecords>0</zs:numberOfRecords> - <zs:diagnostics xmlns="http://www.loc.gov/zing/srw/diagnostic/">- <diagnostic>  <uri>info:srw/diagnostic/1/28</uri>   <message>Masking character not supported</message>   <details>2</details>   </diagnostic>  </zs:diagnostics>  </zs:searchRetrieveResponse>

  <?xml version="1.0" ?> - <zs:searchRetrieveResponse xmlns:zs="http://www.loc.gov/zing/srw/">  <zs:version>1.1</zs:version>   <zs:numberOfRecords>10000</zs:numberOfRecords>   </zs:searchRetrieveResponse>

3

4

5

Page 74: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

SRU

Termes de recherche : Ok

Bibliothèque du Congrès

JSTOR

Page 75: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

SRU

balzac literature |Termes de recherche : Ok

v Bibliothèque du Congrès

JSTOR

Page 76: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

SRU

balzac literature |Termes de recherche : Ok

Construction d’une requête type SRU à partir des termes saisis :

v Bibliothèque du Congrès

http://z3950.loc.gov:7090/voyager?version=1.1&operation=searchRetrieve&query=balzac+and+literature&maximumRecords=2000&recordSchema=marcxml

= URL de base= version de la requête= opération demandée= paramètres de la requête= nb. max. de rép. souhaitées= format de réponse souhaité

NB : ici, le format souhaité est le paramètre « marcxml ». Schéma dans lequel la notice doit être fournie. La valeur est l’URI du schéma ou son affichage abrégé défini par le serveur.

JSTOR

Page 77: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

CQL

Langage formel qui permet de présenter des requêtes à des systèmes de recherche comme des catalogues bibliographiques, des collections de musées ou des index web.

Langage intuitif, aisé à composer et lisible par les humains (HR)

Définition formelle : CQL BNF (Backus-Naur Form)

Page 78: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Recherches simples:dinosaur"complete dinosaur"title = "complete dinosaur"title exact "the complete dinosaur"

Requêtes utilisant des opérateurs booléens:dinosaur or birddinosaur and "ice age"dinosaur not reptiledinosaur and bird or dinobird(bird or dinosaur) and (feathers or scales)"feathered dinosaur" and (yixian or jehol)

Recherches visant des critères de publication:publicationYear < 1980lengthOfFemur > 2.4bioMass >= 100

Recherches de proximité de termes:ribs prox/distance<=5 chevronsribs prox/unit=sentence chevronsribs prox/distance>0/unit=paragraph chevrons

Recherches à plusieurs dimensions:date within "2002 2005"dateRange encloses 2003

Recherches basées sur la pertinence:subject any/relevant "fish frog"subject any/rel.lr "fish frog"

Page 79: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

En France ABES

Ailleurs en Europe Finlande : NELLI Dutch union Catalog Espagne : Biblioteca Virtual del Patrimonio Bibliográfico

Au niveau européen projet TEL, la Bibliothèque européenne

Aux Etats-Unis J-STOR ARTstor Worldcat Beta Library of Congress

Quelques plates-formes SRU disponibles…

Page 80: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Les « grammaires » de l’interopérabilité (synthèse)

API : Application Programming InterfaceUne API est un outil utile au programmeur qui va y trouver une description du comportement d’un programme informatique. Elle définit des méthodes et des fonctions (onparle aussi de « signature ».Elle décrit les paramètres attendus pour lancer une méthode et le résultat produit, le plus souvent :• sa forme• son type• son « sens »On peut aussi y trouver les conditions que l’utilisation du programme impose et des indications sur l’environnement requis.

Exemple : http://java.sun.com/j2se/1.5.0/docs/api/

On trouve des indications sur le connecteur SQLhttp://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLData.html

Page 81: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Les « grammaires » de l’interopérabilité (synthèse)

Jeu de métadonnées Cadre générique d’implémentation

protocoles Langage(s) de requêtes

Divers J2EE – PHP – Html… API SQL – SQL + - MySQL

MARC

< Z44-050 …

ISO 2709 Z39.50 Internes aux applications

LOM – DC – TEF – MarcXml…

XML OAI-PMH HTTP - index

RDF XML SPARQL for RDF SPARQL Query for RDF

DC – MarcXml … XML SRU/SRW

SOAP/REST

CQL

DC – XML - URL WebServices

SOAP/REST

Divers langages possibles

Page 82: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

RDF et SPARQL

RDF est un modèle, plus qu’un format : il permet une description « étoilée » d’un objet ou d’une ressource et ménage une relation privilégiée entre des sous-éléments.

Un document structuré en RDF est un « triplet », une association de 3 éléments :- sujet = représente la ressource décrite (URI)- prédicat = une propriété applicable à la ressource (URI)- objet = la valeur du prédicat (URI)

-On parle aussi de représentation par graphe (ou graphe RDF)

Pour décrire un site web, par exemple « European Society for Oceanists », il faut isoler :- le sujet (la ressource) : http://joensuu/fi/esfo/- le prédicat (propriété) : http://purl.org/dc/elements/1.1/title- l’objet : «  European Society for Oceanists »

Ce triplet permet d’identifier le sème suivant : (voici) un site web dont la localisation est http://joensuu/fi/esfo/ et dont le titre est ; «  European Society for Oceanists »

RDF peut être exprimé avec la théorie des ensemble ou la théorie des modèles (formation d’arcs) et ne gère pas forcément du XML, mais W3C l’a orienté comme tel dans son exploitation pour le web.

Page 83: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about=" http://joensuu/fi/esfo/ "> <dc:title> European Society for Oceanists </dc:title>

<dc:author>ESfO Directory Membership</dc:author> <dc:subject>Oceanography</dc:subject> <dc:subject>Oceans</dc:subject> <dc:subject>Digital humanities</dc:subject>

</rdf:Description></rdf:RDF>

Liste des assertions utilisées dans ce cas :

http://purl.org/dc/elements/1.1/title TITRE European Society for Oceanistshttp://purl.org/dc/elements/1.1/author AUTEUR = ESfO D.M.http://purl.org/dc/elements/1.1/subject MOT SUJET = Oceanographyhttp://purl.org/dc/elements/1.1/subject MOT SUJET = Oceans

« Notice » RDF :

Page 84: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Son langage dédié : SPARQL

Recommandation W3C (qui tente de déboucher rapidement sur une normalisation)

Principales spécifications:

SPARQL protocol for RDFDécrit le protocole d’accès distant pour créer des requêtes et recevoir des réponses

SPARQL Query Results XML FormatDéfinit le format de document XML pour représenter les résultats des requêtes

SELECT et ASK.

Introduction de requêtes simples

Soit la donnée :http://exemple.org/ouvrages/ouvrage 1 http://base1.org/dc/elements/1.1/titre ‘’ Titre de mon ouvrage’’ .

Requête :SELECT ?titleWHERE{http://exemple.org/ouvrages/ouvrage 1 http://base1.org/dc/elements/1.1/titre ?title}

Réponse :

title

‘Titre de mon ouvrage’

Page 85: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Requêtes sur des personnesPour définir des personnes, on peut utiliser plusieurs balises : title, nickname, gender, etc.

Une personne est identifiée par un fichier FOAF, qui peut êtreplacé n’importe où sur le Web, et qui contient, dans des champs normés et en XML, desinformations la décrivant.

Chacun peut choisir le nombre et la profondeur des informations le concernant, parmi : le nom, l’adresse email, l’adresse du site Web et/ou du blog, les adresses des photos, les études suivies, les centres d’intérêt, les , etc. (plusieurs dizaines de champs possibles, répartis en cinq grandes catégories : - les données de base (nom, prénom, etc.),- les informations personnelles (centres d’intérêt, connaissances...),- les comptes en lignes (email, messageries instantanées...),- les documents et images (textes produits par la personne, photos personnelles...),- les groupes et projets.

Pour la dernière il est possible d’exprimer le rattachement d’une personne à une organisation (association, entreprise) mais surtout, plus généralement, à un groupe quelconque. Il peut s’agir d’un groupe structuré (parti politique), informel, ou simplement d’une communauté en ligne.

Les champs FOAF sont conçus pour exprimer de façon détaillée les caractéristiquesd’un individu et « ses liens » avec d’autres éléments ou entités du réseau (documents, images, ou d’autres individus.

Présente un intérêt pour le web sémantique et permet de répondre à des questions complexes du type : y-a-t-il quelqu’un qui travaille dans un BU, qui catalogue des ouvrages anciens, qui a des connaissances expertes en paléographie et qui fasse partie d’un groupe de normalisation ?

Page 86: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

FOAF permet la fusion et le rebond sur une base de connaissance qui peut s’enrichir très aisément et rapidement. (« cit. F. Lapique) :

«  Supposons que Pierre crée son fichier FOAF, et qu’il ne dispose pasde photos de lui-même. L’un de ses amis, Paul, a lui aussi un fichier FOAF, dans lequel ilindique l’adresse d’une photo le montrant en compagnie de Pierre. Il est alors très facile, defaçon automatisée, de fusionner les deux fichiers FOAF pour que la question « Où peut-onconsulter une photo de Pierre ? » fournisse une réponse, en renvoyant sur la photo présentantPierre et Paul ».

Même si l’on ne dispose pas d’un annuaire centralisé ou d’un fichier complet d’autorités, il est possible de lier des personnes , de lier leurs attributs, comme si toutes ces entrées figuraient dans un même base de données.

Page 87: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

<foaf:Agent rdf:nodeID="id2244837"><foaf:name>Dave Beckett</foaf:name><rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/><foaf:weblog><foaf:Document rdf:about="http://journal.dajobe.org/journal/"><dc:title>Journalblog by Dave Beckett</dc:title><rdfs:seeAlso><rss:channel rdf:about="http://journal.dajobe.org/journal/comments.rdf"><foaf:maker rdf:nodeID="id2244837"/><foaf:topic rdf:resource="http://www.w3.org/2001/sw/"/><foaf:topic rdf:resource="http://www.w3.org/RDF/"/></rss:channel></rdfs:seeAlso></foaf:Document></foaf:weblog><foaf:interest rdf:resource="http://www.w3.org/2001/sw/"/><foaf:interest rdf:resource="http://www.w3.org/RDF/"/></foaf:Agent>

Soit une notice RDF pour le graphe foaf:blogger

Je cherche l’URL du Blog de Dave Beckett

PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?urlFROM <http://planetrdf.com/bloggers.rdf>WHERE {?contributor foaf:name "Dave Beckett" .?contributor foaf:weblog ?url .

}

----------------------------------------| url |=============================| <http://journal.dajobe.org/journal/> |----------------------------------------

Page 88: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Le requêtage SPARQL s’inspire de SQL (modèle simple). On peut ajouter une clause DISTINCT après SELECT ou LIMIT, OFFSET,et ORDER après WHERE

Clauses :OPTIONAL

UNION

FILTER

Ex: rapatrier le nom d’une personne et éventuellement son pict

Ex. Trouver les personnes qui ont un e-mail et celles qui ont un pict

Impose des contraintes sur les variables (Ex. on veut trouver toutes les auteurs des publications du mois de septembre 2009)

Dans la documentation SPARQL, il est fait mention d’une autre syntaxe un peu différente : Turtle (pour « Terse RDF Triple Language)

Soit l’ensemble de données :@prefix dc: <http://purl.org/dc/elements/1.1/> .@prefix : <http://example.org/book/> .@prefix ns: <http://example.org/ns#> .:book1 dc:title "SPARQL Tutorial" .:book1 ns:price 42 .:book2 dc:title "The Semantic Web" .:book2 ns:price 23 .

Soit la requête :PREFIX dc: <http://purl.org/dc/elements/1.1/>PREFIX ns: <http://example.org/ns#>SELECT ?title ?priceFROM <ex1.ttl>WHERE { ?x dc:title ?title .OPTIONAL { ?x ns:price ?price . FILTER (?price < 30) }}

Résultat : | title | price |==============================| "The Semantic Web" | 23 || "SPARQL Tutorial" | |

------------------------------

Page 89: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Je veux un service qui m’indique les 10 derniers articles des personnes que Pierre Gille connaît :

PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX rss: <http://purl.org/rss/1.0/>PREFIX dc: <http://purl.org/dc/elements/1.1/>SELECT ?title ?known_name ?linkFROM <http://www.domaine.net/morten/index.rdf>FROM NAMED <profil.rdf>WHERE {GRAPH <profil.rdf> {?me foaf:name "Pierre Gille" .?me foaf:knows ?known_person .?known_person foaf:name ?known_name .} .?item dc:creator ?known_name .?item rss:title ?title .?item rss:link ?link .?item dc:date ?date.}

ORDER BY DESC(?date) LIMIT 10

2. on cherche dans le dataset les contributions de ses connaissances (on précise que l’on veut un résultat au format XML

1. On cherche dans le graphe profil.rdf, :

3. On classe les résultats par date pour avoir les derniers, que l’on limite à 10

Si les personnes trouvées ont indiqué leur localisation (eg: <geo:Point geo:lat="51.473" geo:long="-2.5432"/>), on peut imaginer des possibilités encore plus étendues avec l’intégration de l’API Google Maps ! Et répondre à des questions encore plus complexes sous forme de service :Je cherche la localisation sur une carte des bibliothèques dépositaires des 3 derniers articles produits par les auteurs de tel séminaire…

Page 90: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

SPARQL : les formes de recherche

SELECTRetourne toutes ou une partie des informations qui correspondent à une requête formulée

CONSTRUCTRetourne un graphe RDFconstruit par substitution de variables dans un modèles à trois dimensions (triplet) :_:a foaf:name ‘Alice’_:a foaf:mbox <mailto:[email protected]> CONSTRUCT { < http://exemple .org/person#Alice > vcard:FN ?name }

WHERE { ?x foaf:name ?name }Crée des propriétés vcard à partir des informations FOAF:=> < http://exemple .org/person#Alice > vcard FN ‘Alice’

ASKRetourne un indicateur booléen qu’une requête ait des réponses ou pasASK { ?x foaf:name ‘Alice’}S’il en existe une, la réponse sera‘yes’La réponse est enveloppée dans le code :

DESCRIBERetourne un graphe RDF qui décrit la ressource trouvée : fonction informative

<?xml version=1.0<sparql xmlns= «http://www.w3.org/2005/sparql – results# » >

<head></head><results>

<boolean>true</boolean></results>

</sparql>

Page 91: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

OpenURL

Propose une syntaxe pour exprimer une référence au sein d’une URL

Le but d’openURL est de créer un lien entre une référence et une ressource plein-texte présente dans un bouquet auquel une bibliothèque est abonnée ou dans une archive ouverte.

Une base bibliographique doit être capable de produire une URL qui ne point pas vers une ressource donnée, mais qui la décrive d’un point de vue purement bibliographique.

Construction d’une URL avec un vocabulaire de requête normalisé:http://editeur.com/ ?genre=article&aulast=lecomte&aufirst=Sébastien&title=XML et l’expression de la temporalité&isbn= xxxx-xxxx

auteur nom=Lecomteprénom=Sébastien

isbn= xxxx-xxxxtitre= XML et l’expression de la temporalité

Réunit une ensemble de métadonnées qui décrivent une ressource. Ces métadonnées véhiculées par une requête HTTP peuvent être interprétées par le fournisseur de contenu.

Page 92: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

openURL

Service lié aux extensions des « OPAC de nouvelle génération », OpenURL permet à un catalogue de manifester l’existence d’un ressource accessible pour un utilisateur donné

Requête d’utilisateur (web)

Base de références

Résolveur openURL

Signale l’existence de la ressource si elle est accessible

Base de contenus:- Bouquet de périodiques électroniques- Archive ouverte

Crée un lien vers la

ressource

Page 93: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

WebServices

Un serveur propose des fonctions qui peuvent être invoquées à distance via le web.

Méthode héritée de RPC (Remote Procedure Call), famille UNIX.

S’appuient sur HTTP et ne nécessitent pas d’ouverture de ports particuliers sur les firewalls.

Protocoles utilisés : SOAP, XML-RPC

Offrent la possibilité de manifester des fonctions agrégées dans une page web, et d’embarquer un contexte (par exemple un ticket d’authentification).

Les bibliothèques pourraient par exemple proposer une consultation de leur catalogue à travers un environnement particulier ou un ENT, via WebService.

Page 94: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Pratiques des usagers : émergence de nouveaux besoins

Exemple avec iGoogle

Page 95: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Exemple avec NetVibes

Page 96: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Dispositifs ASYNCHRONES

Page 97: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

La récupération de données

Page 98: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

L’échange de données en iso2709

Une notice enregistrée au format ISO 2709 présente le schéma suivant :

Voir aussi :

Page 99: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

XML par la pratique [Texte imprimé] : bases indispensables, concepts et cas pratiques / [Sébastien Lecomte]. - Nantes : Éd. ENI, cop. 2005. - 1 vol. (353 p.) : ill., couv. ill. ; 21 cm. - (Ressources informatiques, ISSN 1627-8224).

Index ISBN 2-7460-2906-5 (br.) : 27,14 EUR. - EAN 9782746029064

Exemple de notice : de l’isbd à iso2709

01510nam1 22003612i 450 00100110000000500170001101000380002810000410006610100080010710200070011510501800122200009300140205001200233210002200245211001300267215005500280225004000335330029800375333001700673345001800690410005200708606003000760610008400790676001400874676001300888700004100901801003300942901008300975902001701058903002801075903003501103947001001138-2008401207-20081010000000.0- a978-2-7460-4644-3 bBr. d27.14 EUR- a20081010d2008 m |0fre|01 ||||ba-0 afre- aFR- aa 0||y|-1 aXML par la pratique ebases indispensables, concepts et cas pratiques fSÂebastien Lecomte- a2e Âed.- aNantes cENI d2008- a20081208- a353 p. cillustrations en noir et blanc d22 x 18 cm-2 aRessources informatiques x1627-8224- aPrÂesentation des concepts fondamentaux de XML au travers de cas pratiques Áa implÂementer. Aborde notamment la syntaxe du langage XML, montre comment concevoir des documents et des grammaires XML simples, comment lier des documents XML entre eux, et comment mettre en forme des documents XML.- aTous niveaux- b9782746046443- 0 34237610000 tRessources informatiques x1627-8224- aXML (langage de balisage)-0 aInternet alangage de programmation astructure de donnÂees adocument multimÂedia- a005.3 v99- a004 v99a- 1 32003090210 aLecomte bSÂebastien 4070- 3 aFR bElectre c20081010 gAFNOR- 39800003724 aExtendible markup language 39800003724 aExtensible markup language- aTous niveaux- aTechniques Informatique- aLivres pratiques Autoformation- c27.14-

Label

Répertoire

Zones

Séparateur de notices (invisible)

Page 100: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

le LABEL (taille fixe : 24 octets)

Si on décompose le label de la notice de la façon indiquée, on a 8 "groupes" d'information.01510nam1·22003612i·450·

Ce qui nous donne :

1 2 3 4 5 6 7 8

01510 nam am1- 2 2 00361

2i· 450·

nombre d’octets!

Page 101: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

le répertoire (taille variable)

Le répertoire comprend les éléments suivants :a/ une étiquette (=3 octets)

b/ une longueur de zone qui correspond à la position 20 du label (=4 octets)

c/ la position du premier caractère qui correspond à la position 21 du label (=5 octets)

d/ longueur de la partie relative à l'application qui correspond à la position 22 du label (=0 octet)

b+c+d= « 450 » du label UNIMARC

Si on lit le répertoire de notre notice en suivant la fréquence de 3/4/5/0 octets :

00100110000000500170001101000380002810000410006610100080010710200070011510501800122200009300140205001200233210002200245211001300267215005500280225004000335330029800375333001700673345001800690410005200708606003000760610008400790676001400874676001300888700004100901801003300942901008300975902001701058903002801075903003501103947001001138

Page 102: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

001 0011 00000005 0017 00011 010 0038 00028 100 0041 00066101 0008 00107102 0007 00115105 0018 00122200 0093 00140210 0022 00245211 0013 00267215 0055 00280225 0040 00335330 0298 00375333 0017 00673345 0018 00690410 0052 00708606 0030 00760610 0084 00790676 0014 00874676 0013 00888700 0041 00901801 0033 00942901 0083 00975902 0017 01058903 0028 01075903 0035 01103947 0010 01138

… on obtient :

Page 103: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

XML par la pratique [Texte imprimé] : bases indispensables, concepts et cas pratiques / [Sébastien Lecomte]. - Nantes : Éd. ENI, cop. 2005. - 1 vol. (353 p.) : ill., couv. ill. ; 21 cm. - (Ressources informatiques, ISSN 1627-8224).

Index ISBN 2-7460-2906-5 (br.) : 27,14 EUR. - EAN

9782746029064

Page 104: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

01510nam1 22003612i 450 00100110000000500170001101000380002810000410006610100080010710200070011510501800122200009300140205001200233210002200245211001300267215005500280225004000335330029800375333001700673345001800690410005200708606003000760610008400790676001400874676001300888700004100901801003300942901008300975902001701058903002801075903003501103947001001138-2008401207-20081010000000.0- a978-2-7460-4644-3 bBr. d27.14 EUR- a20081010d2008 m |0fre|01 ||||ba-0 afre- aFR- aa 0||y|-1 aXML par la pratique ebases indispensables, concepts et cas pratiques fSÂebastien Lecomte- a2e Âed.- aNantes cENI d2008- a20081208- a353 p. cillustrations en noir et blanc d22 x 18 cm-2 aRessources informatiques x1627-8224- aPrÂesentation des concepts fondamentaux de XML au travers de cas pratiques Áa implÂementer. Aborde notamment la syntaxe du langage XML, montre comment concevoir des documents et des grammaires XML simples, comment lier des documents XML entre eux, et comment mettre en forme des documents XML.- aTous niveaux- b9782746046443- 0 34237610000 tRessources informatiques x1627-8224- aXML (langage de balisage)-0 aInternet alangage de programmation astructure de donnÂees adocument multimÂedia- a005.3 v99- a004 v99a- 1 32003090210 aLecomte bSÂebastien 4070- 3 aFR bElectre c20081010 gAFNOR- 39800003724 aExtendible markup language 39800003724 aExtensible markup language- aTous niveaux- aTechniques Informatique- aLivres pratiques Autoformation- c27.14-

Page 105: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

01510nam1 22003612i 450 00100110000000500170001101000380002810000410006610100080010710200070011510501800122200009300140205001200233210002200245211001300267215005500280225004000335330029800375333001700673345001800690410005200708606003000760610008400790676001400874676001300888700004100901801003300942901008300975902001701058903002801075903003501103947001001138-2008401207-20081010000000.0- a978-2-7460-4644-3 bBr. d27.14 EUR- a20081010d2008 m |0fre|01 ||||ba-0 afre- aFR- aa 0||y|-1 aXML par la pratique ebases indispensables, concepts et cas pratiques fSÂebastien Lecomte- a2e Âed.- aNantes cENI d2008- a20081208- a353 p. cillustrations en noir et blanc d22 x 18 cm-2 aRessources informatiques x1627-8224- aPrÂesentation des concepts fondamentaux de XML au travers de cas pratiques Áa implÂementer. Aborde notamment la syntaxe du langage XML, montre comment concevoir des documents et des grammaires XML simples, comment lier des documents XML entre eux, et comment mettre en forme des documents XML.- aTous niveaux- b9782746046443- 0 34237610000 tRessources informatiques x1627-8224- aXML (langage de balisage)-0 aInternet alangage de programmation astructure de donnÂees adocument multimÂedia- a005.3 v99- a004 v99a- 1 32003090210 aLecomte bSÂebastien 4070- 3 aFR bElectre c20081010 gAFNOR- 39800003724 aExtendible markup language 39800003724 aExtensible markup language- aTous niveaux- aTechniques Informatique- aLivres pratiques Autoformation- c27.14-

|-1 aXML par la pratique ebases indispensables, concepts et cas pratiques fSÂebastien Lecomte-

Etiquette 200

La zone comporte (00)93 octets

Elle commence à la position (00)140

200 0093 00140

Page 106: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Le précédent contrôle appliqué par le répertoire ISO 2709 n’existe pas avec MarcXchange (absent du format), il faut le créer via l’applicatif, et le recalculer à chaque conversion vers ISO 2709…

MarcXchange : exemple

<?xml version "1.0" encoding="UTF-8" ?><collection xmlns="info:lc/xmlns/marcxchange-v-1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"[…]> <record format="UNIMARC" type="Bibliographic">

<leader>01510nam1 22003612i 450</leader>[…]

<datafield tag="200" ind1="1" ind2=" "><subfield code="a">XML par la pratique</subfield><subfield code="e">bases indispensables, concepts et cas pratiques</subfield><subfield code="f">SÂebastien Lecomte</subfield>

</datafield>[…] </record></collection>  

Le label des notices est traité comme un simple chaîne

Page 107: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

MarcXchange : structure du schéma

collection

record

subfield

datafieldcontrolfieldleader

id

id, format, type

idid

tag

id, ind1,… ind8

tag

id

code

Élément de plus haut niveau

Élément racine : début de la notice

Label de la notice de l’ISO 2709 (24 octets)

Elément de contrôleZone de l’identifiantDe l’ISO 2709

Déclaration des zones

Structure hiérarchique

attribut obligatoire

attribut facultatif

Déclaration desSous-zones

Page 108: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

MarcXchange

Cadre d’élaboration général pour des schémas « locaux »

MARC 21 et UNIMARC sont reconnus comme des schémas locaux, mais nécessitent tout de même des adaptations locales pour la mise en œuvre de MarcXchange.

Assure la compatibilité de schémas locaux simples, sans perte d’informations (ou un minimum de pertes qui peuvent être répertoriées).

Schéma conçu de façon à contenir des données MARC

Peut servir à l’échange de notices MARC ou de « moyen de transport » pour faire migrer des notices au format natif MARC vers DublinCore.

Page 109: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

MarcXchange

Usages majeurs

• Représenter une notice MARC en XML

• Décrire une ressource en XML

• Échanger des notices MARC en XML

• Transférer des notices MARC via des services en ligne (par exemple SRU)

• Transmettre des données à un éditeur

• Utiliser un format temporaire qui permet toute forme de transformation : conversion, publication, édition, validation

Par exemple, une notice peut entrer dans un « Workflow » (cycle de vie du document) au format XML, dans une application de gestion, puis être « verrouillée » et stockée à nouveau dans un format MARC.

Page 110: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

OAI

Page 111: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Contexte

OAI-PMH répond au besoin d’interroger plusieurs bases en exprimant la description des ressources dans un langage uniforme et commun. Les données sont reproduites et stockées dans un entrepôt qui permet de les embrasser toutes à la fois. Cette fourniture est construites en deux temps : une reproduction, puis une agrégation.

Les données sont d’abord modelées sur un format commun : XML DC (mais d’autres formats sont possibles)

Elles sont ensuite stockées dans une nouvelle base.

Le protocole d’échange utilisé est HTTP

Il faut ensuite construire un moteur de recherche pour ménager des points d’entrée, des outils de référencement, de classement, etc. (Le moteur de recherche n’est pas fourni par le modèle OAI).

De nombreux produits open source sont actuellement disponibles pour mettre en œuvre un modèle OAI

Page 112: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

OAI-PMH

Définition : OAI - PMH

Open Archive Initiative Protocol for Metadata Harvesting

Mvt 1 de l’interopérabiblité : aspect « normatif » : empilement structuré des données

Mvt 3 de l’interopérabilité : le protocole d’échange

Mvt 2 de l’interopérabiblité : XMLDublinCore

Page 113: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Origine du schéma : François Nawrocki : Le protocole OAI et ses usages en bibliothèque. (http://www.culture.gouv.fr/culture/dll/OAI-PMH.htm)

Page 114: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Un peu de vocabulaire…

Ressource (‘resource’) : c’est le document qui est décrit par un appareil bibliographique (la réalité à laquelle la description renvoie, une monographie imprimée, un document électronique…)

Item : c’est la notice informatique qui contient la description. Cette notice se voit attribuer un identifiant unique supplémentaire, totalement indépendant de celui du système local.

Enregistrement (‘record’): ce sont une partie des métadonnées de l’item qui sont choisies et « poussées » dans un fichier XML qui deviennent un enregistrement. OAI-PMH ne travaille pas avec la totalité des données, mais un jeu allégé.

Lot (‘set’) : c’est un possibilité d’OAI-PMH pour constituer des ensembles thématiques ou autres (par exemple ; les thèses d’un établissent dans un format donné et pour une période donnée).

Page 115: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

001 092151655010 ##$a2-7460-2906-5$bBr.$d27,14 €073 #1$a9782746029064200 1#$a@XML par la pratique$bTexte imprimé$ebases indispensables, concepts et cas pratiques$f[Sébastien Lecomte]210 ##$aNantes$cÉd. ENI$dcop. 2005215 ##$a1 vol. (353 p.)$cill., couv. ill. en coul.$d22 cm225 0#$a@Ressources informatiques$fJoe z lle Musset$x1627-8224320 ##$aIndex410 ##$aRessources informatiques (Nantes), ISSN 1627-8224606 ##$aXML (langage de balisage)$2 rameau606 ##$aEchange électronique d'information$2rameau676 ##$a006.74$v22$zeng700 #1$aLecomte, Sébastien (19..-.... ; informaticien)$4070

item

<record>

<dc:title> Xml par la pratique : bases indispensables, concepts et cas pratiques</dc:title><dc:creator>Sébastien Lecomte</dc:creator><dc:type>Monographie imprimée</dc:type>…</record>

<identifier>oai:1380</identifier>

record

Métadonnées sur la ressource : le travail du fournisseur d’entrepôt

Page 116: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Principe général

Base 1 (spécificités

internes)

Base 2 (spécificités

internes)

Base 3 (spécificités

internes)

Base 4 (spécificités

internes)

Entrepôt à sémantique commune

Création d’enregistreme

nts en DC

Création d’enregistreme

nts en DC

Création d’enregistreme

nts en DC

Création d’enregistreme

nts en DC

Pour l’usager :

?query=…

Spécificité commune

: formulation d’une requête unique !

Page 117: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Mise en œuvre

Page 118: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Institution A

Entrepôt A : dc

SET 1

SET 2

SET 3

Institution B

Système local

Éditeur (=fournisseur)

Harvester Base de donnéelocale

« moissonnage » périodique et

planifié

Base de donnée« OAI »

Base de donnéelocale

Transformation XSL

Client

« Ingest »

Page 119: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

L’interrogation d’un entrepôt OAI : Méthodes et arguments

Verbe Rôle Arguments Exemples

Identity Donne des informations sur l’entrepôt de données

-

ListSets Demande la liste des lots disponibles sur un entrepôt.

resumptionToken gallica:afrique

ListMetadataFormats Demande la liste des formats de métadonnées disponibles. Sans paramètre introduit, tous les formats disponibles pour au moins un item sont retournés. Avec le paramètre identifier, seul les formats disponibles pour un item donné sont retournés.

identifier oai-dc

lom

marcXml

ListRecords Retourne une liste d’enregistrements correspondant aux différents paramètres (dates, lots demandés).

from

until

metadataPrefix

set

resumptionToken

ListIdentifiers Récupère la liste des identifiants disponibles.

from

until

metadataPrefix

set

resumptionToken

GetRecord Permet la récupération d’un enregistrment donné, à partir d’un argument

identifier

metadataPrefix

Page 120: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

1. Identify >> http://oai.bnf.fr/oai2/OAIHandler?verb=Identify

Exemple avec http://oai.bnf.fr/oai2/OAIHandler/?verb=...

2. ListSets >> http://oai.bnf.fr/oai2/OAIHandler?verb=ListSetsC’est la balise <setSpec> qu’il faut rechercher pour trouver un set

3. ListMetadataFormats >> http://oai.bnf.fr/oai2/OAIHandler?verb=ListMetadataFormats

NB 1. 2. et 3. répondent à la méthode ‘’verb=‘’. 4. 5. 6. demandent plus de précisions

>> http://oai.bnf.fr/oai2/OAIHandler?verb=ListRecords&metadataPrefix=oai_dc

4. ListRecords demande obligatoirement au moins un argument :

&metadataPrefix (et non pas *MetadaPrefix) : Attend un format de données, par exemple ‘oai_dc’

Autres arguments attendus : &set= …voir &ListSets&from : date d’enregistrement (type : AAAA-MM-JJ%)&until : date d’enregistrement (type : AAAA-MM-JJ%)

(obligatoire)

Utilisation d’un handler

Page 121: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

>> http://oai.bnf.fr/oai2/OAIHandler?verb=ListRecords&metadataPrefix=oai_dc&set=gallica&from=2009-01-01&until=2009-06-01

5. ListIdentifiers demande obligatoirement au moins un argument :

>> http://oai.bnf.fr/oai2/OAIHandler?verb=ListIdentifiers&metadataPrefix=oai_dc

&metadataPrefix (et non pas *MetadaPrefix) : Attend un format de données, ici, ‘didl’ ou ‘oai_dc’

Autres arguments attendus : &set= …voir &ListSets&from : date d’enregistrement (type : AAAA-MM-JJ%)&until : date d’enregistrement (type : AAAA-MM-JJ%)

(obligatoire)

<header>  <identifier>oai:bnf.fr:gallica/ark:/12148/bpt6k54265055</identifier>   <datestamp>2009-01-08</datestamp>   <setSpec>gallica:6:61</setSpec>   <setSpec>gallica:monographies</setSpec> </header>

Page 122: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

6. GetRecords demande obligatoirement au moins un argument :

&GetRecord

&identifier

(obligatoire)

>> http://oai.bnf.fr/oai2/OAIHandler?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:bnf.fr:gallica/ark:/12148/bpt6k852111

&metadataPrefix (comme précédemment)

(obligatoire)

NB Il s’agit de l’identifier du nœud header/identifier et non pas de celui de dc:identifierExplication : l’identifier du header est un enregistrement (une clé  ’’primaire’’ ou ‘’unique’’, tandis que le dc:identifier est une information de l’enregistrement, c’est une donnée.

On aurait pu avoir à traduire la requête GET avec une URL encodée pour l’identifier, pour tout ce qui suit &identifier= car ce n’est pas l’identifier que l’on demande, mais sa « représentation » dans le langage http (cf tableau URL encoding), ce qui aurait donné : &identifier=oai%3abnf%2efr%3agallica%2fark%3a%2f12148%2fbpt6k852111

Page 123: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Liste :badArgumentbadResumptionTokenbadVerbcannotDisseminateFormatidDoesNotExistidDoesNotMatchnoMetadataFormatsnoSearchHierarch

Messages d’erreur possibles

  <?xml version="1.0" encoding="UTF-8" ?> - <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">  <responseDate>2009-09-21T15:48:40Z</responseDate>   <request>http://prusse.sudoc.abes.fr:8080/OAISTAR_Real_Web/OAIHandler</request>   <error code="badVerb">Value of the "verb" argument is not a legal OAI-PMH verb, the verb argument is missing, or the verb argument is repeated. Query string : verb=Record&metadataPrefix=oai_dc. Detailed description : incorrect verb = Record.</error>   </OAI-PMH>

http://prusse.sudoc.abes.fr:8080/OAISTAR_Real_Web/OAIHandler?verb=Record&metadataPrefix=oai_dc

Page 124: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Le harvesting

Etape 1 : interroger un entrepôt et cibler un SET

Etape 2 : ingest initialLa réponse (POST) est un ensemble de notices XML, décliné dans plusieurs formats, normalisés le plus souvent : DC, LOM, MarcXML, TEF, … Les données recueillies doivent être insérées dans une base localeOn peut utiliser un programme pour le faire, mais dans la plupart des SIGB de nouvelle génération, on a besoin d’une étape intermédiaire de transformation XSL

Etape 3 : planification d’un update

Si l’on veut récupérer des notices de thèses du SUDOC, on peut utiliser une plateforme OAI (du site officiel) qui va nous aider à nous y retrouver :http://re.cs.uct.ac.za/ Le handler du SUDOC est http://prusse.sudoc.abes.fr:8080/OAISTAR_Real_Web/OAIHandler

Comparaison de http://prusse.sudoc.abes.fr:8080/OAISTAR_Real_Web/OAIHandler?verb=ListSetset de : http://re.cs.uct.ac.za/ avec le lien ListSets

Page 125: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Interrogation d’une thèse qui porte l’identifiant ‘2007NAN21013’

http://prusse.sudoc.abes.fr:8080/OAISTAR_Real_Web/OAIHandler?verb=GetRecord&metadataPrefix=oai_dc&identifier=2007NAN21013

Il va falloir utiliser une feuille de transformation TEF (exemple :http://cyberdoc.univ-lemans.fr/PUB/enssib/2009/Tef_to_BIU_THESE-STAR.xsl )

xsl:for-eachxsl:if (test=)

xsl:whenxsl:choosexsl:otherwise

xsl value-ofXsl:template

select=‘’*’’

Page 126: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Application pkpHarvester (public knowledge project) : manipulations

http://hephaistos.univ-lemans.fr/harvester-2.3.0/

Page 127: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Cas particulier d’ORI-OAI

Page 128: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

Conclusion

Page 129: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

L’OPAC … vs IGP

L’OPAC de SIGB ne remplit plus son rôle de signalement auprès des usagers

On préfère parler de SID (ou d’IGP dans certains cas) pour baliser l’accès à des sources hétérogènes. De même, on parlera plutôt d’utilisateur, voire d’usager que de lecteur, et de données plutôt que de notices.

L’effort de normalisation est capital pour :

- l’homogénéité des données

- la qualité des données

Avec l’émergence de nouveaux protocoles , les données sont transportées par la couche web et s’ouvrent à d’autres niveaux d’exploitation.

Avec l’interopérabilité, les professionnels de l’info-doc pensent leur repositionnement dans le monde de l’information…

Page 130: Cycle T. – 19-23 avril 2010. – ENSSIB, Villeurbanne Gestion informatisée des bibliothèques Philippe.Bourdenet @univ-lemans.fr La recherche fédérée et les.

ENSSIB – 21 avril 2010

[email protected]

Merci de votre attention !

[email protected]