Corso di Biblioteche Digitali

Similar documents
Outline of the course

Digital Libraries: Interoperability

Corso di Biblioteche Digitali

Corso di Biblioteche Digitali

Corso di Biblioteche Digitali

Metadata Harvesting Framework

Using metadata for interoperability. CS 431 February 28, 2007 Carl Lagoze Cornell University

Corso di Biblioteche Digitali

OAI-PMH. DRTC Indian Statistical Institute Bangalore

Corso di Biblioteche Digitali

Corso di Biblioteche Digitali

Problem: Solution: No Library contains all the documents in the world. Networking the Libraries

OAI-PMH implementation and tools guidelines

Guidelines for preparing a Z39.50/SRU target to enable metadata harvesting

EXTENDING OAI-PMH PROTOCOL WITH DYNAMIC SETS DEFINITIONS USING CQL LANGUAGE

The Open Archives Initiative Protocol for Metadata Harvesting: An Introduction


IMu OAI-PMH Web Service

SRW and CQL; Open Source at LC

Open Archives Initiative protocol development and implementation at arxiv

RVOT: A Tool For Making Collections OAI-PMH Compliant

IVOA Registry Interfaces Version 0.1

Integrating Access to Digital Content

Building Interoperable and Accessible ETD Collections: A Practical Guide to Creating Open Archives

Joining the BRICKS Network - A Piece of Cake

Metadata and Encoding Standards for Digital Initiatives: An Introduction

The Open Archives Initiative and the Sheet Music Consortium

Creating a National Federation of Archives using OAI-PMH

Tutorial. Open Archive Initiative

arxiv, the OAI, and peer review

Developing an Institutional Repository Service in Chinese Academy of Sciences

ORCA-Registry v2.4.1 Documentation

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

Exposing and Harvesting Metadata Using the OAI Metadata Harvesting Protocol: A Tutorial

Building Interoperable Digital Libraries: A Practical Guide to creating Open Archives

Chuck Cartledge, PhD. 25 February 2018

Interoperability and Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH)

Metadata aggregation for digital libraries

Table of contents for The organization of information / Arlene G. Taylor and Daniel N. Joudrey.

GMA-PSMH: A Semantic Metadata Publish-Harvest Protocol for Dynamic Metadata Management Under Grid Environment

SMART CONNECTOR TECHNOLOGY FOR FEDERATED SEARCH

How to Build a Digital Library

A Repository of Metadata Crosswalks. Jean Godby, Devon Smith, Eric Childress, Jeffrey A. Young OCLC Online Computer Library Center Office of Research

Public User Interface Specification

Indonesian Citation Based Harvester System

Expected and Unexpected Synergies

The Open Archives Initiative Protocol for Metadata Harvesting

Texas Library Directory Web Services Application: The Potential for Web Services to Enhance Information Access to Legacy Data

Design of The PORTA EUROPA Portal (PEP) Pilot Project

Data Exchange and Conversion Utilities and Tools (DExT)

Metadata Standards and Applications

Version 2 of the OAI-PMH & some other stuff

Metadata Workshop 3 March 2006 Part 1

Introduction to the OAI Protocol for Metadata Harvesting Version 2.0. Hussein Suleman Virginia Tech DLRL 17 June 2002

Publishing Based on Data Provider

Questionnaire for effective exchange of metadata current status of publishing houses

The OAI2LOD Server: Exposing OAI-PMH Metadata as Linked Data

CodeSharing: a simple API for disseminating our TEI encoding. Martin Holmes

Network Information System. NESCent Dryad Subcontract (Year 1) Metacat OAI-PMH Project Plan 25 February Mark Servilla

OAI AND AMF FOR ACADEMIC SELF-DOCUMENTATION

Getting Started with the Digital Commonwealth. Robin L. Dale Director of Digital & Preservation Services LYRASIS

Metadata. Week 4 LBSC 671 Creating Information Infrastructures

Profile of the SBN Z39.50 server

Research Data Repository Interoperability Primer

BIBLID (2004) 93:1 pp (2004.6) 209. NBINet NBINet 92

Harvesting Metadata Using OAI-PMH

MuseKnowledge Hybrid Search

INTRO INTO WORKING WITH MINT

A Comparative Study of the Search and Retrieval Features of OAI Harvesting Services

Metadata: The Theory Behind the Practice

Building Consensus: An Overview of Metadata Standards Development

From Open Data to Data- Intensive Science through CERIF

