Indice generale del sito  | Indice analitico 

Pagina precedente
21. Classificazione Dewey indicizzazione   88 / 396  Pagina successiva
23. UNIMARC TAG compositi e campi join Indietro
ALEPH 500 (v. 16-18): documentazione tecnica  |  Torna alla pagina iniziale:
 22. Sottocampi ripetibili 

Indici da sottocampi ripetibili

 L'incapacita' di Aleph ad indicizzare sottocampi ripetibili di uno stesso campo, ad es. 200 $a e 200$c si riferisce _solo_ agli indici a scorrimento? Ed è 'anche' per questo che esiste la fix in v. 16.02 per generare dei 423 da 200$a (pero' non da 200$c, giusto?). Empiricamente sembra che un indice per parola lo fa tranquillamente dai sottocampi ripetibili. Grazie

 

In realtà con Aleph è possibile indicizzare sottocampi ripetibili utilizzando campi virtuali e routine di espansione. Per esempio, per le ulteriori occorrenze del sottocampo a del 200, si deve creare un campo virtuale a200 nella tab_expand_extract, che poi si rende disponibile per l'indicizzazione nella tab11_acc. Attenzione che dopo aver definito il campo virtuale nella tab_expand_extract è necessario inserire la routine di expand (expand_doc_extract) in tab_expand per l'istanza ACC. A questo punto bisogna seguire le normali procedure per l'implementazione di un nuovo indice. La fix per generare il 423 non risponde quindi a questa esigenza di indicizzazione, ma semplicemente facilita il lavoro dovendo il catalogatore ripetere i dati del secondo 200$a nel 423$a. E' vero che la fix non crea 423 da 200$c. Per l'indice per parola non c'è bisogno di seguire questa procedura perchè questo indice recupera tutte le parole presenti nei campi, a prescindere dalla loro posizione. 30/05/06

Interventi svolti (prima in UNI01 e poi in UPG01: agosto Rebolino & fdo)

 Togliere richiamo a 423 in ...pc_tab/catalog/fix_doc, la si puo' lasciare in tab_fix

 tab_expand_extract

! Per SI 78987
200## a a200  8
200## c c200  8
200## d d200  8
200## i i200  8
210## a a210  3
210## c c210  3
! fine

 tab01.lng

! per Si 78987 MR FDO agosto 2007
D a200     00 0000         a200  LTitolo $a
D c200     00 0000         c200  LTitolo $c
D d200     00 0000         d200  LTitolo $d
D i200     00 0000         i200  LTitolo $i
D a210     00 0000         a210  LLuogo pubbl
.
D c210     00 0000         c210  LEditore

 tab11_acc

! SI 78987 MR FDO agosto 2007
200##                    TIT   acd
a200                     TIT
c200                     TIT
d200                     TIT
i200                     TIT
c210                     PUB
a210                     PLA  poi questo qui l'ho tolto
! fine SI 78987
200##                    TIT   a                      2
questa riduzione di 200 per evitare il ridondo di c d i esclusi anche h, b ed e, come già f (!)

 scancode.dat

! per Si 78987 MR FDO agosto 2007
200##a TIT
200##c TIT
200##d TIT
! fine

 tab_expand

! per SI 78987 MR FDO agosto 2007
ACC        expand_doc_extract
! fine

e

! per SI 78987 MR FDO agosto 2007  N.B. questa credo sia utile ma non so a che serve
GUI-DOC-D  expand_doc_extract
! fine

 edit_field.lng

rivista per visualizzazione indice TIT completo, la visualizzazione mostra ciò che è stato indicizzato, se la tab11_acc indicizza più sottocampi del 200 allora anche il meccanismo dei campi virtuali darà la ridondanza dello $a visto sempre anche a sé quando ci sono anche solo un $e (e a maggior ragione se ci sono altri a, c, d, i) dunque con un raddoppio vicino di voce
Pertanto l'indice indicizza i vari sottocampi e li mostra partitamente.
Le punteggiature davanti per $c e $d $i non restano perché ... tolte da me (comunque se restassero ricerca e il sort sono a posto tab_filing). 
In questo modo i titoli sono 'molto più brevi' e sovrapposti titoli 'diversi' appaiati dallo stesso $a, l'indice a scorrimento sarà molto più compatto e si vedranno le differenze solo dentro la visualizzazione breve.
Comunque le collane se viste nell'indice loro sono SRS e le riviste con $h $i segneranno 2 3 documenti da vedere lì ....

 

ultima comunicazione: 16384-2162 del 7 gennaio 2008: da fare in v.18
con rif. agli SI: 78987 83113 88265
Succede che se vi sono altri titoli in archivio identici non v'è fusione in un solo titolo ma due ne vengono presentati,
cfr. in sys UPG01 688366 il tit. "zzzz_Titre d'essai D" (che è un 200$d e un 510$a)
e sys 755709 dove sono dei 559 quelli che in sys 688366 sono dei 200$a "zz_Napoléoncino A" e 200$c "zzz_Indice e atlante C".
Quanto è $a NON viene duplicato, negli altri due casi invece è come se restasse traccia di $d e di $c al punto da differenziarli, (il che francamente non sembra molto funzionale o logico).
Vorremo sapere:
a) se si può correggere a1) e nel caso come
b) se non si può correggere perché è fisologico che sia così; b1) come errore o come giusto comportamento? b2) la spiegazione di b1).
Se credete passate la cosa ad Ex-Libris visto che è stata abbastanza sviscerata, ma non la molleremo come 'passata' ...
Mille grazie [ <Francesco Dell'Orso > ]
[ <Francesco Dell'Orso > ]

 

Resolution
Ciao Francesco,
ho riprodotto sul nostro server le tue tabelle del database bibliografico, almeno quelle che generano l'indice TIT e ho copiato anche il record che tu usi come esempio, salvandolo più volte invertendo, di volta in volta, i sottocampi.
Nei primi salvataggi ho lasciato la filing routine 11 così come l'ho copiata dalla tua tabella.
Naturalmente il risultato è stato quello che tu lamenti, ossia ogni stringa veniva raddoppiata o triplicata a seconda del sottocampo d'origine (a, d, c etc. etc.).
Allora ho modificato la tab_filing aggiungendo la linea che tu suggerivi come N (normalizzazione) subito come linea finale per il gruppo N e a precedere la linea:
11 F del_subfield.
Ho fermato gli indici e creato altri record. Ecco che le stringhe si svuotavano e iniziava a popolarsi uhn'unica stringa per ogni entrata.
A questo punto, per prova finale, ho lanciato la ricostruzione degli indici di scorrimento e tutto è andato a posto.


Ora non ho fatto nulla sul vostro server, perchè vorrei che provassi la filing sul tuo database dimostrativo UNI01.
Ora non so se le tabelle di UNI01 sono la copia di UPG01, ti basta copiare la tab_filing, tab_expand_extract, tab11_acc.
Nella tab_expand dovresti aggiungere (perchè così è sul mio server e ho visto che nella vostra tab_filing non c'è):

ACC expand_doc_extract

e nella tab_filing aggiungi la linea:
11 N del_subfield_code

Fai qualche prova e vedrai che andrà a posto.
Io sono in ufficio, afona, ma se hai bisogno possiamo sentirci.
Ciao
Michela
Università degli studi di Perugia - CSB - Servizio della biblioteca digitale: Ufficio Aleph / a cura di Francesco Dell'orso 
v. 2.3 - ottobre 2010;
vai alla pagina iniziale