Lavorare con le Regole di Unione
Panoramica e istruzioni per la creazione di regole di unione per combinare due record utilizzando l'Editor MD.
- Amministratore catalogo
Record Primari
| Scenario | Record primario |
|---|---|
| Importazione di record utilizzando un profilo | Il record esistente in Alma |
| Importazione di record da OCLC Connexion. | Il record esistente in Alma |
| Unione di due record già esistenti | Il record nel riquadro sinistro dell'MDE (aperto per primo) |
| Copia modulo di catalogazione utilizzando una risorsa esterna | La risorsa esterna |
When you want to use a merge rule in Alma, the rule description, rather than its name, is what appears in the Merge Method dropdown and in the Choose Merge Routine dropdown (under Record Actions > Merge Records & Combine Inventory).
Regole di base per l'unione
| Regola di unione | Esempio | Descrizione |
|---|---|---|
| rimuovere | Rimuovere MARC."035" | Rimuova tutte le righe con questo campo dal record primario. |
| Aggiungi | aggiungi MARC."035" | Aggiunga tutte le righe con questo campo dalla Registrazione secondaria al record primario. |
|
replace |
sostituire MARC."505" |
Rimuova tutte le righe con questo campo dal record primario e poi aggiunga tutte le righe con questo campo dalla registrazione secondaria al record primario.
Un Replace produce esattamente lo stesso risultato di un Remove seguito da un Add, tranne quando si utilizza la clausola "if exists"; se la Registrazione secondaria non ha il campo indicato, il campo non viene rimosso nel record primario. Quindi, per esempio:
sostituire MARC."505"
Rimuove sempre 505 dal record primario. Se il 505 esiste nella Registrazione secondaria, allora il record primario ora contiene questo 505. If 505 does not exist in the secondary record, the primary record contains no 505.
Sostituire MARC."505" se esiste.
removes 505 from the primary record, only if 505 exists in the secondary record. Se il 505 esiste nella Registrazione secondaria, allora il record primario ora contiene questo 505. If 505 does not exist in the secondary record, the primary record retains its original 505.
This logic is only true when you specify a field such as MARC."505" in the Replace action. Se si utilizza l'azione Sostituisci Formato riportata di seguito, Alma tratta la regola Sostituisci come se fosse scritto "se esiste". So, for example, if you have a 260 field in the Alma primary record, a 264 field in the incoming secondary record, and you are using replace MARC.XXX, Alma keeps the 260 field and adds the 264 during merge processing (as if the "if exists" is written).
For more information see the Merge Rule Syntax table.
|
Creazione di una regola di fusione
- On the MD Editor page (Resources > Cataloging > Open Metadata Editor), select the Rules tab. Si apre la cartella Regole di Merge.
- Select New > Merge and enter your merge rule properties in the Merge Rule Properties dialog box.

