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:
| verb | risponde |
|---|---|
| Identify | chi è il repository: nome, URL di base, amministratore, data più antica, granularità delle date, come tratta le cancellazioni |
| ListMetadataFormats | in quali formati sono disponibili i record |
| ListSets | gli insiemi: sottoinsiemi con nome che un harvester può chiedere |
| ListIdentifiers | le intestazioni dei record: identificativo, data, insiemi |
| ListRecords | i record stessi, intestazione e metadati |
| GetRecord | un record, per identificativo |
Per esempio:
- 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