ISO INTERNATIONAL STANDARD. Geographic information Filter encoding. Information géographique Codage de filtres. First edition

Repository Interoperability

Flexible Design for Simple Digital Library Tools and Services

Digitisation Standards

Alphabet Soup: Choosing Among DC, QDC, MARC, MARCXML, and MODS. Jenn Riley IU Metadata Librarian DLP Brown Bag Series February 25, 2005

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

Comparing Open Source Digital Library Software

ScienceDirect. Multi-interoperable CRIS repository. Ivanović Dragan a *, Ivanović Lidija b, Dimić Surla Bojana c CRIS

adore: a modular, standards-based Digital Object Repository

oatd.org Discovery for Open Access Theses and Dissertations An ASERL Webinar, October 15, 2013 These slides:

Appendix REPOX User Manual

Reducing Consumer Uncertainty

The Observation of Bahasa Indonesia Official Computer Terms Implementation in Scientific Publication

How to contribute information to AGRIS

Harvesting Statistical Metadata from an Online Repository for Data Analysis and Visualization

Resource Description and Access Setting a new standard. Deirdre Kiorgaard

METALIS, an OAI Service Provider

The Dublin Core Metadata Element Set

SobekCM METS Editor Application Guide for Version 1.0.1

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Metadata Overview: digital repositories

Linked data for manuscripts in the Semantic Web

Contribution of OCLC, LC and IFLA

Building for the Future

Digital Library Curriculum Development Module 5-d: Protocols (Last Updated: )

Building a Digital Library Software

Metadata Standards and Applications. 4. Metadata Syntaxes and Containers

Metadata Catalogue Issues. Daan Broeder Max-Planck Institute for Psycholinguistics

Transcription:

Corso di Biblioteche Digitali Vittore Casarosa casarosa@isti.cnr.it tel. 050-315 3115 cell. 348-397 2168 Ricevimento dopo la lezione o per appuntamento Valutazione finale 70-75% esame orale 25-30% progetto (una piccola biblioteca digitale) Reference material: Ian Witten, David Bainbridge, David Nichols, How to build a Digital Library, Morgan Kaufmann, 2010, ISBN 978-0-12-374857-7 (Second edition) The Web http://nmis.isti.cnr.it/casarosa/bdg/ UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 1

Modules Computer Fundamentals and Networking A conceptual model for Digital Libraries Bibliographic records and metadata Information Retrieval and Search Engines Knowledge representation Digital Libraries and the Web Hands-on laboratory: the Greenstone system UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 2

Description of content In the libraries: bibliographic records Classification and cataloguing MARC standard In the Web: metadata Resources and metadata The Dublin Core metadata schema UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 3

Exchange of information Interoperability and the exchange of information The Z39.50 protocol protocol defined to support the exchange of bibliographic data (basically MARC records) between libraries SRU/SRW queries language defined to support Z39.50 queries carried over HTTP The OAI-PMH protocol protocol defined to support the exchange of metadata (Dublin Core and others) UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 4

Z39.50 "Information Retrieval (Z39.50); Application Service Definition and Protocol Specification, ANSI/NISO Z39.50-1995" Developed by NISO (National Information Standards Organization), the standards development organization serving libraries, publishing and information services NISO was (is) the Z39 Committee of ANSI (American National Standards Institute), and Z39.50 was the 50th standard defined by NISO Current version (Version 3) was adopted in 1995, superceding earlier versions adopted in 1992 and 1988 (1984 version was rejected) Another revision, initiated in 2001, is still work in progress Z39.50 was heavily influenced by OSI, and was an application layer protocol that needed a full-duplex reliable OSI connection In Version 3 it runs over TCP/IP It is a wide ranging protocol for information retrieval between a client and a database server, which attempts to standardize shared semantic knowledge UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 5

Z39.50 architectural model (1/2) A server houses one or more databases containing records. Associated with each database are a set of access points (indexes) that can be used for searching Z39.50 includes a set of registries that provide information about the structure and attributes of the data bases (query syntax, attribute fields, content retrieval format, etc.) A search (sent from the client/origin to the server/target) produces a set of records, called a "result set", that are maintained on the server The client has also functions for search management (e.g. request progress reports for an active search, authorize the server to continue a resource intensive search, abort an active search) UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 6

