Aprende sobre: Mapeo MARC

[Esta página está actualmente en desarrollo y las instrucciones que se ofrecen puede que no funcionen]

La mayor parte de estas notas están escritas desde la perspectiva del mapeo desde RDA a MARC en vez de desde la perspectiva del mapeo desde MARC a RDA.

Back To Top

Ventana de Mapeo MARC

Ve a las instrucciones Mostrar/Ocultar: Mapeo MARC para obtener información sobre cómo mostrar esta ventana:

Existen en RIMMF dos componentes en el mapeo MARC:

  • El contexto del mapeoThe mapping context
  • La instrucción sobre el mapeo

RIMMF suporta cinco contextos de mapeo para cada elemento:

  • R2M/B (RDA a MARC Bibliográfico)
  • R2M/A (RDA a MARC de Autoridades)
  • Como AAP ['Como Authorized Access Point' (Punto de Acceso Autorizado) o Composite Key (Clave compuesta)]
  • M2R/B (MARC Bibliográfico a RDA)
  • M2R/A (MARC de Autoridades a RDA)

El contexto actual del mapeo siempre aparece subrayado. En el ejemplo de arriba el contexto actual es R2M/B.

La instrucción de mapeo contiene el código (presentado en una tabla legible por humanos) que el programa utilizará para colocar los datos de los elementos RDA en un registro MARC. RIMMF suporta una instrucción de mapeo para cada contexto. De esta forma puede haber probablemente cinco instrucciones diferentes de mapeo para un elemento RDA.

El contexto 'AsAAP' se utiliza en dos situaciones

  1. En primer lugar, este contexto contiene la instrucción de mapeo para los encabezamientos de autoridad cuando se usan en los registros bibliográficos (ejemplo, Creador de una Obra)
  2. En segundo lugar, este contexto contiene la puntuación utilizada durante la auto-composición de un AAP (Punto de Acceso Autorizado) de una entidad o CK

[esta explicación necesita mejorarse]


Los campos disponibles en el formulario de la instrucción del mapeo deberían ser evidentes, con las siguientes excepciones.

Condition (Condición)

La primera columna, la única que no tiene etiqueta, se denomina 'Condition' (Condición).

Si el mapeo de un elemento requiere solo una fila, esta columna está en blanco.

Si el mapeo de un elemento requiere dos filas, la condición será una de las siguientes:

  • and (y)
  • or (o)
  • 2+

es poco probable que 'and' y 'or' se usen en los mapeos RDA2MARC (son más útiles en los mapeos MARC2RDA).

'2+' indica que la primera fila del mapeo se aplica únicamente a la primera occurrencia de un elemento y que la segunda fila debería aplicarse a todas las ocurrencias posteriores de un elemento. Por ejemplo:

El fin de '2+' es hacer posible que RIMMF maneje de forma correcta los elementos que se repiten en un subcampo MARC, a través de un mapeo por defecto (por oposición a la necesidad del usuario de personalizar un mapeo siempre que se repita un elemento).

'2+'

Nota: En el resultado hay más de dos filas en un mapeo, todas las filas posteriores a la primera deben tener el mismo valor 'condition' (condición).

Tag (Etiqueta)

La columna (Etiqueta) debe contener algo de lo siguiente:

  • Una etiqueta de tres dígitos (Nota: No uses las etiquetas 'XX' en los mapeos RDA2MARC)
  • Una de las directrices siguientes: 'no', 'same', 'new', 'bib', 'auth'

La directriz 'no' significa que el elemento no se va a mapear en el contexto actual.

Nota: cuando la directriz 'no' se introduce en la columna Tag (Etiqueta), el resto de las columnas, excepto Punct (Punto), se ignoran. La razón de esta excepción es ofrecernos un lugar para especificar la puntuación que precede a un Elemento RDA cuando se usa como un componente de un AAP (Punto de Acceso Autorizado) 1). En tales casos, la etiqueta MARC tag se resuelve en otras partes (a partir de la instrucción de mapeo del mismo elemento AAP –Punto de Acceso Autorizado).

The directives 'same' and 'new' are valid only with the condition '2+'2); 'same' means that the subsequent occurrence is placed in the same tag; 'new' means that a new tag should be created for the subsequent occurrence. In either case, 'Tag' should be taken from the first row of the mapping.

