La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

ENS-LYON 17-19 juin 2013 Evolution des catalogues : Métadonnées, Interopérabilité, web sémantique, FRBR et RDA La récupération.

Présentations similaires


Présentation au sujet: "ENS-LYON 17-19 juin 2013 Evolution des catalogues : Métadonnées, Interopérabilité, web sémantique, FRBR et RDA La récupération."— Transcription de la présentation:

1 ENS-LYON juin 2013 Evolution des catalogues : Métadonnées, Interopérabilité, web sémantique, FRBR et RDA La récupération de données bibliographiques par flux XML

2 Dispositifs SYNCHRONES

3 Z39.50

4 Protocole déchange pour une utilisation bibliographique qui régit le « dialogue » entre clients et serveurs, décrit et utilisé aux États-unis à partir de 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 linterrogation en temps réel de bases bibliographiques pour un usage de consultation et de récupération de notices, sans que lusager ne soit obligé de changer denvironnement.

5 Utilisateur / bibliothécaire Catalogue local (C/S ou émulation telnet) Base de données locale (MARC) Bibliothèque 1 SIGB 1 Rq 1

6 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 ) Base de données locale (MARC) Bibliothèque 2 SIGB 2 Rq 1 Règles de filtrage

7 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 ) Base de données locale (MARC) Bibliothèque 2 SIGB 2 Rq 1 Rs 2

8 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 ) Base de données locale (MARC) Bibliothèque 2 SIGB 2 Rq 1 Rs 2 Rs 1

9 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 ) Base de données locale (xMARC) Bibliothèque 2 SIGB 2 Rq 1 Rs 2 Rs 1 ?

10 Z39.50 utilise à lorigine 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 !

11 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 T Unimarc.200a Index: TitreM Système B TITRE T Unimarc.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 linteropérabilité).

12 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 ) Base de données locale (MARC) Bibliothèque 2 SIGB 2 Rq 1 Rs 2 Rs 1 Un protocole de liaison : Search/Retrieve Protocol

13 Utilisateur / bibliothécaire Catalogue local (C/S ou émulation telnet) Base de données locale (xMARC) Bibliothèque 1 SIGB 1 Rq 1 Rs 2 Rs 1 BASE DINFORMATION Le protocole Z39.50 ne soccupe pas du fonctionnement interne de la plate-forme distante…

14 Lutilisateur na 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 le protocole. La norme fait état de : ANS1 : Abstract Notation Syntax 1 (ISO 8824) Un langage de description de données indépendant des matériels et 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 syntaxe spécifique de transfert de données

15 Systèmes de requêtes HTTP RFC MIME-SMTP HTTP 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.

16 RFC 1945 : Hyper text Transfer Protocol – HTTP/1.0 (Specifications) Terminologie Connexion 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.

17 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 dorigine 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 dorigine pour la ressource ; le client nest 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.

18 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 dinformation émises via HTTP, et rend interopérables les différents encodages. charset = "US-ASCII" | "ISO " | "ISO " | "ISO " | "ISO " | "ISO " | "ISO " | "ISO " | "ISO " | "ISO " | "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

19 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 niveau CR LF = marqueur de fin de ligne (Carriage Returne Line Feed) LWS = en-tête TEXT = utilisée pour décrire des informations descriptives. ISO implicite HEX = "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT

20 url = httpurl | ftpurl | newsurl | nntpurl | telneturl | gopherurl | waisurl | mailtourl | fileurl | prosperourl | otherurl = 1*[ lowalpha | digit | "+" | "-" | "." ] schemepart = *xchar | ip-schemepart ; schemeparts dURL 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

21 ; 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.

22 […] ; 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

23 Mémo ?Introduit un paramètre =attribue une valeur à un paramètre &enchaîne deux les données didentification /déplace dans larborescence //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é

24 ?halsid=0s9v93i6o5altejbh58n9j2845 &view_this_doc=tel &version=1 &CRIT1=VICTOR%20HUGO&OPER1=and &CRIT1=VICTOR%20HUGO&OPER1=and ?query=EXPERT &INDEX_LIV1=DLIV_MOTSUJ &CRIT1=VICTOR%20HUGO &OPER1=and Ouvrages disponibles sur Victor Hugo

