OAI-PMH

L'Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) è il protocollo con cui un repository permette ad altri servizi di raccogliere automaticamente i suoi metadati. Un data provider — un repository, un CRIS, una biblioteca digitale — espone i propri record a un unico URL di base; i service provider — aggregatori, motori di ricerca, infrastrutture nazionali ed europee — li raccolgono periodicamente e ci costruiscono sopra dei servizi. La versione 2.0, quella attuale, è del 2002 ed è specificata su openarchives.org.

Come funziona

Un harvester invia semplici richieste HTTP all'URL di base, con la domanda nella query string, e riceve XML. Ci sono sei verbi:

verbrisponde
Identifychi è il repository: nome, URL di base, amministratore, data più antica, granularità delle date, come tratta le cancellazioni
ListMetadataFormatsin quali formati sono disponibili i record
ListSetsgli insiemi: sottoinsiemi con nome che un harvester può chiedere
ListIdentifiersle intestazioni dei record: identificativo, data, insiemi
ListRecordsi record stessi, intestazione e metadati
GetRecordun record, per identificativo

Per esempio:

<base URL>?verb=ListRecords&metadataPrefix=oai_dc&from=2026-10-01&set=article
  • Raccolta incrementale. Ogni record ha un datestamp, la sua ultima modifica. Dopo una prima raccolta completa, un servizio chiede solo ciò che è cambiato dall'ultima visita, con from e until.
  • Controllo di flusso. Un elenco lungo arriva a pagine. Ogni pagina termina con un resumption token, che l'harvester rimanda per ricevere la successiva, finché un token vuoto chiude l'elenco.
  • Formati. Ogni repository deve offrire il Dublin Core (oai_dc): quindici elementi semplici — title, creator, contributor, date, type, identifier, source, relation, publisher, description, subject, rights, language, format, coverage. Si possono offrire accanto formati più ricchi, come MARC, MODS, DataCite, CERIF-XML o oai_openaire di OpenAIRE.
  • Identificativi. I record hanno identificativi persistenti della forma oai:<repository>:<id locale>.
  • Gli errori sono anch'essi risposte XML, con codici standard: badVerb, badArgument, badResumptionToken, cannotDisseminateFormat, idDoesNotExist, noRecordsMatch, noSetHierarchy, noMetadataFormats.

Chi raccoglie

  • BASE, il Bielefeld Academic Search Engine: centinaia di milioni di documenti da oltre diecimila fonti. Indicizza anche record di soli metadati.
  • OpenAIRE, l'infrastruttura europea per la scienza aperta, che costruisce l'OpenAIRE Graph. Richiede le proprie linee guida: oai_openaire per i repository di letteratura, CERIF-XML per i sistemi CRIS.
  • CORE, aggregatori nazionali, sistemi di discovery delle biblioteche, Google Scholar (che però scansiona anche direttamente le pagine).

OAI-PMH serve a spostare metadati tra macchine; integra, e non sostituisce, i tag nelle pagine stesse — citation_*, Open Graph, schema.org — che ogni crawler legge pagina per pagina.

Vedi anche