Por el contrario, las directrices 'bib' y 'auth' son válidas solo en la primera fila de un mapeo. Estas directrices están concebidas para utilizarse únicamente con los identificadores de relación. Su objetivo es decirle a RIMMF si debería o no 'seguir un enlace' a una relación y mapear los datos relevantes desde esa relación de vuelta al registro actual.

Nota: cuando una directriz 'bib' o 'auth' se introduce en la columna Tag (Etiqueta) el resto de las columnas se ignoran.

En el ejemplo anterior vemos la directriz 'bib' utilizada como mapeo RDA2MARC/B para un elemento Expression Manifested (Expresión manifestada): RIMMF seguirá el enlace desde la manifestación a la expresión (qpq00000059) y procesará, a continuación, cualquier elemento de la expresión que contenga instrucciones de mapeo para el contexto R2M/B (como si ellas mismas estuvieran en el registro de manifestación).

Indicators (Indicadores)

Estas columnas deberían contener los valores a colocar en la correspondiente etiqueta MARC. Si no se introduce ningún indicador, el programa los guardará como no definidos (por oposición a en blanco)

Punct (Puntuación)

Esta columna debería contener la puntuación ISBD para el elemento.

Subf (Subcampo)

Esta columna debería contener el subcampo para el elemento en la correspondiente etiqueta MARC. Si la etiqueta MARC indica un campo fijo, esta columna debería contener la posición de los elementos de los datos en el campo (por ejemplo, la Lengua de la Obra podría mapearse a 008 35 y '35' se introduciría como valor de subcampo).

Constant Data (Datos constantes)

Cualquier texto introducido en la columna ConstData column precede al texto del usuario en el registro mapeado, con las siguientes excepciones:

  • Si el texto termina con '$', se elimina '$' y los ConstData se adjuntan al texto del usuario
Esto va al final de mi campo$
  • Si el texto comienza con '$' (para indicar el comienzo de un subcampo), se conserva '$' y los ConstData se adjuntan a cualquier texto que se mapee para el elemento:
$2rdamedia 
  • Para forzar que un subcampo preceda al texto mapeado, ponle el prefijo '^':
^$6880-01
  • Para especificar un literal '$' al final de los ConstData, sálvalo con '\':
\$

Back To Top

Cómo funciona el mapeo

En RIMMF2 tenemos una nueva tabla denominada customProperties, que es un espejo de la tabla por defecto Properties. customProperties contiene valores del usuario para todos los campos personalizables por el usuario. Este nuevo diseño permite al usuario realizar personalizaciones que persistan durante una actualización sin tener que realizar ninguna acción especial ni por el programa ni por el usuario.

Cuando se muestra un registro en RIMMF2, los datos del mapeo para cada elemento se rellenan en el siguiente orden de prioridad:

  1. desde cualquier mapeo para ese elemento especificado explícitamente en el registro, o, si no hay ninguno:
  2. desde cualquier mapeo para ese elemento definido por el usuario por defecto (customProperties), o, si no hay ninguno:
  3. cualquier mapeo que esté presente para ese elemento en la tabla TMQ por defecto (Properties)

Al editar un registro en RIMMF2, si el usuario cambia un mapeo, ese cambio se pasará al registro. Además, si pulsan 'Make default', ese cambio se pasa también a la tabla customProperties.

Cuando se guarda un registro en RIMMF2, el programa trae el valor del mapeo para cada elemento (basado en el contexto actual, por ejemplo, para la manifestación, el contexto es bib; para la obra work, el contexto es auth, etc.) utilizando la jerarquía especificada anteriormente (1, 2, 3).

Si un mapeo importado coincide con el TMQ por defecto (desde la tabla Properties), ningún mapeo supone una salida para ese elemento, pero si el mapeo importado procede de las tablas customProperties (es decir, uno del usuario por defecto), o del propio formulario del mapeo (porque el usuario introdujo un mapeo manualmente), ese mapeo pasa al registro.

Back To Top

Mapeo y ocurrencias

Problema: A veces queremos mapear el Elemento B a la misma Etiqueta/Subcampo como Elemento A, sin crear una nueva ocurrencia Etiqueta/Subcampo, pero con puntuación entre el Elemento A y el Elemento B en el mapeo.

Ejemplo:

Lugar de Publicación: Atlanta
Lugar de Publicación: Chicago
Nombre del Editor: American Library Association
Nombre del Editor: Grossett

Solución: Usar la condición de mapeo '2+' para crear un mapeo alternativo para el 264 $a repetido (y hacer lo mismo con el $b):

    264\.1\a\/\\