25 GET C'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. HEAD Cette méthode ne demande que des informations sur la ressource, sans demander la ressource elle- même. POST Cette méthode doit être utilisée lorsqu'une requête modifie la ressource. OPTIONS Cette méthode permet d'obtenir les options de communication d'une ressource ou du serveur en général. CONNECT Cette méthode permet d'utiliser un proxy comme un tunnel de communication. TRACE Cette 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. PUT Cette méthode permet d'ajouter une ressource sur le serveur. DELETE Cette méthode permet de supprimer une ressource du serveur. Requêtes HTTP

26 SRU

27 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 dinterroger 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. Sappuie sur un ensemble de formats pivots universels : DC, MODS, MarcXML, … Sinscrit 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 denvisager une recherche fédérée

28 SRU (Search/Retrieve via URL) et SRW (Search/Retrieve Web service) Encode une requête au sein dune URL ReST = Representational State Transfer Encode une requête au sein dune 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 client

29 SRU (et SRW) Utilisent tous deux le protocole HTTP pour léchange de requêtes SRU propose une interface pour linteraction avec des bases de données distantes, sans quil y ait besoin de connaître la logique interne de la base de donnée consultée pour trouver des résultats Sappuie 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 NomObligatoire/facultatifDescription operationObligatoireLa chaîne : SearchRetrieve versionObligatoireLa 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

30 NomObligatoire/facultatifDescription requestObligatoireContient 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 startRecordFacultatif*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. maximumRecordFacultatif*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 nest 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. recordPackinqFacultatifSpécifie la façon dont les notices doivent être empaquetées : chaîne de caractère simple(string) ou XML (xml). recordSchemaFacultatifSchéma dans lequel la notice doit être fournie. La valeur est lURI du schéma ou son affichage abrégé défini par le serveur (*) [voir tableau] recordXPath (V1.1)FacultatifUne expression Xpath (chemin XML) peut être appliquée aux notices avant quelles soient retournées, relativement au schéma spécifié dans le paramètre recordSchema. Sert à préparer la conversion XSL.

31 NomObligatoire/facultatifDescription resultSetTTLFacultatifNombre 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)FacultatifContient une séquence de clés de classement appliquée au résultat. StylesheetFacultatifSpécifie une URL pour appliquer une feuille de styles. extraRequestDataFacultatifEmplacement prévu pour des informations supplémentaires … Exemple de requête Paramètres : obligatoiresfacultatifs version=1.1 operation=searchRetrieve query=balzac maximumRecords=3000 recordSchema=dc &query=balzac&maximumRecords=10&recordSchema={mods | dc | marcxml} Voir en DublinCore, voir en marcxmlDublinCoremarcxml

32 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)

33 Recherches simples: dinosaur "complete dinosaur" title = "complete dinosaur" title exact "the complete dinosaur" Requêtes utilisant des opérateurs booléens: dinosaur or bird dinosaur and "ice age" dinosaur not reptile dinosaur 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 2.4 bioMass >= 100 Recherches de proximité de termes: ribs prox/distance 0/unit=paragraph chevrons Recherches à plusieurs dimensions: date within " " dateRange encloses 2003 Recherches basées sur la pertinence: subject any/relevant "fish frog" subject any/rel.lr "fish frog"

34 Réponse pour &version=1.1 &query=balzac &maximumRecords=10 &recordSchema=dc

35 Recherche par titre &operation=searchRetrieve &query=dc.title=eugenia+and+grandet &maximumRecords=20 &recordSchema=dc […]

36 Requête plus large ac+and+literature&maximumRecords=10&recordSchema=dc […]

