Table of Contents

Notas sobre la implementación del control de autoridades en Catalis

Ideas surgidas en Tandil, agosto de 2005, entre Rubén Mansilla, Ricardo Piriz y Fernando Gómez.

Archivos auxiliares (versión original)

SVN

Usando Tabla de relaciones

Problemas:

001      00123
020      0193373955
100 ##   ‡9 1 [Machaut]
240 10   ‡a Messe de Nostre Dame
245 13   ‡a La messe de Nostre Dame. ‡c Edited by Denis Stevens ; traducido por J. L. Borges
260      ‡a London, ‡b Oxford University Press ‡c [1973]
300      ‡a 1 score (32 p.) ‡c 26 cm.
500      ‡a "The instrumental participation is limited to violins, violas, cellos, and trombones, but it would ... be possible to make use of viols instead of modern stringed instruments."
500      ‡a Duration: 27 min.
650 0    ‡a Masses ‡x Scores.
700 ##   ‡9 1        [Borges]
700 ##   ‡9 2
700 ##   ‡9 3
710 ##   ‡9 1
  700 1#   ‡a Borges, Jorge Luis, ‡d 1899- ‡4 trl $4 aui

Tabla de relaciones:

B00123 | 700 | 1 | A327 | | # | ^4trl^4aui (subcampos propios de la relación: $4, $e, $5, $u?)

como dice doña Linda Barnhart

001      00123
020      0193373955
100 ##   ‡9 1 [Machaut]
240 10   ‡a Messe de Nostre Dame
245 13   ‡a La messe de Nostre Dame / ‡c edited by Denis Stevens ; traducido por J. L. Borges
260      ‡a London : ‡b Oxford University Press, ‡c [1973]
300      ‡a 1 score (32 p.) ; ‡c 26 cm.
500      ‡a "The instrumental participation is limited to violins, violas, cellos, and trombones, but it would ... be possible to make use of viols instead of modern stringed instruments."
500      ‡a Duration: 27 min.
650 0    ‡a Masses ‡x Scores.
700 1#   ‡4 trl ‡9 A327
700 1#   ‡9 A621
700 12   ‡9 A946
710 ##   ‡9 A255

La base de autoridades contiene dos tipos de registros: activos e inactivos. Los inactivos son registros que contienen una forma obsoleta de un nombre, y por lo tanto apuntan hacia el registro activo que contiene la correspondiente forma autorizada. Los registros inactivos surgen como resultado de operaciones de fusión de registros de autoridad que representan a una misma entidad (sinónimos). Los registros inactivos se preservan debido a que existen registros bibliográficos con enlaces hacia ellos. Estas referencias obsoletas desde la base bibliográfica se pueden eliminar mediante rutinas de mantenimiento (ejecutadas fuera del horario de producción), que eliminen también los registros inactivos de la base de autoridades.

La distinción entre activos e inactivos se realiza a través de un campo local, cuyo valor es: cero para los activos, y un valor positivo (el ID del registro apuntado) en el caso de los inactivos.

No puede realizarse una operación de fusión hacia un registro inactivo. Ejemplo:

Instante t:

A <- B   C <- D

Instante t + i: Se desea establecer una referencia desde C hacia B. Como B está inactivo, la operación es abortada - El hecho de descartar la operación podría implementarse haciendo que la aplicación que permite trabajar sobre la base de autoridades no muestre los registros inactivos.

Cuando se intenta realizar una fusión, si el RA que pasa a quedar inactivo está referenciado desde algún otro RA inactivo, se debe también modificar los punteros de todos dichos registros inactivos, para evitar la formación de cadenas de longitud mayor que 1. Ejemplo:

Instante t:

A <- B   C <- D

Instante t + i: Se desea establecer una referencia desde C hacia A. Se detecta la referencia D→C, entonces

(i) Debe actualizarse la referencia D→C por D→A

A <- B   C     D
 <-------------+

(ii) Puede realizarse la referencia desde C hacia A

 <-------+
A <- B   C     D
 <-------------+

En general, una operación de fusión(origen, destino) debería llevarse a cabo de la siguiente manera:

fusion(origen, destino){
  si inactivo(destino), entonces abortar la operación
  sino{
    lista_inactivos = referencias_a(origen);
    for_each(registro_inactivo in lista_inactivos) {
      registro_inactivo.target = destino;
    }
    origen.target = destino;
  }
}

En el ejemplo:

fusion(C, A)
  origen  = C
  destino = A

  como A es activo:
    lista_inactivos = <D> // quiénes referencian a C
    --> D.target = A

    C.target = A
fin_fusion

Componentes de un módulo de control de autoridades para Catalis

(Agosto 2007)

Tareas

RB: registro bibliográfico RA: registro de autoridad

generación inicial de registros de autoridad a partir de una base bibliográfica

  1. script auto.bat + archivos auxiliares

operaciones sobre registros bibliográficos

  1. vincular un campo controlado de un RB con un RA
  2. resolver los vínculos para poder mostrar el RB en la forma usual
  3. realizar ABM de campos controlados desde la interfaz de edición de RB
  4. validar campos controlados en un RB importado

operaciones sobre registros de autoridad

  1. crear un RA a partir de un encabezamiento en un registro bibliográfico
  2. crear un RA usando una plantilla en la base AUTO
  3. importar un RA en la base AUTO
  4. editar un RA
  5. eliminar un RA
  6. hacer búsquedas en la base AUTO

tareas de mantenimiento