Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Trabajar con Reglas de fusión

    Translatable
    Para trabajar con reglas de fusión, se debe tener uno de los roles siguientes:
    • Administrador de catalogación
    Las reglas de fusión proporcionan instrucciones sobre cómo se deben fusionar dos registros. Cuando se fusionan dos registros, el registro primario es el registro que contendrá toda la información fusionada. El registro secundario es el registro cuya información se fusionará en el registro primario. La reglas de fusión eliminan información del registro primario o copian información del registro secundario en el registro primario. Las reglas de fusión no afectan al registro secundario, el cual puede permanecer tras la fusión, aunque normalmente se borra.
    El Editor MD permite a los catalogadores crear reglas de fusión y aplicarlas a los registros MARC 21 o aplicar reglas de fusión que ya estén creadas. La sintaxis utilizada por las reglas se describe en Sintaxis y ejemplos de reglas de fusión . Véase también Reglas de fusión en la sección de formación para más información.

    Registros primarios

    Hay varios escenarios posibles para fusionar registros. El registro primario en cada uno de estos escenarios es como sigue:
    Registros primarios para la fusión
    Escenario Registro primario
    Importar registros mediante un perfil El registro existente en Alma
    Importar registros desde una conexión OCLC El registro existente en Alma
    Fusionar dos registros ya existentes El registro en el panel izquierdo del MDE (abierto primero)
    Copiar catalogación utilizando un recurso externo El recurso externo
    Dado que los registros primarios para los perfiles de importación y para la catalogación de copias (como en Buscar recursos externos ) son esencialmente lo opuesto, una regla de fusión escrita para un perfil de importación no puede funcionar para la catalogación de copias (y viceversa). Se necesitan dos conjuntos de reglas de fusión, una para los perfiles de importación y la otra para la catalogación de copias. Puede encontrarse un ejemplo de cada tipo de regla en Ejemplos de reglas para perfiles de importación y catalogación de copias.

    Selecting merge rule in import profile.png

    Si se desea utilizar una regla de fusión en Alma, la descripción de la regla, en lugar de su nombre, es lo que aparece en el menú desplegable Método de fusión y en el menú desplegable Elegir rutina de fusión (en Acciones de registro > Fusionar registros y Combinar inventario).

    Reglas de fusión básicas

    Las siguientes son las reglas de fusión básicas. Cada regla básica puede aplicarse incondicionalmente o puede estar sujeta a una condición sobre el registro primario. El orden en el cual las reglas se aplican es importante.
    Reglas de fusión básicas
    Regla de fusión Ejemplo Descripción
    eliminar eliminar MARC."035" Eliminar todas las líneas con este campo del registro primario
    añadir añadir MARC."035" Añadir todas las líneas con este campo desde el registro secundario al registro primario.

    substituir

    reemplazar MARC. "505"

    Eliminar todas las líneas con este campo del registro primario y entonces añadir al registro primario todas las líneas con este campo del registro secundario.
    Reemplazar genera exactamente el mismo resultado que Eliminar seguido de Añadir, a menos que cuando se use la claúsula "si existe", si el registro secundario no tiene el campo indicado, el campo no se elimine del registro primario. Así, por ejemplo:
    reemplazar MARC. "505"
    elimina siempre 505 del registro primario. Si existe 505 en el registro secundario, entonces el registro primario ahora contiene este 505. Si no existe 505 en el registro secundario, entonces el registro primario no contiene 505.
    reemplazar MARC."505" si existe
    elimina 505 del registro primario solo si existe 505 en el registro secundario. Si existe 505 en el registro secundario, entonces el registro primario ahora contiene este 505. Si no existe 505 en el registro secundario, el registro primario conserva el 505 original.
    Esta lógica es verdadera solo cuando se especifica un campo en la acción de Sustitución tal como MARC."505". Si se usan los formatos de acción de Sustituir a continuación, Alma trata la regla de Sustituir como si "si existe" estuviese escrito. Así, por ejemplo, si hay un campo 260 en el registro primario de Alma, un campo 264 en el registro secundario entrante y se está usando sustituir MARC.XXX, Alma mantiene el campo 260 y añade el 264 durante el proceso de fusión (como si "si existe" estuviese escrito).
    Para obtener más información, véase la tabla Fusionar sintaxis de regla.

    Crear una regla de fusión

    Utilizar el procedimiento descrito en esta sección para crear una regla de fusión.
    En el caso de miembros de un consorcio de la Zona de red, los usuarios pueden controlar si desean guardar las nuevas reglas en forma local o en una institución de la red. Para realizar esta selección, abrir el área de Registros o Plantillas y dirigirse a Nuevo > Opciones de colocación. Téngase en cuenta que esta selección es por usuario.
    Para crear una regla de fusión:
    1. En la página del Editor MD (Recursos > Catalogación > Abrir editor de metadatos), seleccionar la pestaña Reglas. La pestaña Reglas de fusión aparecerá.
    2. Seleccione Nuevo > Fusión e introduzca las propiedades de la regla de fusión en el cuadro de diálogo Propiedades de la regla de fusión.
      Merge rule dialog.png
    3. Indicar si se desea crear la regla como Privada o Compartida. Esto determina en qué carpeta se guardará la regla de indicación. Tal vez se desee guardar la regla de indicación en la carpeta Privada, y probarla primero, antes de moverla a la carpeta Compartida (al cambiar las Propiedades). Las reglas de fusión privadas no aparecen en la lista desplegable Método de fusión cuando se quiere usar una regla de fusión en Alma posteriormente.
      Téngase en cuenta que la carpeta Comunidad tiene reglas de fusión que se pueden copiar para crear reglas propias.
    4. Seleccionar Guardar en el diálogo. Se abre el panel de edición del Editor MD. 
    5. Introducir los detalles de la regla.
    6. Seleccionar Guardar. Las reglas de fusión guardadas aparecen bajo la pestaña Reglas. Las reglas de fusión guardadas pueden ser editadas, borradas, duplicadas (para crear nuevas reglas de fusión) y compartidas con la Zona de la Comunidad (véase Contribuir a la Zona de la Comunidad - Reglas de normalización, fusión e indicación para más información). También se tiene la opción de cambiar las propiedades de las reglas de fusión guardadas.
    • Al contrario que las reglas de normalización, las reglas de fusión no se pueden previsualizar.

    Sintaxis y ejemplos de Reglas de fusión

    Las reglas de fusión siguen una sintaxis específica. Véase los ejemplos que hay a continuación.
    Aunque se permite incluir varios operadores booleanos en las reglas, cuando se seleccionan un gran número de operadores booleanos, es probable que el rendimiento se ralentice. Por lo tanto, cada regla debe incluir como máximo 200 operadores booleanos. 

    Ejemplos de reglas para perfiles de importación y catalogación por copia

    A continuación hay ejemplos de reglas de fusión que pueden utilizarse en un escenario como el siguiente: Hay un registro primario en Alma que contiene metadatos básicos, la mayoría de los cuales se quieren reemplazar con metadatos del registro secundario. Sin embargo, para los campos siguientes, se quiere mantener los metadatos del registro primario: 001, 019, 035, 59X, 9XX.
    Usar una regla de fusión como la siguiente para los perfiles de importación:
    regla "Substituir todos los campos excepto los datos locales y las claves de coincidencia"
    when
    merge
    then
    replace MARC.XXX excluding "001,019,035,59X,9XX"
    end
    Para copiar una catalogación, se sebe utilizar una regla de fusión como la siguiente (véase Configurar recursos de búsqueda externa):
    regla" Sustituir todos los campos excepto los datos locales y las claves de coincidencia"
    when
    merge
    then
    replace MARC."001"
    replace MARC."035"
    replace MARC."019"
    replace MARC."59"X
    replace MARC."9"XX
    end
    Obsérvese que en los dos ejemplos anteriores, cuando un campo no existe en el registro secundario, el campo del registro primario no se elimina. Si se prefiere que los campos del registro primario se eliminen siempre, se deben utilizar las reglas eliminar y añadir en lugar de la regla reemplazar. Para obtener detalles, véase Reemplazar en la tabla Trabajar con reglas de fusión

    Sintaxis de las reglas

    Las condiciones y acciones se aplican a los elementos del registro, como el registro MARC, los campos (uno o más), los indicadores, los subcampos (uno o más) y el contenido del campo/subcampo.
    Las condiciones se aplican a los elementos del registro primario. Para aplicar una acción a un elemento del registro, el elemento debe corresponder a la sintaxis de la tabla que hay a continuación.
    Sintaxis de la regla de fusión
    Expresión Significado
    add MARC."{tag}" Añadir el contenido del campo especificado en {tag}.
    Por ejemplo, la regla siguiente añade el contenido del campo 950:
    add MARC."950"
    add MARC."{tag}"("{ind1}","{ind2}") Añadir el contenido del campo especificado en {tag}, así como los indicadores estipulados.
    Por ejemplo, la regla siguiente añade el contenido del campo 950, con indicadores 0 y 1:
    add MARC."950"
    add MARC."{TAG}"("{ind1}","{ind2}") if does not exist
    Añadir el campo especificado en {tag} solo si el campo y los indicadores no están ya presentes en el registro primario. Si el registro primario no tiene este campo y el registro secundario tiene dos campos con la misma etiqueta e indicadores, ambos campos serán añadidos.
    Por ejemplo, el registro primario no cambia en el escenario de fusión siguiente porque la etiqueta y los indicadores ya están presentes en el registro primario:
    Sintaxis: add MARC."600"("0","0") if does not exists
    Registro principal: 600 00 $a history
    Registro secundario: 600 00 $a history of Israel
    add MARC."{TAG}" excluding{ind1}"{comma separated values}" excluding{ind2}"{comma separated values}" excluding subfield("{subfield}","{subfield value}")
    Añadir todos los valores únicos del campo especificados en {tag}, excepto los que presentan un valor específico en el primer indicador, un valor específico en el segundo indicador o un valor específico en uno de los subcampos. Todas las condiciones tienen que cumplirse para excluir un campo. Hay una Y implícita entre cada una de ellas. Las tres condiciones no son obligatorias. Solo una o dos pueden existir.
    Por ejemplo, no hay ningún valor único del campo 655 del registro secundario #1 abajo a añadir; y en cambio sí hay valores únicos del campo 655 del registro secundario #2. Obsérvese que la sintaxis en el ejemplo de abajo solo utiliza dos condiciones.
    Sintaxis: add MARC."655" excluding second indicator "7" excluding subfield ("2","local")
    Registro secundario #1 655_7 $a Art stories. $2 local
    Registro secundario #2 655_7 $a Art stories. $2 fast
    add MARC."{tag}" if does not exist Añadir el contenido del campo especificado en {tag} si el campo todavía no existe.
    Por ejemplo, la regla siguiente añade el campo 950 si este campo todavía no existe:
    add MARC."950" if does not exists
    add MARC."{prefix}"X Añadir el contenido de los campos prefijados por {prefix}.
    Por ejemplo, la regla siguiente añade el contenido de todos los campos entre 920 y 929:
    add MARC."92"X
    add MARC."{prefix}"XX Añadir el contenido de los campos prefijados por {prefix}.
    Por ejemplo, la regla siguiente añade el contenido de todos los campos entre 900 y 999:
    add MARC."9"XX
    add MARC."{prefix}"X excluding"{list}" Añadir el contenido de los campos prefijados por {prefix}, excluyendo los campos y subcampos especificados.
    Por ejemplo, la siguiente regla añade el contenido de todos los campos entre 990 y 999, excepto los de 990 y 991:
    add MARC."99"X excluding "990,991"
    add MARC."{prefix}"XX excluding"{list}" Añadir el contenido de los campos prefijados por {prefix}, excluyendo los campos y subcampos especificados.
    Por ejemplo, la siguiente regla añade el contenido de todos los campos entre 900 y 999, excepto los de 950 y 951:
    add MARC."9"XX excluding"950,951"
    add MARC."{tag}" when MARC."{condtag}"."{condsf}" contains"{condstring}" Añadir el campo especificado en {tag} cuando el campo/subcampo estipulado contenga la cadena de caracteres especificada.
    Por ejemplo: la siguiente regla añade la etiqueta 950 solo si el campo 250.a contiene el texto "history".
    add MARC."950" when MARC."250"."a" contains"history"
    remove MARC."{prefix}"X Eliminar los campos prefijados por {prefix}.
    Por ejemplo, la regla siguiente elimina todos los campos entre 920 y 929:
    remove MARC."92"X
    remove MARC."{prefix}"XX Eliminar los campos prefijados por {prefix}.
    Por ejemplo, la siguiente regla elimina todos los campos entre 900 y 999:
    remove MARC."9"XX
    remove MARC."{tag}" Eliminar el campo especificado en {tag}.
    Por ejemplo, la siguiente regla elimina el campo 950:
    remove MARC."950"

    eliminar MARC."{TAG}" excluyendo "campo excluido}"("{ind1}","{ind2}")

    Elimine el campo especificado en la {tag}, excluyendo la lista especificada de campos e indicadores.

    Por ejemplo, la siguiente regla elimina los campos 650, excepto aquellos del campo 650 donde el primer indicador es 1, el primer indicador es 0 y el segundo indicador es 1, donde el segundo indicador es 2, o donde no hay indicadores, respectivamente:

    eliminar MARC."650" excluyendo "650"("1"," ") 

    eliminar MARC."650" excluyendo "650"("0","1")

    eliminar MARC."650" excluyendo "650"(" ","2")

    eliminar MARC."650" excluyendo "650"(" "," ")

    remove MARC."{TAG}" if not exists subfield"{comma separated values}"
    Eliminar el campo especificado en {tag} del registro primario si los subcampos especificados (uno o más) en {comma separated values} no existen. Si se especifica más de un subcampo, todos los subcampos deben existir/no existir para cumplir la condición.
    Por ejemplo, el siguiente campo 700 en el registro primario se elimina porque el subcampo 5 no existe.
    Sintaxis: remove MARC."700" if not exists subfield"5"
    Registro primario #1: 700 1_ $a Burgess, Anne.
    remove MARC."{TAG}" if exists subfield" {comma separated values}"
    Eliminar el campo especificado en {tag} del registro primario si los subcampos especificados (uno o más) en {comma separated values} si existen. Si se especifica más de un subcampo, todos los subcampos deben existir/no existir para cumplir la condición.
    Por ejemplo, el siguiente campo 700 en el registro primario se elimina porque el subcampo 5 no existe.
    Sintaxis: remove MARC."700" if exists subfield"5"
    Registro primario: 700 1_ $a Jefferson, Thomas, $d 1743-1826, $e former owner. $ 5MH
    remove MARC."{prefix}"X excluding "{list}" Eliminar los campos prefijados por {prefix}, excluyendo la lista de campos especificados.
    Por ejemplo, la siguiente regla elimina todos los campos entre 990 y 999, excepto 990 y 991:
    remove MARC."99"X excluding "990,991"
    remove MARC."{prefix}"XX excluding "{list}" Eliminar los campos prefijados por {prefix}, excluyendo la lista de campos especificados.
    Por ejemplo, la siguiente regla elimina todos los campos entre 900 y 999, excepto 950 y 951:
    remove MARC."9"XX excluding"950,951"
    La siguiente regla elimina todos los campos excepto 001, 084, 773 y 980-999.
    remove MARC."XXX" excluding "001,084,773,98X,99X"
    remove MARC."{prefix}"XX excluding "{excluded field}"("{ind1}","{ind2}") Eliminar los campos prefijados por {prefix}, excluyendo la lista de campos y de indicadores especificados.
    Por ejemplo, la siguiente regla elimina los campos 6XX, excepto aquellos del campo 650 donde el primer indicador es 1, donde el primer indicador es 0 y el segundo indicador es 1, donde el segundo indicador es 2, o donde no hay ningún indicador, respectivamente:
    remove MARC."6"XX excluding "650"("1"," ")
    remove MARC."6"XX excluding "650"("0","1")
    remove MARC."6"XX excluding "650"("0","2")
    remove MARC."6"XX excluding "650"(" "," ")
    replace MARC."{tag}" if exists Reemplazar el contenido del campo especificado en {tag} solo si el campo existe en el registro secundario. Si el campo no existe en el registro secundario, el campo del regisro primario se conserva.
    Por ejemplo, lo siguiente reemplaza el campo 950 en el registro primario, si el campo existe en el registro secundario.
    replace MARC."950" if exists
    replace MARC."{tag}" Reemplazar el contenido del campo del registro primario especificado en {tag}. Si el campo no existe en el registro secundario, el registro primario no contendrá ningún campo {tag}.
    Por ejemplo, lo siguiente reemplaza el campo 950 en el registro primario:
    replace MARC."950"
    replace MARC."{prefix}"X if exists Reemplazar el contenido de los campos prefijados por {prefix} si estos campos existen en el registro secundario. Si estos campos no existen en el registro secundario, los campos {prefix}  del regisro primario se conservan.
    Por ejemplo, lo siguiente reemplaza todos los campos entre 920 y 929 en el registro primario, si estos campos existen en el registro secundario:
    replace MARC."92"X if exists
    replace MARC."{prefix}"X Reemplazar el contenido de los campos del registro primario prefijados por {prefix}. Si estos campos no existen en el registro secundario, el registro primario no contendrá ningún campo {prefix}.
    Por ejemplo, lo siguiente reemplaza todos los campos entre 920 y 929 en el registro primario:
    replace MARC."92"X
    replace MARC."{prefix}"XX if exists Reemplazar el contenido de los campos del registro primario prefijados por {prefix} si estos campos existen en el registro secundario. Si estos campos no existen en el registro secundario, los campos {prefix}  del regisro primario se conservan.
    Por ejemplo, lo siguiente reemplaza todos los campos entre 900 y 999 en el registro primario, si estos campos existen en el registro secundario:
    replace MARC."9"XX if exists
    replace MARC."{prefix}"XX Reemplazar el contenido de los campos del registro primario prefijados por {prefix}. Si estos campos no existen en el registro secundario, el registro primario no contendrá ningún campo {prefix}.
    Por ejemplo, lo siguiente reemplaza todos los campos entre 900 y 999 en el registro primario:
    replace MARC."9"XX
    replace MARC."{prefix}"X excluding"{list}" Reemplazar el contenido de los campos del registro primario prefijados por {prefix}, excepto los campos especificados.
    Por ejemplo, lo siguiente reeemplaza el contenido de todos los campos entre 990 y 999 en el registro primario, excepto los de 990 y 991. Se debe tener en cuenta que si los campos no existen en el registro secundario, se crean en el registro primario:
    replace MARC."99"X excluding "990,991"
    replace MARC."{prefix}"XX excluding "{list}" Reemplazar el contenido de los campos del registro primario prefijados por {prefix}, excepto los campos especificados.
    Por ejemplo, lo siguiente reemplaza el contenido de todos los campos entre 900 y 999 en el registro primario, excepto los de 950 y 951. Se debe tener en cuenta que si los campos no existen en el registro secundario, se crean en el registro primario:
    replace MARC."9"XX excluding "950,951"
    replace MARC.XXX excluding "{list}" Reemplazar el contenido de todos los campos MARC del registro primario, excepto los campos especificados.
    Por ejemplo, la siguiente regla substituye el contenido de todos los campos en el registro primario con los del registro secundario, excepto los campos especificados. Se debe tener en cuenta que si los campos no existen en el registro secundario, se crean en el registro primario:
    replace MARC.XXX excluding "100,245,9XX,5XX"
    replace MARC."{prefix}"X excluding MARC."{exclTag}"("{ind1}","{ind2}") Reemplazar el contenido de los campos del registro primario prefijados por {prefix}, excepto los campos e indicadores especificados.
    Por ejemplo, lo siguiente reeemplaza el contenido de todos los campos entre 990 y 999 en el registro primario, excepto el campo MARC 995(0,1), con el del registro secundario. Obsérvese que el campo MARC 995(1,1) se substituye.
    Si los campos no existen en el registro secundario, se crean en el registro primario:
    replace MARC."99"X excluding MARC."995"("0","1")
    replace MARC."{prefix}"XX excluding MARC."{exclTag}"("{ind1}","{ind2}") Reemplazar el contenido de los campos del registro primario prefijados por {prefix}, excepto los campos e indicadores especificados.
    Por ejemplo, lo siguiente reeemplaza el contenido de todos los campos entre 900 y 999 del registro primario, excepto el campo MARC 995(0,1), con el del registro secundario. Obsérvese que el campo MARC 995(1,1) se substituye.
    Si el campo no existe en el registro secundario, se crea en el registro primario:
    replace MARC."9"XX excluding MARC."995"("0","1")
    replace MARC."{tag}" excluding MARC."{exclTag}"("{ind1}","{ind2}") Reemplazar el campo del registro primario especificado en {tag}, excepto los campos e indicadores especificados.
    Por ejemplo, lo siguiente reemplaza el campo 995 del registro primario, excepto el 995(0,1), con el del registro secundario. Obsérvese que el campo MARC 995(1,1) se substituye.
    Si el campo no existe en el registro secundario, se crea en el registro primario:
    replace MARC."995" excluding MARC."995"("0","1")
    reemplazar MARC."{tag}" cuando MARC."{condtag}"."{condsf}" contiene "{text}" excluyendo MARC."{exclTag}"("{ind1}","{ind2}") Reemplazar el contenido del campo del registro primario que contiene la secuencia especificada por el registro secundario que contiene la secuencia especificada. Si el registro secundario no tiene un campo con la secuencia especificada, se eliminan los campos del registro primario que contengan la secuencia especificada.

    Ejemplo:

    reemplazar MARC."035" cuando MARC."035"."a" contiene "OCoLC" excluyendo MARC."035"("9","9")

    replace MARC.XXX excluding MARC."{exclTag}"("{ind1}","{ind2}") Reemplazar el contenido de todos los campos MARC del registro primario, excepto los campos e indicadores especificados.
    Por ejemplo, la regla siguiente substituye el contenido de todos los campos en el registro primario con los del registro secundario, excepto los campos especificados. Obsérvese que el campo MARC 995(1,1) se substituye.
    Si el campo no existe en el registro secundario, se crea en el registro primario:
    replace MARC.XXX excluding MARC."995"("0","1")
    replace MARC.control."{ctrl}" Reemplazar el campo de control MARC del registro primario especificado.
    Por ejemplo, la siguiente regla substituye el contenido del campo de control MARC 008 en el registro primario con el del registro secundario.
    Si el campo no existe, se crea:
    replace MARC.control."008"
    replace MARC.control.position."LDR.{starting position,length}" Reemplazar una posición específica dentro del campo de control del registro primario. Esto se realiza especificando la posición de inicio y la longitud.
    Por ejemplo, lo siguiente reemplaza lo que se especifica en el campo de control del registro primario desde la posición 8 y por la extensión de 2 posiciones con lo que se especifica en el registro secundario.
    replace MARC.control.position."LDR.{8,2}"
    • Was this article helpful?