37 Schema (and link/reference)Short NameIdentifier Dublin Core Record Schema (.xsd.html )dcinfo:srw/schema/1/dc-v1.1 SRU Diagnostic Schemadiaginfo:srw/schema/1/diagnostic-v1.1 Explain Schemazeerexhttp://explain.z3950.org/dtd/2.0/ MODS Schema Version > Version 3.3modsinfo:srw/schema/1/mods-v3.x ONIX DTD Version 2.0onixinfo:srw/schema/1/onix-v2.0 MARCXML: The MARC 21 XML Schemamarcxmlinfo:srw/schema/1/marcxml-v1.1 EAD DTD Version 2002eadinfo:srw/schema/1/ead-2002 Zthes DTD, version 0.5Ztheshttp://zthes.z3950.org/xml/0.5/ UNIMARC XML Schemaunimarcxmlinfo:srw/schema/8/unimarcxml-v0.1 The Bibliographic Class DTDdlxs-bibinfo:/srw/schema/10/dlxs-bib-v1.0 Dublin Core Extended (DCX)dcxinfo:/srw/schema/1/dcx-v1.0 PICA XML Version 1.0 pica-xml-v1-0.xsd)pica-XMLinfo:srw/schema/5/picaXML-v1.0 MADS Schema Version 1.0 reference | schema madsinfo:srw/schema/1/mads-v1.0 Zthes Schema Version 1.0 reference | schemaztheshttp://zthes.z3950.org/xml/1.0/ ISO Schema for holdings reference | schemaisoholdinfo:srw/schema/5/iso20775-v1.0 PRISM Aggregator Message Record Schema Version 2.0paminfo:srw/schema/11/pam-v2.0 Document Availability Information API (DAIA/XML) reference | schema PRISM Aggregator Message Record Schema Version 2.1 paminfo:srw/schema/11/pam-v2.1 Paramètre de contrôle du schéma

38 info:srw/schema/1/marcxml-v1.1 xml #Début de la notice 01100nam a a s1993 quca b fre (DLC) […] Les Accros du langage / sous la direction de Michèle Nevert. Exemple de notice retournée avec le paramètre &recordSchema=marcxml : Il existe aussi une « classe » unimarcxml… mais elle nest pas implémentée

39 SRU Termes de recherche : Ok Bibliothèque du Congrès JSTOR

40 SRU balzac literature | Termes de recherche : Ok Bibliothèque du Congrès JSTOR x

41 SRU balzac literature | Termes de recherche : Ok Construction dune requête type SRU à partir des termes saisis : Bibliothèque du Congrès ?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 lURI du schéma ou son affichage abrégé défini par le serveur. JSTOR x

42 En France ABES Ailleurs en Europe Finlande : NELLI Dutch union Catalog Espagne : Biblioteca Virtual del Patrimonio Bibliográfico Suisse : Au niveau européen projet TEL, la Bibliothèque européenne Aux Etats-Unis J-STOR (http://dfr.jstor.org/sru/) [exemple]exemple ARTstor Worldcat Beta Library of Congress Quelques plates-formes SRU disponibles…

43 Web Services

44 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. Sappuient sur HTTP et ne nécessitent pas douverture 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 dembarquer un contexte (par exemple un ticket dauthentification). Les bibliothèques pourraient par exemple proposer une consultation de leur catalogue à travers un environnement particulier ou un ENT, via WebService.

45 Développements dAPI Expression de requêtes http - Création dun ticket, dune session, contrôlée par un certificat - Embarquement de termes de recherches dans une « URL » Exemples : - compte lecteur intégré à un ENT - mise à dispositions douvrages pour un examen, un partiel - fenêtre courte dinterrogation du catalogue - bibliographies sous formes de Fils RSS - accès aux brèves du site/blog institutionnel Déporter le catalogue dans dautres environnements…

46 Pratiques des usagers : émergence de nouveaux besoins Exemple avec iGoogle

47 Collections numériques Catalogue collectif …avec netvibes

48 Les « grammaires » de linteropérabilité (synthèse) Jeu de métadonnéesCadre générique dimplémentation protocolesLangage(s) de requêtes DiversJ2EE – PHP – Html…APISQL – SQL + - MySQL MARC < Z … ISO 2709Z39.50Internes aux applications LOM – DC – TEF – MarcXml… XMLOAI-PMHHTTP - index RDFXMLSPARQL for RDFSPARQL Query for RDF DC – MarcXml …XMLSRU/SRW SOAP/REST CQL DC – XML -URLWebServices SOAP/REST Divers langages possibles

49 Dispositifs ASYNCHRONES

50 La récupération de données

51 Léchange de données en iso2709 Une notice enregistrée au format ISO 2709 présente le schéma suivant : Voir aussi :

52 XML par la pratique [Texte imprimé] : bases indispensables, concepts et cas pratiques / [Sébastien Lecomte]. - Nantes : Éd. ENI, cop vol. (353 p.) : ill., couv. ill. ; 21 cm. - (Ressources informatiques, ISSN ). Index ISBN (br.) : 27,14 EUR. - EAN Exemple de notice : de lisbd à iso nam i ­a ­bBr.­d27.14 EUR- ­a d2008 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- ­a ­a353 p.­cillustrations en noir et blanc­d22 x 18 cm-2 ­aRessources informatiques­x ­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- ­b ­ ­tRessources informatiques­x ­aXML (langage de balisage)-0 ­aInternet­alangage de programmation­astructure de donnÂees ­adocument multimÂedia- ­a005.3­v99- ­a004­v99a- 1­ ­aLecomte­bSÂebastien­ ­aFR­bElectre­c ­gAFNOR- ­ ­aExtendible markup language­ ­aExtensible markup language- ­aTous niveaux- ­aTechniques Informatique- ­ aLivres pratiques Autoformation- ­c Label Répertoire Zones Séparateur de notices (invisible)

53 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 nam1· i·450· Ce qui nous donne : namam i·450· nombre doctets!

54 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 :

55 … on obtient :

56 XML par la pratique [Texte imprimé] : bases indispensables, concepts et cas pratiques / [Sébastien Lecomte]. - Nantes : Éd. ENI, cop vol. (353 p.) : ill., couv. ill. ; 21 cm. - (Ressources informatiques, ISSN ). Index ISBN (br.) : 27,14 EUR. - EAN

57 01510nam i ­a ­bBr.­d27.14 EUR- ­a d2008 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- ­a ­a353 p.­cillustrations en noir et blanc­d22 x 18 cm-2 ­aRessources informatiques­x ­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- ­b ­ ­tRessources informatiques­x ­aXML (langage de balisage)-0 ­aInternet­alangage de programmation­astructure de donnÂees ­adocument multimÂedia- ­a005.3­v99- ­a004­v99a- 1­ ­aLecomte­bSÂebastien­ ­aFR­bElectre­c ­gAFNOR- ­ ­aExtendible markup language­ ­aExtensible markup language- ­aTous niveaux- ­aTechniques Informatique- ­ aLivres pratiques Autoformation- ­c27.14-

58 |-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)