2+ same\.1\a\;\\

El uso de 'same' en la columna Tag (Etiqueta) establece que una segunda (o más grande) ocurrencia de 264 .1 a va en la misma Etiqueta/Subcampo que el elemento precedente, pero sin la puntuación ';'. El resultado es:

264  1 $aChicago ;$aAtlanta :$bAmerican Library Association ...

Nota: Si no queremos repetir el subcampo, sino simplemente insertar la puntuación, entonces omitimos el subcampo desde el mapeo 'same'. Por ejemplo:

Mención de Responsabilidad Relacionada con el Título Propiamente Dicho: Deborah A. Fritz
Mención de Responsabilidad Relacionada con el Título Propiamente Dicho: Richard J. Fritz

Omite el 'c' desde la fila 'same':

    245\..\c\/\\
2+ same\..\\;\\

para obtener:

/$cDeborah A.Fritz ; Richard J. Fritz

En el segundo caso, el mapeador siempre añade un espacio en blanco en la posición en la que se encontraría normalmente el subcampo que falta.

Cuestiones de Implementación: el mapeador debe prestar atención a las diferentes ocurrencias de elementos en estos mapeos 'same', ya que las ocurrencias son un potencial detonante de 'tag grouper' para generar una nueva ocurrencia de una etiqueta.

Por ejemplo, el registro en bruto para lo anterior se parece a algo así3):

  rName=placeOfPublicationManifestation_1 ; rMap="264\.1\a\\\ 2+ same\.1\a\;\\" ; rText="Chicago"
  rName=placeOfPublicationManifestation_2 ; rMap="264\.1\a\\\ 2+ same\.1\a\;\\" ; rText="Atlanta"

Una rutina de limpieza (normalizeMappedElements) debe cambiar la ocurrencia del segundo elemento desde _2 a _1. Si no lo hace, el tag grouper generará una nueva etiqueta debido a que se trata de una ocurrencia diferente

Dependencias: Los elementos en el documento RIMMF se mapearán (con pocas excepciones) en el orden en que aparecen.

En el caso de un mapeo '2+ same', un orden de elementos como el siguiente
Lugar de Publicación: Atlanta
Nombre del Editor: ALA
Lugar de Publicación: Chicago
Nombre del Editor: Grossett

cambiará el mapeo de arriba de

264  1 $aChicago ;$aAtlanta :$bAmerican Library Association ;$bGrossett,$c2003.

a

264  1 $aChicago :$bAmerican Library Association ;$aAtlanta ;$bGrossett,$c2003.

Aunque esto funciona en 26X, puede que no funcione en otros campos, por lo que hay que tener cuidado

Back To Top

Cuestiones de puntuación

Como se mencionó anteriormente, con dos elementos como estos:

Mención de Responsabilidad Relacionada con el Título Propiamente Dicho: Deborah A. Fritz
Mención de Responsabilidad Relacionada con el Título Propiamente Dicho: Richard J. Fritz

Omite el 'c' desde la fila 'same':

    245\..\c\/\\
2+ same\..\\;\\

y obtiene:

/$cDeborah A.Fritz ; Richard J. Fritz

En el segundo elemento, el mapeador:

1) sabe que un punto y coma está precedido de un espacio en blanco (la subrutina isbdify), y
2) siempre añade un espacio en blanco en la posición en el que el subcampo que falta se encontraría normalmente.

¿ Se podría especificar más explícitamente el segundo espacio en blanco? (tecleando en el blanco en el que el subcampo iría en el formulario del mapeo)?

Encontramos un problema relacionado al mapear las fechas de nacimiento y muerte de una Persona. For example, a raw record like this:

  rName=dateOfBirthDateAssociated_1 ; rMap="100\..\d\,\- $\@<^(\d{4}).*$@>" ; rText="1775"
  rName=dateOfDeathDateAssociated_1 ; rMap="100\..\\-\\@<^(\d{4}).*$@>" ; rText="1817"
se mapea (literalmente) a:
  100 .. ,$d1775- - 1817

En la fecha de nacimiento especificamos una coma como puntuación precedente y añadimos el guión final como ConstData. También añadimos un espacio en blanco tras el guión final de manera que la situación por defecto (Personas con fechas de nacimiento pero sin fechas de muerte) se formateen correctamente en los encabezamientos. Pero si hay una fecha de muerte entonces el mapeo por defecto añade otro guión como puntuación precedente, más el espacio en blanco PORQUE NO SE ESPECIFICÓ NINGÚN SUBCAMPO, lo que da como resultado '- - '.

