Istituto di Teoria e Tecniche dell’Informazione Giuridica Consiglio Nazionale delle Ricerche Lorenzo Di Silvestro, Daria Spampinato Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" First annual activity report for the project "BIA-Net – On-line line access to the Bibliotheca Iuris Antiqui" Keywords: XML, TEI, Dublin Core, XML Native Database, eXist, BIA (Biblioteca Iuris Antiqui), roman law, digital library, textual archives, bibliographic archives Rapporto tecnico n. 2/2010 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" Sommario: 1.Progetto BIA-Net - 2.Obiettivi dell’unità CNR - 3.Analisi dei dati - 4.Analisi e gestione greco - 5.Il modello XML/TEI - 6.Mapping Digesta e Codex Iustinianus - 7.La traduzione delle fonti - 8.Mapping di OPERA - 9.Traduzione in Dublin Core - 10.Infrastruttura portale e database - Riferimenti 1. Progetto BIA-Net Il progetto si propone di rendere accessibile in rete l’intero patrimonio scientifico romanistico già digitalizzato nella Bibliotheca Iuris Antiqui (BIA2000) e finora disponibile solo su supporto CD-ROM. Il progetto renderà possibile la realizzazione di una Biblioteca digitale per la comunità storico-giuridica, basata su una collezione digitale specialistica arricchita da particolari servizi. Il progetto è finanziato con fondi MIUR del PRIN 2007 di cui è coordinatore scientifico nazionale il prof. Nicola Palazzolo. Al progetto afferiscono cinque unità di ricerca di cui tre costituite da studiosi di diritto romano (Università di Perugia, di Catania e di Catanzaro), una di specialisti di Biblioteche digitali (Università di Parma) e l’unità ITTIG-CNR. La banca dati BIA consta di tre archivi integrati - dati concettualmente e strutturalmente diversi interrogabili attraverso un unico programma di recupero di informazioni: - Fontes: base di dati primaria. È costituita da un fondo documentario di notevole ampiezza contenente fonti giuridiche romane a testo pieno. - Opera: base di dati secondaria. Comprende l’intera produzione scientifica degli anni 1940- 1998 relativa al diritto romano, e agli altri diritti dell’antichità. - Thesaurus: archivio collaterale di codici di classificazione numerici e di descrittori in linguaggio naturale. Contiene un insieme strutturato di circa 8000 termini controllati e normalizzati che sono patrimonio specifico delle discipline relative ai diritti dell’antichità. BIA-Net si prefigge di apportare a BIA2000 diverse miglioramenti, quali: - fornire strumenti atti alla realizzazione di frequenti aggiornamenti all’archivio Opera, eventualmente inserendo anche articoli a testo pieno - dare la possibilità di modificare l’archivio Fontes, potendone integrare il contenuto con fonti di nuova digitalizzazione - aggiungere l’apparato critico (note, varianti dei manoscritti, ecc.) ad oggi totalmente assente - garantire l’interoperabilità dei dati 2 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" - disporre l’accesso alle risorse attraverso l’uso di protocolli aperti. 1. Obiettivi dell’unità CNR Durante i due anni del progetto BIA-Net l’unità CNR si deve occupare sia della conversione degli archivi di BIA2000 in formati standard riconosciuti a livello internazionale per la digitalizzazione degli archivi testuali e bibliografici in linguaggio XML, sia della realizzazione di un prototipo di un’interfaccia web per l’accesso ai dati. La caratteristica del linguaggio XML è la separazione concettuale tra la rappresentazione logica dei dati e la loro visualizzazione tramite un media. Quindi lo scopo dell’utilizzazione dello XML è principalmente quello di rappresentare la struttura logica delle informazioni per poi demandare a un software di presentazione le funzionalità proprie della visualizzazione. Nel primo anno di attività l’unità CNR ha lavorato a stretto contatto con gli specialisti delle altre discipline. Si è concentrata, in collaborazione con l’Unità di Parma, nella ricerca degli standard opportuni per la definizione delle varie fonti e dei dati bibliografici. Sono stati individuati rispettivamente lo XML/TEI e il Dublin Core ovviamente nella sua implementazione XML. Inoltre l’unità si è preoccupata di impostare un minisito web per inserire pagine di descrizione e presentazione del progetto. Le pagine sono reperibili all’indirizzo http://www.lex.unict.it/cir/progetti/2007/miur2007.htm. Lo schema del sito è volutamente semplice e necessita dell’intervento di tutte le unità per il suo mantenimento. 2. Analisi dei dati I dati che l’unità deve trattare sono disponibili in vari formati, a seconda se provenienti dal CDROM oppure dalle altre unità di ricerca. Si presentano in diversi formati proprietari: RTF, DOC (Microsoft Word) e BEF (BiaEditor) per i dati di recente revisione o nel formato CDS (BIA2000) per i dati del CDROM. Il primo archivio analizzato è stato Fontes. Di ogni fonte è stato necessario studiare il formato del file con cui questa è stata digitalizzata, comprenderne la sua sintassi e la struttura. Inoltre è importante conoscere la struttura propria della fonte. I file in formato CDS sono scritti seguendo la sintassi del formato Microsoft RTF, ma non sono semanticamente validi. 3 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" È stata scartata quindi l’idea di utilizzare o implementare un parser RTF generico. Un parser per RTF non avrebbe riconosciuto per intero il documento e avrebbe perduto informazioni importanti, relative alla struttura delle fonti. Si è studiato il file CDS evidenziando solo ciò che costituiva informazioni utili per la conversione. Oltre ai dati testuali delle fonti sono stati individuati alcuni metadata che identificano porzioni di testo mettendone in evidenza la struttura e che vengono utilizzati dal software di BIA2000 per un’opportuna formattazione. Una prima analisi ha evidenziato l’eterogeneità della struttura propria delle varie fonti, per tale motivo la conversione e traduzione dei dati in uno standard XML è da effettuarsi separatamente per ogni fonte. 3. Analisi e gestione greco In BIA2000 è stato utilizzato un charset non standard con glifi disegnati appositamente (Greek.ttf Copyright © BIA, 1998). Per la consultazione delle fonti contenute nel CDROM BIA2000 è necessario installare sul computer il font proprietario e tale operazione è fortemente sconsigliata nella logica dell’open source; per tale motivo si è pensato di utilizzare la codifica in standard Unicode UTF-8 dei font greci. È stato quindi necessario creare un modulo di conversione dei caratteri greci e una tabella di corrispondenza dei grafemi del font Greek.ttf con i codici esadecimali dell’Unicode. Si è quindi stilata una lista dei 236 caratteri presenti nel font proprietario di BIA e per ognuno si è trovato il corrispettivo in Unicode. Ecco di seguito una porzione della tabella di conversione: codice o carattere greek bia " $ % & font greco " $ % & codice unicode esadecimale 03e0 03db 03d9 03da font greco e f g h i v codice unicode esadecimale 03b5 03c6 03b3 03b7 03b9 03c2 ... codice o carattere greek bia e f g h i j ... 4 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" codice o carattere greek bia \’a1 \’a2 \’a3 \’a4 \’a5 \’a6 \’a7 \’a8 \’a9 \’aa \’ab \’ac \’ad \’ae \’af \’b0 \’b1 \’b2 \’b3 \’b4 \’b5 \’b6 font greco ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ­ ® ¯ ° ± ² ³ ´ µ ÿ codice unicode esadecimale 1f01 1f00 03ac 1f05 1f04 1f70 1f03 1f02 1fb6 1f07 1f06 1f81 1f80 1fb4 1f85 1f84 1fb2 1f83 1f82 1fb7 1f87 1f86 Nella prima colonna è presente il codice utilizzato per indirizzare i caratteri del font greco di BIA nel file CDS (come si può vedere dal frammento della tabella allegata, sono stati utilizzati segni di punteggiatura, caratteri latini e codici esadecimali). Nella seconda colonna è presente il carattere greco, così come viene visualizzato sul CD BIA2000. Nella terza il codice esadecimale relativo all’Unicode corrispondente. Al momento della conversione ogni carattere viene quindi sostituito da un’entità XML che richiama il codice Unicode UTF-8 (es. &#1f86; per il carattere ÿ). 4. Il modello XML/TEI Il sistema di codifica XML/TEI (Text Encoding Initiative) è divenuto uno standard internazionale de facto per la digitalizzazione dei testi in ambito umanistico. L’utilizzo del linguaggio XML (libero e portabile) rende lo Schema TEI slegato da qualsiasi architettura software e hardware. La scelta di questo formato nella sua ultima versione (P5) consente: - l’interoperabilità dei dati, garantendone la confrontabilità con altre iniziative analoghe; - di rispecchiare la forma gerarchica articolata delle fonti giuridiche dell’antichità, permettendo un’accurata codifica delle diverse caratteristiche del testo; 5 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" - un supporto completo per la gestione dei caratteri accentati e speciali e per i font greci. 1. Mapping Digesta e Codex Iustinianus In collaborazione con l’unità di ricerca dell’Università di Parma è stata effettuata un’analisi approfondita della struttura delle fonti. Si è iniziato con lo studio del Digesta e del Codex che costituiscono più del 60% dell’intero corpus di Fontes. Un’analisi approfondita della struttura propria delle fonti ha portato all’individuazione di alcuni tag dello Schema XML/TEI che meglio rispecchiano la forma gerarchica articolata della fonte. Le fonti Digesta e Codex sono costituite da Libri. Ciascun Libro è diviso in Titoli descritti da Rubrica indicante l'argomento trattato. Ogni Titolo è suddiviso in più Frammenti, questi ripartiti in diversi Paragrafi. Ad ogni Frammento è associata una inscriptio con il nome del giurista che ne è l'autore, l'opera e il numero del libro dal quale è tratto. Nel Codex in più è presente una subscriptio per ogni Frammento, indicante la data e il luogo di pubblicazione. Nello Schema XML/TEI sono stati identificati cinque tag <divN>, con N variabile da 0 a 4, che identificano porzioni di testo annidate: - <div0> per il Libro, - <div1> per il Titolo, - <div2> per la Rubrica e il Frammento, - <div3> per l’inscriptio e la subscriptio, - <div4> per i Paragrafi. Il nome del Libro (che non era presente nel file d’origine ed è stato costruito in maniera semiautomatica) viene etichettato col tag <head>. Il contenuto della Rubrica viene inserito nel tag <argument>. Ai nomi dei giuristi viene associato il tag <name>. Il testo greco viene identificato mediante il tag <foreign>. Infine il tag <hi> viene utilizzato per etichettare porzioni di testo formattato. Con la scelta degli opportuni tag, dei loro attributi, imponendone la giusta disposizione, abbiamo così creato lo Schema XML secondo le Guidelines del TEI che rappresenta la struttura propria delle fonti giuridiche dell’antichità. 6 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" 1. La traduzione delle fonti Poiché i file CDS non seguono alcuna struttura (come evidenziato supra non sono RTF validi), è stato necessario realizzare la conversione nel formato XML/TEI in due fasi a sé stanti. La prima fase consiste nella conversione dei file dal formato d’origine in XML senza perdita d’informazione, mediante la creazione di un apposito parser; nella seconda fase, le informazioni contenute nel file XML prodotto precedentemente vengono strutturate in XML/TEI. Per l’implementazione del parser relativo alla prima fase di conversione sono stati utilizzati JLEX (un generatore di analizzatori lessicali) e CUP (un generatore di parser LALR per Java). La seconda fase è stata realizzata mediante un convertitore scritto appositamente in linguaggio PHP. Alla fine delle due fasii di conversione dei dati si ottiene un file per ogni fonte, valido secondo lo Schema XML/TEI. Di seguito viene riportato un esempio delle due fasi di conversione di un brano dei Digesta dal formato CDS al formato finale XML/TEI. Figura 1 - Brano Digesta in formato CDS 7 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" Figura 2 - Brano Digesta in formato XML intermedio Figura 3 - Brano Digesta in formato XML/TEI 8 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" 2. Mapping di OPERA Per la conversione dei file relativi all’archivio bibliografico Opera è stato utilizzato il formato standard internazionale Dublin Core, nella versione qualified. Seguendo le specifiche della Dublin Core Metadata Initiative è stata adattata una sua implementazione XML. È stata così effettuata la mappatura dei dati contenuti nell’archivio Opera con il formato del Dublin Core: Dublin Core Opera dc:title Titolo dc:creator Autore dc:subject.class Codice di classificazione dc:subject.bias Descrittore dc:description Sommario / Abstract dc:publisher Luogo e Editore dc:date dc:date.start / dc:date.end Anno Intervallo anni dc:type non presente dc:format Pagine o Intervallo pagine dc:identifier non presente dc:relation.ispartof Titolo della rivista di pubblicazione dc:relation.references Luogo fonte citato Tabella 1 - Mapping campi di Opera in Dublin Core 3. Traduzione in Dublin Core La traduzione dei dati di Opera viene effettuata mediante un’unica fase di conversione, a meno di un semplice preprocessing per i file Microsoft Word relativi ai recenti spogli bibliografici prodotti dalle altre unità di ricerca. Il traduttore è stato implementato in linguaggio PHP e oltre alla conversione dei campi esistenti in Opera crea e compila automaticamente dei nuovi tag Dublin Core. 9 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" Il tag <dc:type> distingue tre tipologie del dato bibliografico: lo spoglio, il periodico o la monografia. Queste vengono identificate mediante l’analisi automatica di alcune informazioni rilevanti contenute nei file dell’archivio Opera. Ad esempio, i periodici vengono identificati dalla presenza del codice di classificazione (“CL”) 2.6.5; .6.5; spogli e periodici vengono riconosciuti dalla presenza dell’etichetta “P” che indica l’entità responsabile della produzione della risorsa, e l’etichetta “TP” che indica il riferimento ad una risorsa correlata (titolo della rivista spogliata). Per rispettare pettare gli standard internazionali e semplificare la futura interoperabilità dell’archivio bibliografico con quello delle fonti è stato anche introdotto un identificatore univoco (numerico) da associare ad ogni risorsa dell’archivio. Questo tag, <dc:identifier> ifier>, viene compilato in automatico durante la conversione nel formato XML nel modo seguente: viene creato un numero a otto cifre concatenando l’anno (in quattro cifre) del dato bibliografico e un numero progressivo dell’intervallo 0000-9999. Mentre nei file di origine i valori multipli venivano inseriti nel medesimo campo separati da un elemento carattere di punteggiatura scelto arbitrariamente, per rispettare lo standard DC, durante la conversione è stato assegnato un valore per ogni elemento XML <dc:creator>, <dc:relation.references>, <dc:subject.class> e <dc:subject.bias>. Gli intervalli temporali sono stati sciolti in due valori etichettati con <dc:date.start> e <dc:date.end>.. È stata riconosciuta la presenza del titolo della rivista nel generico campo camp pubblicazione che nello standard Dublin Core dovrebbe contenere solo informazioni relativa all’editore e il luogo di pubblicazione; nelle schede degli articoli (con type=”spoglio”) il titolo della rivista di pubblicazione è stato etichettato con <dc:relation.ispartof>. Di seguito un esempio della traduzione di una scheda bibliografica. Figura 4 - Scheda Opera in formato CDS 10 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" Figura 5 - Scheda Opera in formato XML/DC 4. Infrastruttura portale e database Secondo obiettivo dell’unità CNR, come accennato supra,, è la creazione di un prototipo di portale web verticale per la comunità scientifica dei diritti dell’antichità. Questo deve essere realizzato con logica open source,, mettendo a disposizione diversi strumenti avanzati per l’accesso ai dati. Si deve realizzare un motore di ricerca semantico e meccanismi facilitati per l’inserimento, la modifica, l’esportazione e il salvataggio dei dati immagazzinati. Gli archivi sono stati precedentemente digitalizzati secondo standard XML. I file XML prodotti sono concettualmente ncettualmente diversi: si hanno documenti XML Document-centric Document centric (in formato TEI) e documenti XML Data-centric centric (in formato Dublin Core). Document-centric Data-centric centric struttura poco regolare regolare granularità bassa alta ordine tag rilevante non rilevante Tabella 2 - Document-centric vs Data-centric La scelta di un sistema di gestione dati appropriato si basa soprattutto sulla tipologia dei documenti XML da trattare. Infatti i file document document-centric e data-centric, centric, malgrado la loro differenza non sia 11 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" sempre netta, presentano varie caratteristiche che sono fondamentali per la loro rappresentazione nel database ai fini di ottenere migliori prestazioni. I sistemi che sono ottimali per i document-centric sono in grado di gestire in modo opportuno anche i data-centric, al contrario sistemi ottimizzati per gestione dei data-centric non riescono a trattare in maniera adeguata i document-centric. Tra i sistemi di gestione dati che operano con file document-centric vi sono i DAMS (Digital Asset Management System). Si è pensato di poter usufruire dei benefici di un sistema DAMS per l’archiviazione e catalogazione di risorse multimediali ai fini del progetto BIA-Net; in particolare pensando una sua futura espansione consistente nel collegare via web varie forme di dati di interesse dello studioso romanista, quali immagini di testi, di papiri, video. Si è cercato di capire se e come poter utilizzare il progetto di portale PinakesText per gli scopi di BIA-Net, mediante un’attenta analisi del prodotto. Ma al momento lo stato di realizzazione di PinakesText non è compiuto, inoltre considerato che le potenzialità e le molte utility di PinakesText mal si conciliano con le esigenze di una relativamente semplice banca dati, risulta più opportuno valutare altri sistemi di gestione. Si è passato, quindi, allo studio delle diverse tipologie di database per capire quale meglio rispondesse alle nostre esigenze. XML-Enabled Native XML unità base record in tabelle nodo xml DTD o Schema necessario non necessario interrogazioni SQL XQuery dati XML data-centric document-centric Tabella 3 - XML-Enabled vs Native XML Dall’analisi si è stata evidenziata la necessità di utilizzare un database che gestisca in modo ottimale i document-centric, che sia modulare, ben documentato e supportato dalla comunità degli utilizzatori, aggiornato, open source e portabile. La scelta è caduta sul native XML database management system eXist. Tale sistema, realizzato interamente in ambiente Java, mette a disposizione un’interfaccia per lo sviluppo di moduli aggiuntivi, incorpora un modulo per l’indicizzazione dei testi (Lucene) e opera sui dati XML direttamente con il linguaggio XQuery. 12 / 13 Relazione attività del primo anno del progetto "BIA-Net – Accesso in rete alla Bibliotheca Iuris Antiqui" Riferimenti [1] Bibliotheca Iuris Antiqui. BIA2000. Sistema informativo integrato sui diritti dell'antichità 2002. Direzione scientifica di N. Palazzolo, Catania, Torre + CD-ROM. [2] N. Palazzolo, Strumenti informatici e lessicografici come ausilio per la traduzione del Digesto. In: F.Sini R.Ortu a cura di. Atti del Convegno "Scientia iuris e linguaggio nel sistema giuridico romano". 2002. (pp. 87). Milano: Giuffrè. [3] O. Licandro - D. Spampinato, Bibliotheca Iuris Antiqui. Bilancio e prospettive, in Informatica e diritto (1997) fasc. 1, 191 ss. [4] N. Palazzolo - L. Maggio, Elementi di informatica romanistica, 2001, Catania, Torre. [5] D. Canali, Standard per la biblioteca digitale, 2006, Milano, Bibliografica. [6] A. Salarelli, A.M. Tammaro, La biblioteca digitale, 2006, Milano, Bibliografica. [7] RFC 3629 (nov. 2003) UTF-8, a transformation format of ISO 10646 <http://tools.ietf.org/html/rfc3629>. [8] UNICODE UTF-8 <http://unicode.org/resources/utf8.html>. [9] Text Encoding Initiative <http://www.tei-c.org.> [10] TEI P5 2007, Guidelines for electronic Text Encoding and Interchange, TEI Consortium (eds.). <http://www.tei-c.org/Guidelines/P5/>. [11] Dublin Core Metadata Initiative <http://dublincore.org/>. [12] PinakesText <http://www.pinakes.org>. [13] W. Meier, eXist: An Open Source Native XML Database, Paper presented at “Web, Web-Services, and Database Systems. NODe”, 2002, Erfurt, Germany. [14] eXist-db Open Source Native XML Database <http://exist.sourceforge.net/>. 13 / 13