- Indichi se creare la regola come privata o condivisa. This determines in which folder the indication rule is saved. You may want to save the rule to the Private folder and test it first, before moving it to the Shared folder (by changing the Properties). Private merge rules do not appear in the Merge Method dropdown, when you want to subsequently use a merge rule in Alma. Note that the Community folder has merge rules that you can copy to create your own rules.
- Select Save in the dialog. Si apre il riquadro di modifica dell'Editor MD.
- Inserisca i dettagli della Sua regola.
- Inserisca le informazioni specifiche per la Sua regola di unione. For information on the syntax to be used, see Merge Rules Syntax and Examples.
- Seleziona Salva. Le regole di merge salvate appaiono sotto la tab Regole. The saved merge rules can be edited, deleted, duplicated (to create new merge rules), and contributed to the Community Zone for sharing (see Contributing to the Community Zone - Normalization, Merge, and Indication Rules for more information). Avete anche la possibilità di modificare le proprietà delle regole di unione salvate.
- A differenza delle Regole di normalizzazione, le regole di merge non possono essere visualizzate in anteprima.
Merge Rules Syntax and Examples
Esempi di regole per profilo di importazione e copia modulo di catalogazione
Rule Syntax
| Espressione | Senso |
|---|---|
| add MARC."{tag}" | Aggiunga il contenuto del campo specificato nel {tag}.
Ad esempio, il seguente aggiunge il contenuto del campo 950: Aggiungi MARC."950" |
| add MARC."{tag}"("{ind1}","{ind2}") | Add the content of the field specified in the {tag}, as well as the stipulated indicators . Ad esempio, il seguente aggiunge il contenuto del campo 950, con indicatore (di campo) 0 e 1: aggiungere MARC."950"("0","1") |
|
aggiungi MARC."{TAG}"("{ind1}","{ind2}") se non esiste
|
Aggiunga il campo specificato nel {tag} solo se il campo e l'indicatore (di campo) non sono già presenti nel record primario. Se il record primario non ha il campo e la registrazione secondaria ha due campi con lo stesso tag e indicatore (di campo), entrambi i campi vengono aggiunti.
Ad esempio, il record primario non cambia nel seguente scenario di unione perché il tag e l'indicatore (di campo) sono già presenti nel record primario:
Syntax:add MARC."600"("0","0") if does not exists
Primary record:600 00 $a history
Secondary record:600 00 $a history of Israel
|
|
aggiungi MARC."{TAG}" escludendo {ind1} "{valori separati da virgola}" escludendo {ind2} "{valori separati da virgola}" escludendo Sottocampo ("{subfield}","{valore Sottocampo}")
|
Aggiungi tutti i valori univoci del campo specificato in {tag}, eccetto quelli con un valore specifico nel primo Indicatore (di campo), un valore specifico nel secondo Indicatore (di campo) o un valore specifico in uno dei Sottocampi. Per escludere un campo, nell'Ordine devono essere soddisfatte tutte le condizioni. Tra ciascuno di essi esiste un AND implicito. Le tre condizioni non sono obbligatorie. Potrebbe esisterne solo uno o due.
Ad esempio, non ci sono valori di campo 655 univoci da aggiungere dalla Registrazione secondaria n. 1 qui sotto; mentre ci sono valori di campo 655 univoci da aggiungere dalla Registrazione secondaria n. 2 qui sotto. Si noti che la sintassi nell'esempio seguente utilizza solo due condizioni.
Syntax:add MARC."655" excluding second indicator "7" excluding subfield ("2","local")
Secondary record #1:655_7 $a Art stories. $2 locale
Secondary record #2:655_7 $a Irish stories. $2 fast
|
| add MARC."{tag}" if does not exists | Aggiunga il contenuto del campo specificato in {tag} se questo campo non esiste già.
Ad esempio, il seguente aggiunge il campo 950 se questo campo non esiste già: Aggiunga MARC."950" se non esiste |
| add MARC."{prefix}"X | Aggiunga il contenuto del campo prefissato da {prefix}.
Ad esempio, quanto segue aggiunge il contenuto di tutti i campi tra 920 e 929: aggiungere MARC."92"X |
| add MARC."{prefix}"XX | Aggiunga il contenuto del campo prefissato da {prefix}.
Ad esempio, quanto segue aggiunge il contenuto di tutti i campi tra 900–999: Aggiungi MARC."9"XX |
| add MARC."{prefix}"X excluding "{list}" | Aggiungere il contenuto del campo preceduto da {prefix}, escludendo il campo specificato e il Sottocampo.
Ad esempio, quanto segue aggiunge il contenuto di tutti i campi tra 990 e 999, eccetto quelli di 990 e 991: Aggiungere MARC."99"X escludendo "990,991". |
| add MARC."{prefix}"XX excluding "{list}" | Aggiungere il contenuto del campo preceduto da {prefix}, escludendo il campo specificato e il Sottocampo.
Ad esempio, quanto segue aggiunge il contenuto di tutti i campi tra 900 e 999, eccetto quelli di 950 e 951: Aggiungere MARC."9"XX escludendo "950,951". |
| add MARC."{tag}" when MARC."{condtag}"."{condsf}" contains "{condstring}" | Aggiungere il campo specificato nel {tag} quando il campo/Sottocampo stipulato contiene la stringa specificata.
Ad esempio, il seguente aggiunge il tag 950 solo se il campo 250.a contiene il testo "storico". aggiungi MARC."950" quando MARC."250"."a" contiene "storico" |
| remove MARC."{prefix}"X | Rimuova il campo prefissato da {prefix}.
Ad esempio, il seguente comando rimuove tutti i campi tra 920 e 929: Rimuovere MARC."92"X |
| remove MARC."{prefix}"XX | Rimuova il campo prefissato da {prefix}.
Ad esempio, il seguente comando rimuove tutti i campi tra 900 e 999: Rimuovere MARC."9"XX |
| remove MARC."{tag}" | Rimuova il campo specificato in {tag}. Ad esempio, il seguente rimuove il campo 950: Rimuovere MARC."950" |
|
rimuovere MARC."{TAG}" escludendo “{campo escluso}”("{ind1}","{ind2}") |
Rimuova il campo specificato in {tag}, escludendo la lista di campi e l'indicatore (di campo) specificati. Ad esempio, il seguente rimuove il campo 650, tranne quelli del campo 650 con primo indicatore (di campo) 1, primo indicatore (di campo) 0 e secondo indicatore (di campo) 1, secondo indicatore (di campo) 2, o nessun indicatore (di campo), rispettivamente: rimuovere MARC."650" escludendo "650"("1"," ") rimuovere MARC."650" escludendo "650"("0","1") rimuovere MARC."650" escludendo "650"(" ","2") rimuovere MARC."650" escludendo "650"(" "," ") |
|
Rimuovere MARC."{TAG}" se non esiste il sottocampo "{valori separati da virgola}"
|
Rimuovere il campo specificato nel {tag} dal record primario se il sottocampo specificato (uno o più) in {valori separati da virgola} non esistono. Se viene specificato più di un Sottocampo, tutti i Sottocampi devono esistere/non esistere per soddisfare la condizione.
Ad esempio, il seguente campo 700 nel record primario viene rimosso perché il Sottocampo 5 non esiste.
Syntax:remove MARC."700" if not exists subfield "5"
Primary record #1:700 1_ $a Burgess, Anne.
|
|
Rimuovere MARC."{TAG}" se esiste il sottocampo "{valori separati da virgola}"
|
Rimuova il campo specificato in {tag} dal record primario se il sottocampo specificato (uno o più) in {valori separati da virgola} esistono. Se viene specificato più di un Sottocampo, tutti i Sottocampo devono esistere/non esistere per soddisfare la condizione.
Ad esempio, il seguente campo 700 nel record primario viene rimosso perché il Sottocampo 5 esiste.
Syntax:remove MARC."700" if exists subfield "5"
Primary record:700 1_ $a Jefferson, Thomas, $d 1743-1826, $e former owner. $ 5MH
|
| remove MARC."{prefix}"X excluding "{list}" | Rimuova il campo prefissato da {prefix}, escludendo la lista specificata di campi
Ad esempio, il seguente comando elimina tutti i campi tra 990 e 999, tranne 990 e 991: Rimuovere MARC."99"X escludendo "990,991". |
| remove MARC."{prefix}"XX excluding "{list}" | Remove the fields prefixed by {prefix}, excluding the specified list of fields.
Ad esempio, il seguente rimuove tutti i campi tra 900 e 999, tranne 950 e 951: Rimuovere MARC."9"XX escludendo "950,951". Quanto segue rimuove tutti i campi tranne 001, 084, 773 e 980–999. Rimuovere MARC."XXX" escludendo "001,084,773,98X,99X" |
| remove MARC."{prefix}"XX excluding "{excluded field}"("{ind1}","{ind2}") | Remove the fields prefixed by {prefix}, excluding the specified list of fields and indicators.
Ad esempio, quanto segue rimuove il campo 6XX, ad eccezione di quelli del campo 650 con primo indicatore (di campo) 1, primo indicatore (di campo) 0 e secondo indicatore (di campo) 1, secondo indicatore (di campo) 2, o nessun indicatore (di campo), rispettivamente: 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 | Sostituisca il contenuto del campo specificato nel {tag} solo se il campo esiste nella registrazione secondaria. Se il campo non esiste nella registrazione secondaria, il campo della record primaria rimane.
For example, the following replaces the 950 field in the primary record, if the field exists in the secondary record sostituire MARC."950" se esiste |
| replace MARC."{tag}" | Sostituisca il contenuto del campo del record primario specificato nel {tag}. If the field does not exist in the secondary record, the primary record will contains no {tag} field.
Ad esempio, il seguente sostituisce il campo 950 nel record primario: sostituire MARC."950" |
| replace MARC."{prefix}"X if exists | Sostituire il contenuto del campo prefissato da {prefix} se questi campi esistono nella Registrazione secondaria. If these fields do not exist in the secondary record, the {prefix} fields of the primary record remain.
Ad esempio, il seguente sostituisce tutti i campi tra 920 e 929 nel record primario, se tali campi esistono nella registrazione secondaria: Sostituire MARC."92"X se esiste. |
| replace MARC."{prefix}"X | Sostituisca il contenuto del campo del record primario prefissato da {prefix}. Se questi campi non esistono nella registrazione secondaria, il record primario non conterrà alcun {prefix} campo.
Ad esempio, il seguente sostituisce tutti i campi tra 920 e 929 nel record primario: sostituire MARC."92"X |
| replace MARC."{prefix}"XX if exists | Sostituire il contenuto del record primario nel campo preceduto da {prefix} se tale campo esiste nella registrazione secondaria. If these fields do not exist in the secondary record, the {prefix} fields of the primary record remain.
Ad esempio, il seguente sostituisce tutti i campi tra 900 e 999 nel record primario, se tali campi esistono nella registrazione secondaria: Sostituire MARC."9"XX se esiste. |
| replace MARC."{prefix}"XX | Sostituisca il contenuto del campo del record primario prefissato da {prefix}. Se questi campi non esistono nella registrazione secondaria, il record primario non conterrà alcun {prefix} campo.
Ad esempio, il seguente sostituisce tutti i campi tra 900 e 999 nel record primario: sostituire MARC."9"XX |
| replace MARC."{prefix}"X excluding "{list}" | Sostituisca il contenuto del campo del record primario preceduto da {prefix}, escludendo il campo specificato.
Ad esempio, quanto segue sostituisce il contenuto di tutti i campi tra 990 e 999 nel record primario, eccetto quello di 990 e 991. Si noti che se i campi non esistono nella registrazione secondaria, vengono creati nel record primario: Sostituire MARC."99"X escludendo "990,991" |
| replace MARC."{prefix}"XX excluding "{list}" | Sostituisca il contenuto del campo del record primario preceduto da {prefix}, escludendo il campo specificato.
Ad esempio, quanto segue sostituisce il contenuto di tutti i campi tra 900 e 999 nel record primario, eccetto quello di 950 e 951. Si noti che se i campi non esistono nella registrazione secondaria, vengono creati nel record primario: Sostituire MARC."9"XX escludendo "950,951" |
| replace MARC.XXX excluding "{list}" | Sostituire il contenuto di tutti i campi MARC del record primario, escludendo il campo specificato.
Ad esempio, il seguente sostituisce il contenuto di tutti i campi nel record primario con quello della registrazione secondaria, tranne per il campo specificato. Si noti che se i campi non esistono nella registrazione secondaria, vengono creati nel record primario: Sostituisca MARC.XXX escludendo "100,245,9XX,5XX" |
| replace MARC."{prefix}"X excluding MARC."{exclTag}"("{ind1}","{ind2}") | Sostituisca il contenuto del record primario nel campo preceduto da {prefix}, escludendo il campo specificato e l'indicatore (di campo).
Ad esempio, il seguente sostituisce il contenuto di tutti i campi tra 990 e 999 del record primario, ad eccezione del campo MARC 995(0,1) con quello della registrazione secondaria. Si noti che il campo MARC 995(1,1) è stato sostituito. If the fields do not exist in the secondary record, they are created in the primary record: Sostituisci MARC."99"X escludendo MARC."995"("0","1") |
| replace MARC."{prefix}"XX excluding MARC."{exclTag}"("{ind1}","{ind2}") | Sostituisca il contenuto del campo del record primario preceduto da {prefix}, escludendo il campo specificato e l'indicatore (di campo).
Ad esempio, il seguente sostituisce il contenuto di tutti i campi tra 900 e 999 del record primario, ad eccezione del campo MARC 995(0,1) con quello della registrazione secondaria. Si noti che il campo MARC 995(1,1) è stato sostituito. Se il campo non esiste nella registrazione secondaria, viene creato nel record primario: sostituire MARC."9"XX escludendo MARC."995"("0","1") |
| replace MARC."{tag}" excluding MARC."{exclTag}"("{ind1}","{ind2}") | Sostituisca il campo del record primario specificato in {tag}, escludendo il campo specificato e l'indicatore (di campo).
Ad esempio, il seguente sostituisce il campo 995 del record primario, tranne per 995(0,1), con quello della registrazione secondaria. Si noti che il campo MARC 995(1,1) è stato sostituito. Se il campo non esiste nella registrazione secondaria, viene creato nel record primario: Sostituisca MARC."995" escludendo MARC."995"("0","1") |
| replace MARC."{tag}" when MARC."{condtag}"."{condsf}" contains "{text}" excluding MARC."{exclTag}"("{ind1}","{ind2}") | Sostituisca il contenuto del campo del record primario che contiene la stringa specificata con quello della registrazione secondaria che contiene la stringa specificata. If the secondary record does not have a field with the specified string, the primary record's fields that contains the specified string is removed.
Esempio: replace MARC."035" when MARC."035"."a"contains"OCoLC" excluding MARC."035"("9","9") |
| replace MARC.XXX excluding MARC."{exclTag}"("{ind1}","{ind2}") | Sostituisca il contenuto di tutti i campi MARC del record primario, escluso il campo specificato e l'indicatore (di campo).
Ad esempio, il seguente sostituisce il contenuto di tutti i campi nel record primario con quello della registrazione secondaria, tranne 995(0,1). Si noti che il campo MARC 995(1,1) è stato sostituito. Se il campo non esiste nella registrazione secondaria, viene creato nel record primario: Sostituisci MARC.XXX escludendo MARC."995"("0","1") |
| replace MARC.control."{ctrl}" | Sostituire il campo di controllo MARC del record primario specificato.
Ad esempio, il seguente sostituisce il contenuto del campo di controllo MARC 008 nel record primario con quello della registrazione secondaria. Se il campo non esiste, viene creato: replace MARC.control."008" |
| replace MARC.control.position."LDR.{starting position,length}" | Sostituire una posizione specifica all'interno del campo di controllo del record primario. Questo si realizza specificando la posizione iniziale e la lunghezza.
Ad esempio, il seguente sostituisce quanto specificato nel campo di controllo del record primario a partire dalla posizione 8 e per una lunghezza di 2 posizioni con quello della registrazione secondaria. sostituisca MARC.control.position."LDR.{8,2}" |
Page tags: article:topicproduct:almacontent:Documentationlang:englishmerge recordsmerge rule syntax