Lavorare con le Regole di Unione

Panoramica e istruzioni per la creazione di regole di unione per combinare due record utilizzando l'Editor MD.

Traducibile
Per lavorare con le regole di unione, è necessario disporre del seguente ruolo:
  • Amministratore catalogo
Le regole di unione forniscono istruzioni su come due record devono essere uniti. When merging two records, the primary record is the record that will contain all of the merged information. The secondary record is the record whose information will be merged into the primary record. Le regole di unione o rimuovono le informazioni nel record primario o copiano le informazioni dalla registrazione secondaria al record primario. Merge rules do not affect the secondary record, which may remain after the merge; although it is typically deleted.
L'Editor MD consente al catalogatore di creare regole di unione e applicarle ai record MARC 21, oppure di applicare regole di unione già create. The syntax to be used for the rules is described in Merge Rules Syntax and Examples. Also, see Merge Rules in the Training section for more information.

Record Primari

Esistono diversi scenari possibili per l'unione dei record. Il record principale in ciascuno di questi scenari è il seguente:
Record primario per l'unione
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
Since the primary records for importing profiles and copy cataloging (as in Searching External Resources) are essentially the opposite, a merge rule written for an import profile cannot work for copy cataloging (and vice versa). Lei richiede due set di regole di unione, uno per il profilo di importazione e un altro per la copia del modulo di catalogazione. An example of each type of rule can be found in Examples of Rules for Import Profiles and Copy Cataloging.

Selezione della regola di Merge in Importazione profile.png

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

Di seguito sono riportate le regole di base per il merge. Ogni regola di base può essere applicata incondizionatamente oppure può essere soggetta a una condizione sul record primario. È importante l'Ordine in cui vengono applicate le regole.
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

Per creare una regola di unione, utilizzare la procedura descritta in questa sezione.
For Network Zone consortia members, users can control whether to save new rules locally or in a network institution. To make this selection, open the Records or Templates area, and go to New > Placement Options. Si noti che questa selezione è per l'utente.
Per creare una regola di fusione:
  1. On the MD Editor page (Resources > Cataloging > Open Metadata Editor), select the Rules tab. Si apre la cartella Regole di Merge.
  2. Select New > Merge and enter your merge rule properties in the Merge Rule Properties dialog box.Merge rule dialog.png
  3. 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.
  4. Select Save in the dialog. Si apre il riquadro di modifica dell'Editor MD.
  5. 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.
  6. 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

Le regole di unione seguono una sintassi specifica. For a list of merge rule examples, see the examples below or Alma Merge Rule Examples.
Sebbene sia consentito includere più operatori booleani nelle regole, quando ne viene selezionato un numero elevato, è probabile che le prestazioni risultino più lente. Pertanto, ogni regola dovrebbe includere non più di 200 operatori booleani.

Esempi di regole per profilo di importazione e copia modulo di catalogazione

Lei dispone di un record primario in Alma contenente metadati di base, la maggior parte dei quali desidera sostituire con i metadati della Registrazione secondaria. 001, 019, 035, 59X, 9XX.
Utilizzi una regola di unione come la seguente per il profilo di importazione:
rule "Replace all fields except local data and match keys" when merge then replace MARC.XXX excluding "001,019,035,59X,9XX" end
Use a merge rule such as the following for copy cataloging (see Configuring External Search Resources):
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
Si noti che in entrambi gli esempi precedenti, quando un campo non esiste nella registrazione secondaria, il campo del record primario non viene rimosso. Se preferisce che il campo del record primario venga sempre rimosso, usi le regole di rimozione e di aggiunta anziché le regole di sostituzione. For details, see Replace in Basic Merge Rules table.

Rule Syntax

Condizioni e azioni si applicano agli elementi record, come il Record in formato MARC, campo (uno o più), Indicatore (di campo), Sottocampo (uno o più) e contenuti di campo/Sottocampo.
Le condizioni si applicano agli elementi principali del record. Per applicare un'azione a un elemento del record, l'elemento deve corrispondere alla sintassi nella tabella sottostante.
Merge 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}"