59 la balise doit posséder l'attribut profile avec la valeur Déclaration des propriétés de DublinCore : DC Gère 15 attributs > DublinCore

60 PropriétéDescription title Titre du document : il s'agit a priori du titre principal du document. creator Créateur du document : nom de la personne, de l'organisation ou du service à l'origine de la rédaction du document. subject Sujet et mots-clefs : mots-clés, phrases de résumé, ou codes de classement. Il est préférable d'utiliser des mots- clés choisis dans le cadre d'une politique de classement. Par exemple, on peut utiliser les codages de la bibliothèque du congrès (LCSH et LCC), le vocabulaire médical (MESH), ou les notations décimales des bibliothécaires (DDC et UDC). description Description du document : résumé, table des matières, ou texte libre. publisher Publicateur du document : nom de la personne, de l'organisation ou du service à l'origine de la publication du document.

61 contributor Contributeur au document : nom d'une personne, d'une organisation ou d'un service qui contribue ou a contribué à l'élaboration du document. date Date d'un événement dans le cycle de vie du document : il peut s'agir par exemple de la date de création ou de la date de mise à disposition. Il est recommandé de spécifier la date au format W3CDTF (AAAA-MM-JJ). type Nature ou genre du contenu : grandes catégories de document. Il est recommandé d'utiliser des termes clairement définis au sein de son organisation. Par exemple, le Dublin Core définit quelques types dans le vocabulaire DCMITypes. format Format du document : format physique ou électronique du document. Par exemple, type de média ou dimensions (taille, durée). On peut spécifier le matériel et le logiciel nécessaires pour accéder au document. Il est recommandé d'utiliser des termes clairement définis, par exemple les types MIME. identifier Identificateur non ambigu : il est recommandé d'utiliser un système de référencement précis, par exemple les URI ou les numéros ISBN.