Esto queda fijado con una rutina de limpieza codificada en rimmfRda2Marc.postProcessRdaToMarc

Back To Top

Etiquetas XX

Se permite 'XX' en Tag (Etiqueta) para las siguientes relaciones (FID y R/D): Creator (Creador), OtherPfcAssocWithWork (Otra Persona, Familia o Entidad Corporativa Asociada con una Obra), Contributor (Colaborador), Distributor (Distribuidor), Manufacturer (Fabricante), Publisher (Editor), Producer (Productor), OtherPfcAssocWithManifestation (Otra Persona, Familia o Entidad Corporativa Asociada con una Manifestación), Owner (Propietario), Custodian (Custodio), OtherPfcAssocWithItem (Otra Persona, Familia o Entidad Corporativa Asociada con el Ítem)

Cuando el mapeador alcanza un FID para una de estas relaciones, abre el documento al que enlaza para traer los elements necesarios. De regreso, si el mapeo Tag para el FID contiene 'XX', será revisado para enlazar la entidad al documento al que enlaza.

Problema: el tag grouper une elementos RDA mapeados a la misma etiqueta MARC, pero todavía necesita respetar la necesidad de que los elementos repetidos

se mapeen a las nuevas etiquetas.

Ejemplo:

rName=preferredNameForThePerson_1 ; rMap="500\1.\a\\\" ; rText="Wong, James"
rName=preferredNameForTheFamily_1 ; rMap="500\3.\a\\\" ; rText="Preferred Name for the Family"

Todos estos elementos se mapean a la misma Tag/Subf (Etiqueta/Subcampo) MARC, 500$a.

Solución actual (puede que necesite refinamiento): Comprueba los indicadores de ciertas etiquetas en el procedimiento que busca $a repetidos. De esta forma, en el ejemplo anterior, buscamos $a repetidos en 500\1. y en 500\3., pero no simplemente en 500\.. Para evitar etiquetas que se unan sin necesidad (which (lo que sucede si implementamos este enfoque 'se quiera o no'), solo se tratan así los campos 500 y 264 hasta ahora.

Back To Top

Problemas de Implementación

Problema: el mapeo usa el orden de los elementos en el documento RIMMF.

Ejemplo 1: Si el usuario tiene una plantilla de Obra con un Título antes del Creador (como ocurre en el juego de elementos definido por defectoas), el AAP (Punto de Acceso Autorizado) aparece como:

Marc21 for everyone. Fritz, Deborah.

Solución: Siempre que un componente del AAP (Punto de Acceso Autorizado) es un enlace a otro documento, debería aparecer primero en el AAP (Punto de Acceso Autorizado) que se está componiendo. El proceso de autocompletado comprobará cada elemento, y si encuento uno que sea un enlace, lo insertará (antes que anexarlo) a la lista que se está componiendo.

Ejemplo 2: En una manifestación, los conflictos con elementos “parallel” (paralelos) en el Título y grupos S/of/R groups surgen a causa de la falta de un único subcampo al que mapear estos elementos en MARC. Están ensartados en $b y $c, dando importancia al orden de entrada.

Solución: El usuario puede ahora 'mover' elementos S/of/R en el grupo de elementos del Título para conseguir el orden de datos deseados en el 245. Esto se consiguió añadiendo una excepción al método OnMoveTo en rimmfDoc: el Identificador RIMMF de los dos elementos padres, titleManifestationID (Identificador del Título de la Manifestación) y statementOfResponsibilityId (Identificador de la Mención de Responsabilidad), se codificaron, y el programa ahora reconoce y permite que los hijos de estos padres se arrastren y suelten en el otro grupo.

1) es decir, la casilla de verificación del AAP está marcada para ese elemento, indicando que el texto del elemento debería añadirse al encabezamiento que RIMMF compone siempre que hacemos doble clic sobre el Punto de Acceso Autorizado o la Composite Key –Clave compuesta
2) thus, 'same' and 'new' cannot be used in the first row of a mapping
3) los nombres de los elementos se han acortado para su mejor legibilidad
es/details/rda2marcr2.txt · Last modified: 2016/01/02 12:44 (external edit)
Back to top
CC Attribution-Noncommercial-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed