Contenidos | 1 | 2 | 3 | 4 | 5 | 6 | Anterior | Siguiente                


3. Principales conceptos técnicos sobre OAI-PMH

To OA-Forum homepageContenidos de esta parte de OAI para principiantes, tutorial en línea del Open Archives Forum


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

OAI-PMH structure model 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

-- Registros --

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


-- Fechas --

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.


-- Esquema de metadatos --

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

-- Sets --

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.

-- Formulario de petición --

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"


-- Respuesta --

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:

  1. declaración XML
    (<?xml version="1.0" encoding="UTF-8" ?>)
  2. elemento raíz llamado OAI-PMH con tres atributos
    (xmlns, xmlns:xsi, xsi:schemaLocation)
  3. tres elementos hijos
    1. responseDate (tiempo UTC)
    2. request (la petición que generó esta respuesta)
    3. a) error (en el caso de un error o condición de excepción)
      b) elemento con el nombre de la petición OAI-PMH.

 

-- Control de flujo --

flow contol illustration

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.

-- Errores y excepciones --

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.

-- Identify --

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


-- ListMetadataFormats --

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


-- ListSets --

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


-- ListIdentifiers --

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


-- ListRecords --

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


-- GetRecord --

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.html

OAI 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/


Contenidos | 1 | 2 | 3 | 4 | 5 | 6 | Anterior | Siguiente                


Copyright © 2003 University of Bath. All rights reserved.       Last modified: 14 Oct 2003 16:36 Authored in CALnet
Author: Leona Carpenter (co-ordinating author) for OA-Forum and UKOLN

Traducción española de: Domingo Arroyo. Ministerio de Cultura, Dirección General de Libro Archivos y Bibliotecas.