62 source Ressource dont dérive le document : le document peut découler en totalité ou en partie de la ressource en question. Il est recommandé d'utiliser une dénomination formelle des ressources, par exemple leur URI. language Langue du document : il est recommandé d'utiliser un code de langue conforme au format RFC4646. relation Lien vers une ressource liée : il est recommandé d'utiliser une dénomination formelle des ressources, par exemple leur URI. coverage Portée du document : la portée inclut un domaine géographique, un laps de temps, ou une juridiction (nom d'une entité administrative). Il est recommandé d'utiliser des représentations normalisées de ces types de données, par exemple TGN (Thesaurus of Geographic Names, un dictionnaire de noms de lieux), ISO3166, Point ou Box pour la portée spatiale, Period ou W3CDTF pour la portée temporelle. rights Droits relatifs à la ressource : permet de donner des informations sur le statut des droits du document, par exemple la présence d'un copyright, ou un lien vers le détenteur des droits. L'absence de cette propriété ne présume pas que le document est libre de droits.

63 OAI-PMH

64 Généralités OAI-PMH répond au besoin dinterroger 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 dabord modelées sur un format commun : XML DC (mais dautres 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 dentrée, des outils de référencement, de classement, etc. (Le moteur de recherche nest pas fourni par le modèle OAI). De nombreux produits open source sont actuellement disponibles pour mettre en œuvre un modèle OAI

65 OAI-PMH : une logique dentrepôt Définition : OAI - PMH Open Archive Initiative Protocol for Metadata Harvesting Mvt 1 de linteropérabiblité : aspect « normatif » : empilement structuré des données Mvt 3 de linteropérabilité : le protocole déchange Mvt 2 de linteropérabiblité : XML DublinCore

66 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)

67 Un peu de vocabulaire… Ressource (resource) : cest 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 : cest 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 litem 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 ou « collection » (set) : cest un possibilité dOAI-PMH pour constituer des ensembles thématiques ou autres (par exemple ; les thèses dun établissent dans un format donné et pour une période donnée).

68 ##$a $bBr.$d27, #1$a par la pratique$bTexte imprimé$ebases indispensables, concepts et cas pratiques$f[Sébastien Lecomte] 210 ##$aNantes$cÉd. ENI$dcop ##$a1 vol. (353 p.)$cill., couv. ill. en coul.$d22 cm 225 informatiques$fJoe ̈ lle Musset$x ##$aIndex 410 ##$aRessources informatiques (Nantes), ISSN ##$aXML (langage de balisage)$2 rameau 606 ##$aEchange électronique d'information$2rameau 676 ##$a006.74$v22$zeng 700 #1$aLecomte, Sébastien ( ; informaticien)$4070 item Xml par la pratique : bases indispensables, concepts et cas pratiques Sébastien Lecomte Monographie imprimée … oai:1380 record Métadonnées sur la ressource : le travail du fournisseur dentrepôt

69 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 denregistrements en DC Pour lusager : ?query=… Spécificité commune : formulation dune requête unique !

70 Mise en œuvre

71 Institution A Entrepôt A : dc SET 1 SET 2 SET 3 Institution B Système local Éditeur (=fournisseur) Harvester Base de donnée locale « moissonnage » périodique et planifié Base de donnée « OAI » Base de donnée locale Transformation XSL Client « Ingest »

72 Linterrogation dun entrepôt OAI : Méthodes et arguments VerbeRôleArgumentsExemples IdentifyDonne des informations sur lentrepôt de données - ListSetsDemande la liste des lots disponibles sur un entrepôt. resumptionTokengallica:afri que ListMetadataFormatsDemande 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. identifieroai-dc lom marcXml ListRecordsRetourne une liste denregistrements correspondant aux différents paramètres (dates, lots demandés). from until metadataPrefix set resumptionToken ListIdentifiersRécupère la liste des identifiants disponibles. from until metadataPrefix set resumptionToken GetRecordPermet la récupération dun enregistrment donné, à partir dun argument identifier metadataPrefix

73 1. Identify >> Exemple avec 2. ListSets >> Cest la balise quil faut rechercher pour trouver un set 3. ListMetadataFormats >> NB et 3. répondent à la méthode verb= demandent plus de précisions >> 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 denregistrement (type : AAAA-MM-JJ%) &until : date denregistrement (type : AAAA-MM-JJ%) (obligatoire) Utilisation dun handler

74 >> &until= ListIdentifiers demande obligatoirement au moins un argument : >> &metadataPrefix (et non pas *MetadaPrefix) : Attend un format de données, ici, didl ou oai_dc Autres arguments attendus : &set= …voir &ListSets &from : date denregistrement (type : AAAA-MM-JJ%) &until : date denregistrement (type : AAAA-MM-JJ%) (obligatoire) oai:bnf.fr:gallica/ark:/12148/bpt6k gallica:6:61 gallica:monographies