Z39.50 architectural model (2/2) Records from the result set can be retrieved by the client, which has many options for controlling the contents and format of the records that are returned (e.g. sorting a result set, selecting a subset of the result set, using the result set for a new search) The client has available also a general mechanism called "extended services" to invoke services on the server, which can survive past the end of the session (e.g. saving result sets across sessions, queuing result sets for print or electronic mail processing at the server, registering queries that would be executed periodically on the server) UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 7

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 8

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 9

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 10

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 11

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 12

Z39.50 functionality UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 13

Initialization facility Init service: establishes Z-association Origin Init request Version, (id/password), option flags, message sizes, implementation information Target Init response Result, version, option flags, message sizes, implementation information UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 14

Search facility Search service Origin Search request Search type, query, databases, result set limits for small, medium, large Target Search response Number of records found, number of records attached, status information, (records) UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 15

Retrieval facility Present service Origin Present request Number of records, starting point, result set Target Present response Number of returned records, status, (records) Segment service Allows a Present response that is larger than max size to be split in segments UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 16

Sort facility Sort service Origin Sort request result set to sort, sorted result set, sort directives Target Sort response status UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 17

Browse facility Scan service Origin Scan request database, term list, starting point, number of terms, (step size) Target Scan response status number of elements (elements) UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 18

Delete service Result-set-delete facility Origin Delete request list of result sets to delete Target Delete response status UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 19

Access-control service Access control facility Origin Request Target Access control response Security-challenge Access control request Security-challenge-response Response UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 20

Accounting/Resource control facility Resource-control service Trigger-resource-control service Resource-report service Complex functionality to control and report resource usage Mostly used for fee based operation UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 21

Termination facility Close service Terminates a Z-association UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 22

Explain facility Explain service Gives access to information about the Z39.50 target Databases Access points Query languages Element sets... This information is maintained by the server in a specific data base, and therefore can be accessed using the Search and Retrieve facilities of Z39.50 The idea is that a (smart) client, when accessing a (unknown) data base, could be able to find its access points, its element sets and other info by querying the Explain data base UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 23

Extended Service facility Extended Services service Persistent Result Set Extended Service Persistent Query Extended Service Periodic Query Schedule Extended Service Item Order Extended Service Database Update Extended Service Export Specification Extended Service Task package Used to create, modify or delete an Extended Service Request UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 24

Z39.50 queries Query types Type-0: proprietary between 2 parties Type-1: RPN (Reverse Polish Notation) Type-2: ISO 8777 Type-100: Z39.58 Type-101: Extended RPN (v 2) Type 102: Ranked List query UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 25

Type-1 Query Reverse Polish Notation Consists of One or more operands linked (RPN style) with Boolean operators (AND, OR, AND_NOT) Every operand is a search expression consisting of 7 parts Example of query (operand)(operand)operator ( Mark Twain, 1:1003, 2:3, 3:1, 4:1, 5:100, 6:1) ( Clemence, Samuel, 1:1003, 2:3, 3:3, 4:101, 5:100, 6:2) AND_NOT RPN (3 + 5) * (7 2) 3 5 + 7 2 * + 5 3-2 7 8 * 5 8 40 UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 26

Operands in Type-1 queries 0. Term What you are looking for 1.Use Attributes Which abstract access point to use (e.g. title, author) 2.Relation Attributes Relation between the term and the data in the access point (e.g. less than, equals, phonetic equals) 3.Position Attributes Where in the access point should the term be? (e.g. first in field, first in subfield) 4.Structure Attributes How is the query term to be treated? (e.g. as phrase, as words, as date, as normalised name) 5.Truncation Attributes Should truncation be applied on the match? (e.g. left truncation, right and left truncation, no truncation) 6.Completeness Attributes What is the term to be matched against? (e.g. part of subfield, whole subfield, whole field) UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 27

Type 2 Query ISO 8777 CCL Common Command Language UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 28

From Z39.50 to SRW/U Need for a generic Information Retrieval capability more suited to the Web Architecture Motivation to create an easy to implement protocol with (more or less) the power of Z39.50 Use existing off the shelf solutions where possible Re-evaluate Z39.50, a good idea at the time Avoid library-centric perspective Solution: SRU Search/Retrieve via URL SRW Search/Retrieve via Web Service UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 29

Simple SRU query http://sru.miketaylor.org.uk/sru.pl? version=1.1& operation=searchretrieve& query=dinosaur& startrecord=1& maximumrecords=1& recordschema=dc UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 30

