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

    Trabalhando com Regras de Mesclagem

    Translatable
    Para trabalhar com regras de mesclagem, você deve ter a seguinte função:
    • Administrador de Catálogo
    Regras de mesclagem fornecem instruções sobre como dois registros devem ser mesclados. Ao mesclar dois registros, o principal é o registro que conterá todas as informações mescladas. O secundário é o registro cujas informações serão mescladas no registro principal. As regras de mesclagem removem informações do registro principal ou copiam informações do registro secundário para o registro principal. As regras de mesclagem não afetam o registro secundário, que pode permanecer após a mesclagem; embora geralmente seja excluído.
    O Editor de MD permite que os catalogadores criem regras de mesclagem e as apliquem aos registros MARC 21 ou apliquem regras de mesclagem que já foram criadas. A sintaxe a ser usada para as regras está descrita em Sintaxe e Exemplos de Regras de Mesclagem. Veja também Regras de Mesclagem, na seção de treinamento, para mais informações.

    Registros Principais

    Existem vários cenários possíveis para mesclar registros. O registro principal em cada um desses cenários é o seguinte:
    Registro Principal para Mesclagem
    Cenário Registro Principal
    Importar registros usando um perfil O registro existente no Alma
    Importar registros da OCLC Connexion O registro existente no Alma
    Mesclar dois registros já existentes O registro no painel esquerdo do MDE (aberto primeiro)
    Catalogação de cópia usando uma fonte externa A fonte externa
    Uma vez que os registros principais para perfis de importação e catalogação de cópia (como em Busca em Fontes Externas) são essencialmente o oposto, uma regra de mesclagem escrita para um perfil de importação não pode funcionar para catalogação de cópia (e vice-versa). São necessários dois conjuntos de regras de mesclagem, um para perfis de importação e outro para catalogação de cópia. Um exemplo de cada tipo de regra pode ser encontrado em Exemplos de Regras para Perfis de Importação e Catalogação de Cópia.

    Selecting merge rule in import profile.png

    Quando você deseja usar uma regra de mesclagem no Alma, é exibida sua descrição, e não seu nome, nos dropdowns Método de Mesclagem e Selecionar Regra de Mesclagem (em Ações para Registro > Mesclar Registros & Combinar Acervo).

    Regras Básicas de Mesclagem

    Veja abaixo as regras básicas de mesclagem. Cada regra básica pode ser aplicada incondicionalmente ou pode estar sujeita a uma condição no registro principal. A ordem na qual as regras são aplicadas é importante.
    Regras Básicas de Mesclagem
    Regra de Mesclagem Exemplo Descrição
    remove remove MARC."035" Remove todas as linhas do registro principal que contêm este campo.
    add add MARC."035" Adiciona todas as linhas do registro secundário que contêm este campo ao registro principal.

    replace

    replace MARC."505"

    Remove todas as linhas do registro principal que contêm este campo e as substitui pelas linhas do registro secundário que o contêm.
    Replace produz exatamente o mesmo resultado de Remove seguida de Add, exceto que, ao usar a cláusula "if exists", se o registro secundário não tiver o campo indicado, o campo não será removido do registro principal. Assim, por exemplo:
    replace MARC."505"
    sempre remove o 505 do registro principal. Se o 505 existir no registro secundário, o registro principal agora conterá este 505. Se o 505 não existir no registro secundário, o registro principal não conterá 505.
    replace MARC."505" if exists
    remove o 505 do registro principal somente se existir um 505 existir no registro secundário Se o 505 existir no registro secundário, o registro principal agora conterá este 505. Se o 505 não existir no registro secundário, o registro principal manterá seu 505 original.
    Essa lógica só é verdadeira quando você especifica um campo como MARC."505" na ação Replace. Se você usar os formatos de ação Replace abaixo, o Alma tratará a regra como se "if exists" estivesse escrito. Então, por exemplo, se você tiver um campo 260 no registro principal do Alma, um campo 264 no registro secundário de entrada e estiver usando replace MARC.XXX, o Alma mantém o campo 260 e adiciona o 264 durante o processamento da mesclagem (como se "if exists" estivesse escrito).
    Para mais informações, veja a tabela Sintaxe de Regra de Mesclagem.

    Criar uma Regra de Mesclagem

    Use o procedimento descrito nesta seção para criar uma regra de mesclagem.
    Para participantes da Área da Rede, usuários podem controlar se desejam salvar novas regras localmente ou em uma instituição da rede. Para fazer esta seleção, abra a área de Registros ou de Modelos e vá para Novo > Opções de Localização. Observe que esta seleção é feita por usuário.
    Para criar uma regra de mesclagem:
    1. Na página do Editor de MD (Recursos > Catalogação > Abrir Editor de Metadados), selecione a aba Regras. A pasta Regra de Mesclagem será aberta.
    2. Selecione Novo > Mesclar e insira as propriedades da regra na caixa de diálogo Propriedades da Regra de Mesclagem.
      Merge rule dialog.png
    3. Indique se deseja criar a regra como Privada ou Compartilhada. Isso determina em qual pasta a regra de seleção será salva. Você poderá salvar a regra na pasta Privado e testá-la, antes de movê-la para a pasta Compartilhado (alterando suas Propriedades). Regras de mesclagem privadas não aparecerão no dropdown Método de Mesclagem, quando você desejar usar uma regra de mesclagem posteriormente no Alma.
      Observe que a pasta Comunidade possui regras de mesclagem que você pode copiar para criar suas próprias regras.
    4. Selecione Salvar na caixa de diálogo. O painel de edição do Editor de MD será aberto. 
    5. Insira os detalhes da regra.
    6. Selecione Salvar. As regras de mesclagem salvas aparecem na aba Regras. As regras de mesclagem salvas podem ser editadas, excluídas, duplicadas (para criar novas regras) e contribuídas com a Área da Comunidade para compartilhamento (veja Contribuir com a Área da Comunidade - Regras de Normalização, Mesclagem e Seleção para mais informações). Você também tem a opção de alterar as propriedades das regras de mesclagem salvas.
    • Ao contrário das regras de normalização, regras de mesclagem não podem ser pré-visualizadas.

    Sintaxe e Exemplos de Regras de Mesclagem

    As regras de mesclagem seguem uma sintaxe específica. Veja os exemplos abaixo.
    Embora seja permitido incluir múltiplos Operadores Booleanos nas regras, quando um grande número deles é selecionado, é provável que o resultado seja um desempenho mais lento. Portanto, cada regra deve incluir no máximo 200 operadores Booleanos. 

    Exemplos de Regras para Perfis de Importação e Catalogação de Cópia

    Veja abaixo exemplos de regras de mesclagem que podem ser usadas em um cenário como o seguinte: Você tem um registro principal no Alma contendo metadados básicos, a maioria dos quais deseja substituir por metadados do registro secundário. No entanto, para os campos a seguir, você deseja manter os metadados do registro principal: 001, 019, 035, 59X, 9XX.
    Use uma regra de mesclagem como a seguinte para perfis de importação:
    rule "Replace all fields except local data and match keys"
    when
    merge
    then
    replace MARC.XXX excluding "001,019,035,59X,9XX"
    end
    Use uma regra de mesclagem como a seguinte para catalogação de cópia (veja Configurar Fontes de Busca Externa):
    rule "Replace all fields except local data and match keys"
    when
    merge
    then
    replace MARC."001"
    replace MARC."035"
    replace MARC."019"
    replace MARC."59"X
    replace MARC."9"XX
    end
    Observe que, em ambos os exemplos acima, quando um campo não existe no registro secundário, o campo do registro principal não é removido. Se você preferir que os campos do registro principal sejam sempre removidos, use as regras remove e add em vez de replace. Para detalhes, veja Replace na tabela Trabalhando com Regras de Mesclagem

    Sintaxe da Regra

    Condições e ações se aplicam a elementos de registro, como no caso de registro MARC, campos (um ou mais), indicadores, subcampos (um ou mais) e conteúdos de campos/subcampos.
    As condições se aplicam aos elementos do registro principal. Para aplicar uma ação ao elemento de um registro, o elemento deve corresponder à sintaxe na tabela abaixo.
    Sintaxe da Regra de Mesclagem
    Expressão Significado
    add MARC."{tag}" Adicione o campo do conteúdo especificado em {tag}.
    Por exemplo, a seguinte adiciona o conteúdo do campo 950:
    add MARC."950"
    add MARC."{tag}"("{ind1}","{ind2}") Adiciona o conteúdo do campo especificado em {tag}, assim como os indicadores estipulados.
    Por exemplo, a seguinte adiciona o conteúdo do campo 950, com os indicadores 0 e 1:
    add MARC."950"("0","1")
    add MARC."{TAG}"("{ind1}","{ind2}") if does not exist
    Adiciona o campo especificado em {tag} somente se o campo e os indicadores ainda não estiverem presentes no registro principal. Se o registro principal não tiver o campo, e o registro secundário tiver dois campos com a mesma etiqueta e os mesmos indicadores, ambos os campos serão adicionados.
    Por exemplo, o registro principal não é alterado no seguinte cenário de mesclagem porque a etiqueta e os indicadores já estão presentes no registro principal:
    Sintaxe: add MARC."600"("0","0") if does not exists
    Registro principal: 600 00 $a history
    Registro secundário: 600 00 $a history of Israel
    add MARC."{TAG}" excluding {ind1} "{comma separated values}" excluding {ind2} "{comma separated values}" excluding subfield ("{subfield}","{subfield value}")
    Adiciona todos os valores únicos do campo especificado em {tag}, exceto aquelas com um valor específico no primeiro indicador, no segundo indicador ou em um dos subcampos. Todas as condições devem ser atendidas para excluir um campo. Existe um AND implícito entre cada um deles. As três condições não são obrigatórias. Podem existir apenas uma ou duas.
    Por exemplo, abaixo, não existem valores únicos no campo 655 do registro secundário nº 1 a serem adicionados; e existem valores do registro secundário nº 2. Observe que a sintaxe no exemplo abaixo usa somente duas condições.
    Sintaxe: add MARC."655" excluding second indicator "7" excluding subfield ("2","local")
    Registro secundário nº1: 655_7 $a Art stories. $2 local
    Registro secundário nº2: 655_7 $a Irish stories. $2 fast
    add MARC."{tag}" if does not exists Adiciona o conteúdo do campo especificado em {tag}, se o campo ainda não existir.
    Por exemplo, a regra seguinte adiciona o campo 950 se ele ainda não existir:
    add MARC."950" if does not exists
    add MARC."{prefix}"X Adiciona o conteúdo dos campos prefixados por {prefix}.
    Por exemplo, a regra a seguir adiciona o conteúdo de todos os campos entre 920 e 929:
    add MARC."92"X
    MARC."{prefix}"XX Adiciona o conteúdo dos campos prefixados por {prefix}.
    Por exemplo, a regra a seguir adiciona o conteúdo de todos os campos entre 900 e 999:
    add MARC."9"XX
    add MARC."{prefix}"X excluding "{list}" Adiciona o conteúdo dos campos prefixados por {prefix}, exceto os campos e subcampos especificados.
    Por exemplo, a regra a seguir adiciona o conteúdo de todos os campos entre 990 e 999, exceto 990 e 991:
    add MARC."99"X excluding "990,991"
    add MARC."{prefix}"XX excluding "{list}" Adiciona o conteúdo dos campos prefixados por {prefix}, exceto os campos e subcampos especificados.
    Por exemplo, a regra a seguir adiciona o conteúdo de todos os campos entre 900 e 999, exceto 950 e 951:
    add MARC."9"XX excluding "950,951"
    add MARC."{tag}" when MARC."{condtag}"."{condsf}" contains "{condstring}" Adiciona o campo especificado em {tag} quando o campo/subcampo estipulado contiver a expressão especificada.
    Por exemplo, a regra a seguir adiciona a etiqueta 950 somente se o campo 250.a contiver o texto "history".
    add MARC."950" when MARC."250"."a" contains "history"
    remove MARC."{prefix}"X Remove os campos prefixados por {prefix}.
    Por exemplo, a regra a seguir remove todos os campos entre 920 e 929:
    remove MARC."92"X
    remove MARC."{prefix}"XX Remove os campos prefixados por {prefix}.
    Por exemplo, a regra a seguir remove todos os campos entre 900 e 999:
    remove MARC."9"XX
    remove MARC."{tag}" Remove o campo especificado em {tag}.
    Por exemplo, a regra a seguir remove o campo 950:
    remove MARC."950"

    remove MARC."{TAG}" excluding "{excluded field}"("{ind1}","{ind2}")

    Remove o campo especificado em {tag}, exceto a lista de campos e indicadores especificados.

    Por exemplo, a regra a seguir remove os campos 650, exceto os aqueles com primeiro indicador 1; primeiro indicador 0 e segundo indicador 1; segundo indicador 2; ou nenhum indicador, respectivamente:

    remove MARC."650" excluding "650"("1"," ") 

    remove MARC."650" excluding "650"("0","1")

    remove MARC."650" excluding "650"(" ","2")

    remove MARC."650" excluding "650"(" "," ")

    remove MARC."{TAG}" if not exists subfield "{comma separated values}"
    Remove o campo especificado em {tag} do registro principal se os subcampos especificados (um ou mais) em {comma separated values} não existirem. Se for especificado mais de um subcampo, todos os subcampos devem existir/não existir para que a condição seja atendida.
    Por exemplo, o campo 700 no registro principal a seguir é removido porque o subcampo 5 não existe.
    Sintaxe: remove MARC."700" if not exists subfield "5"
    Registro principal nº1: 700 1_ $a Burgess, Anne.
    remove MARC."{TAG}" if exists subfield "{comma separated values}"
    Remove o campo especificado em {tag} do registro principal se os subcampos especificados (um ou mais) em {comma separated values} existirem. Se for especificado mais de um subcampo, todos os subcampos devem existir/não existir para que a condição seja atendida.
    Por exemplo, o campo 700 no registro principal a seguir é removido porque o subcampo 5 não existe.
    Sintaxe: remove MARC."700" if exists subfield "5"
    Registro principal: 700 1_ $a Jefferson, Thomas, $d 1743-1826, $e former owner. $ 5MH
    remove MARC."{prefix}"X excluding "{list}" Remove os campos prefixados por {prefix}, exceto a lista de campos especificados
    Por exemplo, a regra a seguir remove todos os campos entre 990 e 999, exceto 990 e 991:
    remove MARC."99"X excluding "990,991"
    remove MARC."{prefix}"XX excluding "{list}" Remove os campos prefixados por {prefix}, exceto a lista de campos especificados.
    Por exemplo, a regra a seguir remove todos os campos entre 900 e 999, exceto 950 e 951:
    remove MARC."9"XX excluding "950,951"
    A regra a seguir remove todos os campos, exceto 001, 084, 773 e 980-999.
    remove MARC."XXX" excluding "001,084,773,98X,99X"
    remove MARC."{prefix}"XX excluding "{excluded field}"("{ind1}","{ind2}") Remove os campos prefixados por {prefix}, exceto a lista de campos e indicadores especificados.
    Por exemplo, a regra a seguir remove os campos 6XX, exceto aqueles com primeiro indicador 1; primeiro indicador 0 e segundo indicador 1; segundo indicador 2; ou nenhum indicador, respectivamente:
    remove MARC."6"XX excluding "650"("1"," ")
    remove MARC."6"XX excluding "650"("0","1")
    remove MARC."6"XX excluding "650"(" ","2")
    remove MARC."6"XX excluding "650"(" "," ")
    replace MARC."{tag}" if exists Substitui o conteúdo do campo especificado em {tag}, somente se o campo existir no registro secundário. Se o campo não existir no registro secundário, o campo do registro principal permanecerá.
    Por exemplo, a regra a seguir substitui o campo 950 no registro principal, se o campo existir no registro secundário
    replace MARC."950" if exists
    replace MARC."{tag}" Substitui o conteúdo do campo do registro principal especificado em {tag}. Se o campo não existir no registro secundário, o registro principal não conterá o campo {tag}.
    Por exemplo, a regra a seguir substitui o campo 950 no registro principal:
    replace MARC."950"
    replace MARC."{prefix}"X if exists Substitui o conteúdo dos campos prefixados por {prefix}, se estes campos existirem no registro secundário. Se esses campos não existirem no registro secundário, os campos {prefix} do registro principal permanecerão.
    Por exemplo, a regra a seguir substitui todos os campos entre 920 e 929 no registro principal, se estes campos existirem no registro secundário:
    replace MARC."92"X if exists
    replace MARC."{prefix}"X Substitui o conteúdo dos campos do registro principal prefixados por {prefix}. Se esses campos não existirem no registro secundário, o registro principal não conterá os campos {prefix}.
    Por exemplo, a regra a seguir substitui todos os campos entre 920 e 929 no registro principal:
    replace MARC."92"X
    replace MARC."{prefix}"XX if exists Substitui o conteúdo dos campos do registro principal prefixados por {prefix}, se estes campos existirem no registro secundário. Se esses campos não existirem no registro secundário, os campos {prefix} do registro principal permanecerão.
    Por exemplo, a regra a seguir substitui todos os campos entre 900 e 999 no registro principal, se estes campos existirem no registro secundário:
    replace MARC."9"XX if exists
    replace MARC."{prefix}"XX Substitui o conteúdo dos campos do registro principal prefixados por {prefix}. Se esses campos não existirem no registro secundário, o registro principal não conterá os campos {prefix}.
    Por exemplo, a regra a seguir substitui todos os campos entre 900 e 999 no registro principal:
    replace MARC."9"XX
    replace MARC."{prefix}"X excluding "{list}" Substitui o conteúdo dos campos do registro principal prefixados por {prefix}, exceto os campos especificados.
    Por exemplo, a regra a seguir substitui o conteúdo de todos os campos entre 990 e 999, exceto 990 e 991. Observe que, se os campos não existirem no registro secundário, eles serão criados no registro principal:
    replace MARC."99"X excluding "990,991"
    replace MARC."{prefix}"XX excluding "{list}" Substitui o conteúdo dos campos do registro principal prefixados por {prefix}, exceto os campos especificados.
    Por exemplo, a regra a seguir substitui o conteúdo de todos os campos entre 900 e 999 no registro principal, exceto 950 e 951. Observe que, se os campos não existirem no registro secundário, eles serão criados no registro principal:
    replace MARC."9"XX excluding "950,951"
    replace MARC.XXX excluding "{list}" Substitui o conteúdo de todos os campos MARC do registro principal, exceto os campos especificados.
    Por exemplo, a regra a seguir substitui o conteúdo de todos os campos no registro principal pelos do registro secundário, exceto os campos especificados. Observe que, se os campos não existirem no registro secundário, eles serão criados no registro principal:
    replace MARC.XXX excluding "100,245,9XX,5XX"
    replace MARC."{prefix}"X excluding MARC."{exclTag}"("{ind1}","{ind2}") Substitui o conteúdo dos campos do registro principal prefixados por {prefix}, exceto os campos e indicadores especificados.
    Por exemplo, a regra a seguir substitui o conteúdo de todos os campos entre 990 e 999 do registro principal, exceto o campo MARC 995(0,1), pelos do registro secundário. Observe que o campo MARC 995(1,1) é substituído.
    Se os campos não existirem no registro secundário, eles serão criados no registro principal:
    replace MARC."99"X excluding MARC."995"("0","1")
    replace MARC."{prefix}"XX excluding MARC."{exclTag}"("{ind1}","{ind2}") Substitui o conteúdo dos campos do registro principal prefixados por {prefix}, exceto os campos e indicadores especificados.
    Por exemplo, a regra a seguir substitui o conteúdo de todos os campos entre 900 e 999 do registro principal, exceto o campo MARC 995(0,1), pelos do registro secundário. Observe que o campo MARC 995(1,1) é substituído.
    Se o campo não existir no registro secundário, ele será criado no registro principal:
    replace MARC."9"XX excluding MARC."995"("0","1")
    replace MARC."{tag}" excluding MARC."{exclTag}"("{ind1}","{ind2}") Substitui os campos do registro principal indicados em {tag}, exceto os campos e indicadores especificados.
    Por exemplo, a regra a seguir substitui o campo 995 do registro principal, exceto 995(0,1), pelo do registro secundário. Observe que o campo MARC 995(1,1) é substituído.
    Se o campo não existir no registro secundário, ele será criado no registro principal:
    replace MARC."995" excluding MARC."995"("0","1")
    replace MARC."{tag}" when MARC."{condtag}"."{condsf}" contains "{text}" excluding MARC."{exclTag}"("{ind1}","{ind2}") Substitui o conteúdo do campo do registro principal que contém a expressão especificada pelo registro secundário que contém a expressão especificada. Se o registro secundário não tiver um campo com a expressão especificada, os campos do registro principal que contém a expressão especificada serão removidos.

    Exemplo:

    replace MARC."035" when MARC."035"."a" contains "OCoLC" excluding MARC."035"("9","9")

    replace MARC.XXX excluding MARC."{exclTag}"("{ind1}","{ind2}") Substitui o conteúdo de todos os campos MARC do registro principal, exceto os campos e indicadores especificados.
    Por exemplo, a regra a seguir substitui o conteúdo de todos os campos no registro principal pelo do registro secundário, exceto 995(0,1). Observe que o campo MARC 995(1,1) é substituído.
    Se o campo não existir no registro secundário, ele será criado no registro principal:
    replace MARC.XXX excluding MARC."995"("0","1")
    replace MARC.control."{ctrl}" Substitui o campo de controle MARC do registro principal especificado.
    Por exemplo, a regra a seguir substitui o conteúdo do campo de controle MARC 008 do registro principal pelo do registro secundário.
    Se o campo não existir, ele será criado:
    replace MARC.control."008"
    replace MARC.control.position."LDR.{starting position,length}" Substitui uma posição específica do campo de controle do registro principal. Isso é feito especificando o início e o intervalo da posição.
    Por exemplo, a regra a seguir substitui o que está especificado no campo de controle do registro principal, começando na posição 8 e por um intervalo de 2 posições, pelo que está no registro secundário.
    replace MARC.control.position."LDR.{8,2}"
    • Was this article helpful?