75 6. GetRecords demande obligatoirement au moins un argument : &GetRecord &identifier (obligatoire) >> a/ark:/12148/bpt6k &metadataPrefix (comme précédemment) (obligatoire) NB Il sagit de lidentifier du nœud header/identifier et non pas de celui de dc:identifier Explication : lidentifier du header est un enregistrement (une clé primaire ou unique, tandis que le dc:identifier est une information de lenregistrement, cest une donnée. On aurait pu avoir à traduire la requête GET avec une URL encodée pour lidentifier, pour tout ce qui suit &identifier= car ce nest pas lidentifier que lon 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

76 Liste : badArgument badResumptionToken badVerb cannotDisseminateFormat idDoesNotExist idDoesNotMatch noMetadataFormats noSearchHierarch Messages derreur possibles T15:48:40Z 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. TAR_Real_Web/OAIHandler?verb=Rec ord&metadataPrefix=oai_dc

77 Le harvesting Etape 1 : interroger un entrepôt et cibler un SET Etape 2 : ingest initial La 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 locale On peut utiliser un programme pour le faire, mais dans la plupart des SIGB de nouvelle génération, on a besoin dune étape intermédiaire de transformation XSL (XSLt) Etape 3 : planification dun update Si lon 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 : Le handler du SUDOC est : Comparaison de et de : puis « ListSets »http://re.cs.uct.ac.za/ Un outil pratique :

78 Interrogation dune thèse qui porte lidentifiant 2008BOR voir Il va falloir utiliser une feuille de transformation TEF xsl:for-each xsl:if (test=) xsl:when xsl:choose xsl:otherwise xsl value-of Xsl:template select=*

79 Composons une phrase : demandons les notices DC de la collection « Mathématiques » de arXiv.org : Réponse : un fichier XML de 1000 notices ! Un exemple pas à pas

80 oai:arXiv.org: math Sparsity-certifying Graph Decompositions Streinu, Ileana Theran, Louis Mathematics - Combinatorics Computer Science - Computational Geometry 05C85 05C70 68R10 05B35 We describe a new algorithm, the $(k,\ell)$-pebble game with colors, and use it obtain a characterization of the family of $(k,\ell)$-sparse graphs and algorithmic solutions to a family of problems concerning tree decompositions of graphs. Special instances of sparse graphs appear in rigidity theory and have

81 Nombre de notices dans le fichier : / Ajout de lauteur introduit par un « / » VOIR :

82 Application pkpHarvester (public knowledge project) : manipulations

83 Cas particulier dORI-OAI Voir une feuille de transformation XSL

84 IGP Catalogue dimprimés OPAC Catalogue de périodiques en ligne (AtoZ) Catalogue de- books ORI-OAI Schémas de mise en œuvre de linteropérabilité (3) P.E.L. Ressources Pédagogues CERIMES iso2709 csv/tabulé oai-pmh Ressources externes Articles de BDD en ligne, Catalogues dautres bibliothèques API web service

85 Intégration des données pédagogiques à lUM

86

87 CLE_PRIMAIRENOT NULL, NUMBER(10) OAI_IDENTIFIERVARCHAR2(128) champ_de_classement(concatenation), VARCHAR2(240) champ_daffichage(concatenation), VARCHAR2(240) CREATE_USERVARCHAR2(64) CREATE_DATEVARCHAR2(14) MODIFY_USERVARCHAR2(64) MODIFY_DATEVARCHAR2(14) TYPDOCVARCHAR2(64) Binary Large ObjectIdentifiant Titre Langue du document Résumé Mot clé Type de document Auteur Editeur Date de publication Format URL daccès Nécessite Durée dexécution Conditions dutilisation Type de ressource pédagogique Public concerné Contexte Niveau Conseil dutilisation Activité Fait partie de Niveau de lensemble Description de lensemble Indice Dewey Libellé Dewey Vedette RAMEAU Classification locale

88 oai:record/oai:header/oai:identifier oai:record/oai:metadata/lom:lom/lom:general/lom:title/lom:string (voir détail ci-dessous) oai:record/oai:metadata/lom:lom/lom:general/lom:language oai:record/oai:metadata/lom:lom/lom:general/lom:description/lom:string oai:record/oai:metadata/lom:lom/lom:general/lom:keyword/lom:string oai:record/oai:metadata/lom:lom/lom:general/lomfr:documentType/lomfr:value oai:record/oai:metadata/lom:lom/lom:lifeCycle/lom:contribute[lom:role/lom:value = 'author'] (voir détail ci-dessous) oai:record/oai:metadata/lom:lom/lom:lifeCycle/lom:contribute[lom:role/lom:value = 'publisher'] (voir détail ci-dessous) oai:record/oai:metadata/lom:lom/lom:lifeCycle/lom:contribute/lom:date/lom:dateTime oai:record/oai:metadata/lom:lom/lom:technical/lom:format oai:record/oai:metadata/lom:lom/lom:technical/lom:location oai:record/oai:metadata/lom:lom/lom:technical/lom:otherPlatformRequirements/lom:string oai:record/oai:metadata/lom:lom/lom:technical/lom:duration/lom:duration oai:record/oai:metadata/lom:lom/lom:rights/lom:description/lom:string oai:record/oai:metadata/lom:lom/lom:educational/lom:learningResourceType/. oai:record/oai:metadata/lom:lom/lom:educational/lom:intendedEndUserRole/lom:value oai:record/oai:metadata/lom:lom/lom:educational/lom:context/lom:value XSLIF oai:record/oai:metadata/lom:lom/lom:educational/lom:context/lom:value XSLIF oai:record/oai:metadata/lom:lom/lom:educational/lom:description/lom:string oai:record/oai:metadata/lom:lom/lom:educational/lomfr:activity/lomfr:value oai:record/oai:metadata/lom:lom/lom:relation/lom:kind/lom:value oai:record/oai:metadata/lom:lom/lom:relation/lom:resource/lom:identifier/lom:entry oai:record/oai:metadata/lom:lom/lom:relation/lom:resource/lom:description/lom:string oai:record/oai:metadata/lom:lom/lom:classification/lom:taxonPath/lom:source XSLIF oai:record/oai:metadata/lom:lom/lom:classification/lom:taxonPath/lom:source XSLIF oai:record/oai:metadata/lom:lom/lom:classification/lom:taxonPath/lom:taxon/lom:id oai:record/oai:metadata/lom:lom/lom:classification/lom:taxonPath/lom:taxon/lom:entry oai:record/oai:metadata/lom:lom/lom:classification/lom:taxonPath/lom:source/lom:string XSLIF oai:record/oai:metadata/lom:lom/lom:classification/lom:taxonPath XSLIF

89 Traitement de lauteur BEGIN:VCARDVERSION:3.0 N:Geneviève;Franck;;; FN:Franck Genevieve ORG:Laboratoire d'Hématologie Biologique du CHU d'Angers URL:http://www.univ-lemans.fr UID:catalogueur END:VCARD URL:http://www.univ-lemans.fr => Table AUTORITES du SID ? S appuyer sur le repérage dune chaîne de caractères plutôt que sur un identifiant… Créer une sémantique commune a posteriori…

90 Traitement des descripteurs, des mots-clés et de la catégorisation LOMv1.0 idea RAMEAU FRBNF Cinématique Classification 100 Dewey 530 Ajout dindicateurs DEWEY => Incohérence dans le niveau de description

91 Traitement du niveau - LearningResourceType : propose un classement selon le type de contenu pédagogique, et peut prendre les valeurs suivantes :

92 - Activity : propose de qualifier le contenu selon un usage possible, ce qui considère le point de vue de lusager (destinataire duc contenu pédagogique) en priorité : 1 exercice 2 autoévaluation 3 énoncé de problème 4 simulation 5 questionnaire 6 examen 7 évaluation 8 expérience 9 étude de cas 10 cours/présentation 11 animation 12 scénario pédagogique 13 démonstration 14 tutoriel 15 glossaire 16 guide 17 matériel de référence 18 méthodologie 19 liste de référence 20 outil 21 jeu de données. IntendeEndUserRole : qualifie le positionnment du public destinataire : LOMv1.0 learner

93


Télécharger ppt "ENS-LYON 17-19 juin 2013 Evolution des catalogues : Métadonnées, Interopérabilité, web sémantique, FRBR et RDA La récupération."

Présentations similaires


Annonces Google