SRU response in XML (1/2) <?xml version="1.0"?> <zs:searchretrieveresponse xmlns:zs='http://www.loc.gov/zing/srw/'> <zs:version>1.1</zs:version> <zs:numberofrecords>29</zs:numberofrecords> <zs:records>... details in a moment... </zs:records> </zs:searchretrieveresponse> UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 31

SRU response in XML (2/2) <zs:record> <zs:recordschema>info:srw/schema/1/dc-v1.1</zs:recordschema> <zs:recordpacking>xml</zs:recordpacking> <zs:recordposition>1</zs:recordposition> <zs:recorddata> <srw_dc:dc xmlns:srw_dc="info:srw/schema/1/dc-schema" xmlns="http://purl.org/dc/elements/1.1/"> <title>fossils</title> <creator>lappi, Megan.</creator> <type>text</type> <publisher>new York, NY: Weigl Publishers</publisher> <date>2005</date> <language>en</language> <description>studying fossils -- Fossil facts -- Gone forever -- A fossil is born -- From bone to stone -- Insects in amber -- Dinosaur footprints</description> <identifier> http://www.loc.gov/catdir/toc/ecip0415/2004004136.html </identifier> <identifier>urn:isbn:1590362136</identifier> </srw_dc:dc> </zs:recorddata> </zs:record> UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 32

Contextual Query Language CQL (formerly known as Common Query Language) is the query language used in SRU The conceptual model of CQL is the same as Type 1 in Z39.50 The server has one or more databases, containing records The databases can be searched through access points, or indexes The language defines a number of defaults to make simple queries really simple At the same time it defines a number of Indexes, Relations, Relation Modifiers, Booleans and Boolean Modifiers to increase the expressing power of the language UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 33

CQL search clause subject any/relevant "fish frog" index relation Relation modifier Search term Subject to context qualification UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 34

Learning curves for query languages Effort to learn SQL Google CQL Expressive Power UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 35

CQL queries CQL query It consists of either a single search clause or multiple search clauses connected by boolean operators Search Clause It consists of either an index, relation and a search term or a search term Search Term Search terms MUST be enclosed in double quotes if they contain any of the following characters: < > = / ( ) and whitespace Indexes Indexes indicate what part of the records is to be searched (aka field, access point, metadata element, etc) Relations In addition to the usual ones (=, <, <=, etc,) include also any, all, exact A relation can be modified by a relation modifier, which can be one of the following: stem, relevant, fuzzy, phonetic Boolean Operators Boolean operators are: and, or, not and prox; they all have the same precedence and are evaluated left-to-right The proximity operator can be modified according to four parameters: relation (referred to distance), distance (number of units), unit (word, sentence, paragraph, elements), ordering (ordered or unordered) Indexes, relations and modifiers can be prefixed with the name of a context set (e.g. dc.title) UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 36

