La Iniciativa de Archivos Abiertos (OAI) | Arriba |
Recapitulación de las principales ideas sobre la OAI
Funcionamiento básico de OAI-PMH
OAI: supuestos generales | Arriba |
Hay dos grupos de actores: los Proveedores de Datos y los Proveedores de Servicios.
Los Proveedores de Datos (archivos abiertos, repositorios) proporcionan libre acceso a los metadatos y, aunque no necesariamente, pueden ofrecer acceso gratuito al texto completo u otros recursos. OAI-PMH proporciona una solución de bajo nivel para Proveedores de Datos, fácil de poner en marcha.
Los Proveedores de Servicios emplean los interfaces OAI de los Proveedores de Datos para recolectar y almacenar sus metadatos. Tenga en cuenta que esto significa que no haya peticiones de búsqueda en directo a los Proveedores de Datos, sino que los servicios se basan en los datos recolectados a través de OAI-PMH. Los Proveedores de Servicios pueden seleccionar ciertos subconjuntos de los Proveedores de Datos (por ejemplo, por jerarquías de sets o por fecha). Los Proveedores de Servicios ofrecen servicios (de valor añadido) sobre la base de los metadatos recolectados, y pueden enriquecer los metadatos recolectados con ese fin.
OAI-PMH: introducción y modelo estructural | Arriba |
El protocolo OAI-PMH se basa en HTTP. Los argumentos de la petición se suministran como parámetros GET
o POST. OAI-PMH soporta seis tipos de petición (llamadas "verbos"), p. ej.,
http://archive.org?verb=ListRecords&from=2002-11-01.
Las respuestas están codificadas en sintaxis XML. OAI-PMH soporta cualquier formato de metadatos codificados en XML. Dublin Core es el formato mínimo especificado para una interoperabilidad básica.
Los mensajes de error se basan en HTTP.
Los Proveedores de Datos puede definir una jerarquía lógica de sets para dar soporte a niveles de granularidad para la recolección de los Proveedores de Servicios. La fechas indican el último cambio en los metadatos del set y por tanto, proporcionar más soporte a la granularidad de la recolección.
OAI-PMH da soporte al control de flujo.
Siete definiciones importantes | Arriba |
Recolector:
aplicación cliente que suministra las peticiones OAI-PMH
Repositorio:
servidor en red, capaz de procesar correctamente las peticiones OAI-PMH
Recurso:
objeto al que se refiere los metadatos, la naturaleza de los recursos no se define en el OAI-PMH, los recursos pueden ser digitales o no
Ítem:
componente de un repositorio del que se puede difundir los metadatos sobre un recurso;
tiene un identificador único
Registro:
metadatos en un formato concreto
Identificador:
clave única de un ítem en un repositorio
Set:
construcción opcional para agrupar los ítems de un repositorio
Contenido del protocolo | Arriba |
Un registro es el conjunto de los metadatos de un recurso en un formato concreto. Un registro consta de tres partes: cabecera y metadatos, ambos obligatorias, y una declaración opcional "acerca de". Cada uno de ellos estos se compone de varios elementos que figuran a continuación.
cabecera (obligatorio)
identificador (obligatorio: 1 solamente)
fecha (obligatorio: 1 solamente)
elementos setSpec (opcional: 0, 1 o
más)
atributo de estado para el borrado del ítem
metadatos (obligatorio)
metadatos codificados en XML con una etiqueta raíz, el espacio de nombres del repositorio debe soportar Dublin Core, puede soportar otros formatos
acerca de (opcional)
declaraciones de derechos
declaraciones de procedencia
Se refiere a la fecha de la última modificación de un registro de metadatos. La fecha es una característica obligatoria de cada ítem. Dispone de dos posibles niveles de granularidad:
YYYY-MM-DD o YYYY-MM-DDThh:mm:ssZ.
La función de la fecha es proporcionar una información de los metadatos que permitan una recolección selectiva empleando los argumentos from y until. Se aplica para disponer de un mecanismo de actualización incremental. Proporciona la fecha de creación, última modificación, o eliminación. La eliminación está cubierta con tres niveles de soporte: ninguno, persistente, transitorio.
OAI-PMH da soporte a la difusión de múltiples formatos de metadatos de un repositorio. Las propiedades de los formatos de metadatos son:
– identificador para especificar el formato (metadataPrefix)
– URL del esquema de metadatos (esquema XML para probar su validez)
– URI del espacio de nombres XML (identificador global para el formato de metadatos)
Los repositorios deben ser capaces de difundir al menos Dublin Core sin cualificar. Se pueden definir y transportar a través de OAI-PMH cualquier otro formato de metadatos. Cualesquiera de los metadatos devueltos debe cumplir con la especificación de un espacio de nombres XML. El Conjunto de Elementos de Metadatos Dublin Core contiene 15 elementos. Todos los elementos son opcionales, y todos los elementos pueden repetirse.
Conjunto de Elementos de Metadatos Dublin Core:
Title | Contributor | Source |
Creator | Date | Language |
Subject | Type | Relation |
Description | Format | Coverage |
Publisher | Identifier | Rights |
Los Sets permiten una partición lógica de los repositorios. Son opcionales, no es necesario definir Sets. No hay recomendaciones para la aplicación de los Sets. Los Sets no tienen necesariamente que completar todo el contenido del repositorio. No es necesario que sean estrictamente jerárquicos. Es importante y necesario contar con los acuerdos negociados dentro de las comunidades definiendo Sets útiles para las mismas.
Las peticiones deben ser suministradas empleando los métodos GET o POST de HTTP, y los repositorios deben soportar ambos métodos. Deben proporcionar al menos un par clave=valor: verb=RequestType (donde RequestType es algún tipo de petición como ListRecords). Los pares clave=valor adicionales dependen del tipo de petición.
ejemplo de una petición GET: http://archive.org/oai?verb=ListRecords&metadataPrefix=oai_dc
Deben soportar la codificación de caracteres especiales; por ejemplo, ":" (separador de puerto de servidor) se convierte en "%3A"
Las respuestas se formatean como respuestas HTTP. El tipo de contenido debe ser text/xml. Se puede devolver los códigos de estado basados en HTTP, a diferencia de los errores OAI-PMH, tal como 302 (redirigir) y 503 (servicio no disponible). Los códigos de compresión son opcionales en OAI-PMH, sólo la codificación de identidad es obligatoria. El formato de respuesta debe ser XML bien formado con las siguientes marcas:
De todos los tipos de petición, cuatro devuelve una lista de entradas. Tres de ellas pueden responder con listas "largas".
OAI-PMH soporta el particionado. Los gestores de un repositorio toman las decisiones sobre particiones: si hacer particiones y cómo hacerlas.
La respuesta a una petición incluye:
lista incompleta
señal de reanudación+ Fecha de expiración,
tamaño de la lista completa,
cursor (opcional)
Para una nueva petición con el mismo tipo de petición:
señal de reanudación como parámetro
¡todos los demás parámetros se omiten!
La respuesta incluye la siguiente parte de la lista (que puede ser la última) y la señal de reanudación. Esa señal de reanudación está vacía si incluyese la última parte de la lista.
Los repositorios deben indicar los errores OAI-PMH incluyendo uno o más elementos error. Los identificadores de error definidos son:
badArgument
badResumptionToken
badVerb
cannotDisseminateFormat
idDoesNotExist
noRecordsMatch
noMetaDataFormats
noSetHierarch
Tipo de petición | Arriba |
Hay seis tipos diferentes de petición:
Identify
ListMetadataFormats
ListSets
ListIdentifiers
ListRecords
GetRecord
Un recolector no está obligado a utilizar todos los tipos. Sin embargo, un repositorio debe implementar todos los tipos. Hay argumentos obligatorios y opcionales, dependiendo del tipo de petición. Ahora describiremos cada uno de los tipos de petición.
función
la descripción de un archivo
ejemplo
archive.org/oai-script?verb=Identify
parámetros
ninguno
errores / excepciones
badArgument (p. ej., archive.org/oai-script?verb=Identify&set=biology)
formato de respuesta
Elemento | Ejemplo | Ordinalidad |
repositoryName | Mi Archivo | 1 |
baseURL | http://archive.org/oai | 1 |
protocolVersion | 2.0 | 1 |
earliestDatestamp | 1999-01-01 | 1 |
deleteRecords | no, transient, persistent | 1 |
granularity | YYY-MM-DD, YYYY-MM-DDThh:mm:ssZ | 1 |
adminEmail | oai-admin@archive.org | + |
compression | deflate, compress | * |
description | oai-identifier, eprints, friends, | * |
Ordinalidad: 1 = obligatorio, solo 1; + = obligatorio, solo 1; * = opcional, 0 o más
función
recuperar los formatos de metadatos disponibles del archivo
ejemplo
archive.org/oai-script?verb=ListMetadataFormats&
identifier=oai:HUBerlin.de:3000218
parámetros
identifier (opcional)
errores / excepciones
badArgument
idDoesNotExist
e.g. archive.org/oai-script?verb=ListMetadataFormats
&identifier=really-wrong-identifier
noMetadataFormats
función
recuperar la estructura de sets de un repositorio
ejemplo
archive.org/oai-script?verb=ListSets
parámetros
resumptionToken (exclusivo)
errores / excepciones
badArgument
badResumptionToken
e.g. archive.org/oai-script?verb=ListSets
&resumptionToken=any-wrong-token
noSetHierarchy
función
forma abreviada de ListRecords, recuperando solo las cabeceras
ejemplo
archive.org/oai-script?verb=ListIdentifiers&
metadataPrefix=oai_dc&from=2002-12-01
parámetros
from (opcional)
until (opcional)
metadataPrefix (obligatorio)
set (opcional)
resumptionToken
(exclusivo)
errores / excepciones
badArgument (e.g. ?&from=2002-12-01-13:45:00)
badResumptionToken
cannotDisseminateFormat
noRecordsMatch
noSetHierarchy
función
recolectar registros de un repositorio
ejemplo
archive.org/oai-script?verb=ListRecords&
metadataPrefix=oai_dc&set=biology
parámetros
from (opcional)
until (opcional)
metadataPrefix (obligatorio)
set (opcional)
resumptionToken
(exclusivo)
errores / excepciones
badArgument
badResumptionToken
cannotDisseminateFormat
noRecordsMatch
noSetHierarchy
función
recuperar los metadatos de un registro individual del repositorio
ejemplo
archive.org/oai-script?verb=GetRecord&
identifier=oai:HUBerlin.de:3000218&
metadataPrefix=oai_dc
parámetros
identifier (obligatorio)
metadataPrefix (obligatorio)
errores / excepciones
badArgument
cannotDisseminateFormat
idDoesNotExist
ejemplo 1: respuesta a una petición ListIdentifiers | Arriba |
Este ejemplo muestra la respuesta a una petición ListIdentifiers que especifica un rango de fechas, un formato de metadatos, un set y un Proveedor de Datos.
ejemplo 2: respuesta a una petición GetRecord | Arriba |
Este ejemplo muestra una respuesta a una petición GetRecord de un registro individual especificado por su identificador.
Fuentes de información adicional | Arriba |
-- Sitios web y listas de correo electrónico --
Open Archives Initiative (OAI)
sitio oficial
http://www.openarchives.org/
OAI-PMH protocol specification
http://www.openarchives.org/OAI/openarchivesprotocol.htmlOAI general mailing list
http://www.openarchives.org/mailman/listinfo/OAI-general/
OA-Forum expert reports and reviews
of organisational and technical issues
http://www.oaforum.org/documents/
Dublin Core
http://dublincore.org/
Copyright © 2003 University of Bath. All rights reserved. Last modified: 14 Oct 2003 16:36
Authored in CALnet |
Traducción española de: Domingo Arroyo. Ministerio de Cultura, Dirección General de Libro Archivos y Bibliotecas. |