CQL examples dinosaur title=dinosaur title=(dinosaur or pterosaur) and author=martill dc.title=*saur and dc.author=martill heraldry.title=viscount title exact "the complete dinosaur" and date < 2000 telephonenumber exact/fuzzy "0208 346 6797" name=/phonetic "smith" fish prox/distance<3/unit=sentence frog dc.author=(kern* or ritchie) and (bath.title exact "the c programming language" or dc.title=elements prox///4 dc.title=programming) and subject any/relevant "style design analysis" UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 37

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 38

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 39

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 40

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 41

UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 42

OAI Open Archives Initiative The roots of OAI lie in the development of eprint archives (i.e. Institutional Repositories) such as arxiv, CogPrints, NACA (NASA), RePEc, NDLTD, NCSTRL, etc. Each repository offered a web interface for deposit of articles and for end-user searches It was difficult for end-users to work across archives without having to learn multiple different interfaces Initial experiments for single search interface to all archives Universal Pre-print Service (UPS) renamed OAI at the Santa Fe Convention (1999) UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 43

Z39.50 and OAI It is interesting to compare OAI and Z39.50, two protocols for resource discovery Historical separation from Z39.50 OAI appears about 15 years after Z39.50 Cultural separation from Z39.50 Z39.50 originated in the traditional library community OAI originated in the Web Community Conceptual separation from Z39.50 Z39.50 based on solid (but heavy and bulky) foundations OAI based on simple and pragmatic ideas UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 44

Searching versus Harvesting Two possible approaches for single search interface to all archives cross searching multiple archives based on protocol like Z39.50 (possibly lighter) harvesting metadata into one or more central services Problems with cross searching (query replication) Not scalable (overall performance determined by slowest server) Problems of deciding which servers to target (collection descritpions not consistent) Differences in interfaces and query languages Problems in the ranked merging of results (different types and size of targets can skew results) Browse interface very difficult to build Decision was to go with harvesting UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 45

OAI PMH overview Data providers (metadata) Harvesting based on OAI-PMH Aggregator Searching based on Z39.50 or SRW Service providers UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 46

OAI - PMH OAI Protocol for Metadata Harvesting Data Providers make metadata available for harvesting Service Providers harvest metadata Data Providers Are creators and keepers of the metadata for objects (repositories) and (possibly but not necessarily) archives of resources Handle deposit and publishing Service Providers Are harvesters of metadata for the purpose of providing a service such as a search interface, peer-review system, etc. UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 47

Conceptual model of OAI data resource item = identifier all available metadata about David item Dublin Core metadata MARC metadata SPECTRUM metadata records UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 48

OAI PMH records A record contains the metadata of a resource in a specific format It has three parts header (mandatory) identifier datestamp metadata (mandatory) XML encoded metadata with root tag, namespace repositories MUST support Dublin Core MAY support other formats about (optional) rights statements provenance statements UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 49

OAI-PMH Protocol Overview Protocol based on HTTP Request arguments as GET or POST parameters Six request types (verbs) Responses are encoded in XML syntax Supports any metadata format (Dublin Core mandatory for each data provider) Support selective harvesting logical set hierarchy (data providers) date stamps (last change of metadata set) Flow control (token to retrieve subsequent records) Error messages UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 50

OAI PMH verbs Identify description of an archive ListMetadataFormats retrieve available metadata formats from archive ListSets retrieve set structure of a repository ListIdentifiers abbreviated form of ListRecords, retrieving only headers ListRecords harvest records from a repository GetRecord retrieve individual metadata record from a repository UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 51

Overview of OAI - PMH UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 52

OAI PMH request Requests must be submitted using the GET or POST methods of HTTP Repositories must support both methods At least one key=value pair: verb=[requesttype] Additional key=value pairs depend on request type Example for GET request http://archive.org/oai? verb=listrecords& metadataprefix=oai_dc UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 53

OAI PMH response Formatted as HTTP responses Content type must be text/xml HTTP compression optional in OAI-PMH XML declaration (<?xml version="1.0" encoding="utf-8"?>) Root element named OAI-PMH with three attributes (xmlns, xmlns:xsi, xsi:schemalocation) Three child elements ResponseDate (UTC datetime) Request (copy of the request that generated the response) a) error (in case of an error or exception condition) b) element with the name of the OAI-PMH request UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 54

OAI PMH example http://edoc.hu-berlin.de/oai-2.0? verb=listidentifiers& from=2002-01-06& until=2002-01-08& metadataprefix=oai_dc& set=doctypes:dissertations ListIdentifiers returns the record headers UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 55

Response to ListIdentifiers (1/2) <?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>2002-10-22t17:49:49+01:00</responsedate> <request verb="listidentifiers" from="2002-01-03" until="2002-01-08" metadataprefix="oai_dc" set="doctypes:dissertations"> http://edoc.hu-berlin.de/oai-2.0</request> <ListIdentifiers>... details in a moment </ListIdentifiers> </OAI-PMH> UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 56

Response to ListIdentifiers (2/2) <ListIdentifiers> <header> <identifier>oai:huberlin.de:3000819</identifier> <datestamp>2002-01-08</datestamp> <setspec>doctypes</setspec> <setspec>doctypes:dissertations</setspec> <setspec>dnb</setspec> <setspec>dnb:dnb33</setspec> </header> <header> <identifier>oai:huberlin.de:3000831</identifier> <datestamp>2002-01-07</datestamp> <setspec>doctypes</setspec> <setspec>doctypes:dissertations</setspec> <setspec>dnb</setspec> <setspec>dnb:dnb27</setspec> </header> </ListIdentifiers> UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 57

What we have seen Digital Libraries Discovery of information Describing Information Metadata MARC Dublin Core MODS METS TEI EAD... Knowledge Representation FRBR RDF Interoperability Queries Z39.50 queries Common Command Language (CCL ISO 8777 or Z39.58) Protocols Z39.50 SRU/SRW OAI-PMH UNIPI BDG 2018-19 Vittore Casarosa Biblioteche Digitali Z39.50/OAI-PMH - 58