corso di laurea specialistica in ingegneria informatica i ntegrazione multilingua di sorgenti dati p...
TRANSCRIPT
Corso di Laurea Specialistica in Ingegneria Informatica
INTEGRAZIONE MULTILINGUA DI SORGENTI DATI POSTGRESQL DELLA
PUBBLICA AMMINISTRAZIONE: ACCOPPIAMENTO DEI SISTEMI MOMIS
E SIAM
Relatore: Chiar.mo Prof. Sonia Bergamaschi
Correlatori:PhD. Ing. Mirko OrsiniPhD. Ing Laura Po
Candidato: Saponi Riccardo
Anno Accademico 2008 - 2009
Sommario Obiettivo della Tesi Il Progetto MOMIS Il SIAM (Sistema Informativo AMbientale) Integrazione MOMIS - SIAM
Wrapper JDBC / PostgreSQL Sviluppo di un database multilingua per l’utilizzo in
MOMIS Materializzazione dello Schema Globale
Test, conclusioni e sviluppi futuri
Obiettivo
Ipotesi : poter disporre di una vista integrata dei dati presenti negli Uffici del settore Ambiente di diverse province, attraverso l’ accoppiamento del progetto MOMIS “DataRiver” e del programma SIAM.
Sono state eseguite 3 fasi:
1. Creazione di un Wrapper per sorgenti PostgreSQL;
2. Analisi e integrazione del database lessicale multilingua MultiWordNet;
3. Implementazione di funzioni per la materializzazione dello Schema Virtuale Globale(GS) all’interno della versione DataRiver di MOMIS;
MOMIS DataRiver SIAM
MOMIS (Mediator envirOnment for Multiple Information
Sources) MOMIS e' un sistema per l'integrazione intelligente di informazioni per sorgenti dati strutturate e semi - strutturate nato fra una collaborazione dell’Università degli Studi di Modena e Reggio Emilia (DbGroup) e l’Università di Milano.
OBIETTIVO: Integrare le informazioni ricavate da sorgenti eterogenee costruendo uno Schema Globale Virtuale che consenta all’utente di sottomettere delle query e che conservi i dati nelle sorgenti locali.
Approccio opposto rispetto quello di un Data Warehouse, dove invece i dati sono duplicati su un database interrogabile dall’utente.
MOMIS (Mediator envirOnment for Multiple Information
Sources)
SIAM (Sistema Informativo AMbientale)
•Si pone come strumento di integrazione e collaborazione fra i vari soggetti coinvolti nei processi amministrativi che regolano la gestione dell’ambiente (Operatori, Imprese, Assessori).
•Piena compatibilità e possibilità di scambio di informazioni con altri strumenti informatici presenti nell’Ente(software di protocollazione; GIS; sportello SUAP..).
Prodotto web-based sviluppato da QUIX s.r.l. che si occupa di gestire il flusso completo di tutte le pratiche elaborate dall’Ufficio Ambiente delle Province.
Un Wrapper è un modulo che si occupa di rendere le diverse sorgenti
di informazione conformi ad uno standard interno o esterno. In
particolar modo si occupa di :
Tradurre la descrizione della sorgente nel linguaggio del mediatore;
Tradurre l’interrogazione ricevuta dal mediatore in una query in linguaggio locale ( ODLI
3 )
Trasferire i risultati parziali al mediatore
Wrapper JDBC / PostgreSQL
Wrapper JDBC / PostgreSQL PostgreSQL è un object – relational database management
system (ORDBMS) open source, seguito del progetto Ingres.
E’ un sistema per la gestione di database relazionali che
assume caratteristiche tipiche dei Linguaggi Orientati agli
Oggetti Definizione di Oggetti e Classi; Ereditarietà;
Consente di implementare funzioni e procedure tramite il
linguaggio nativo PL / pgSQL e i linguaggi di
programmazione più comuni: C++, Ruby, Perl, Python.
Tipi di dato JDBC compatibili.
Open source, multipiattaforma e ampia community di
sviluppo.
Wrapper JDBC / PostgreSQL Creazione della classe
WrapperJdbcCore_PostgreSQL, estensione delle interfacce Java già presenti.
Interfaccia grafica per l’inserimento dei parametri per la connessione JDBC: Domain; Port; User; Password; Scelta del database;
Generazione automatica della stringa di connessione JDBC;
Scelta dei database presenti sul server mediante il reperimento delle informazioni dalla tabella di sistema PG_CATALOG
Stato dell’ arte: WordNet : Database lessicale di riferimento in lingua inglese che definisce i
concetti della conoscenza e le relazioni che intercorrono fra di essi.Caratteristiche: Categoria Sintattica: categorie in cui sono suddivisi i termini
(nomi, aggettivi,verbi,avverbi) Lemma: parola e/o termine a cui vengono associati uno o più
significati Synset: insieme di termini associati ad un medesimo significato ed
appartenenti alla stessa categoria sintattica Glossa: descrizione a parole di un significato preciso. Associata a
ciascun synset Relazione Semantica: relazione che lega due synset appartenenti
alla stessa categoria sintattica Relazione Lessicale: relazione tra due lemmi appartenenti a
synset distinti
Sviluppo di un database multilingua per l’utilizzo in MOMIS
WordNet concorre alla generazione del Common Thesaurus durante il Processo di Integrazione, contribuendo alla definizione di relazioni terminologiche attraverso il processo di annotazione.
W ord form
M eaning (synset) Book Volume Catalog
a w ritten w ork or com position that has been published (printed on pages bound together)
physical objects consisting of a num ber of pages bound together; "he used a large book as a doorstop"
a book or pam phlet containing an enum eration of things
Sviluppo di un database multilingua per l’utilizzo in MOMIS
Book SYN Volume Book BT Catalog
Sviluppo di un database multilingua per l’utilizzo in MOMIS
Per una maggior compatibilità con la versione di WordNet presente in MOMIS è stato analizzato e scelto MultiWordNet come database lessicale multilingua.
MultiWordNet mira a creare un database lessicale strettamente legato a Princeton WordNet che consenta un facile inserimento di nuove lingue.
• Relazioni semantiche : invariate rispetto WN. Si procede con degli add on;
• Relazioni lessicali : re – mapping dei lemmi basato sulla lingua;
Si compone di una parte comune (relazioni semantiche) e di parti specifiche a ciascuna lingua (relazioni lessicali)
Allineamento di MultiWordNet 1.6 a WordNet 2.0: Aggiornamento coerente dei record (Thanks to Rada Mihalcea,
University of Texas)
Integrazione di MultiWordNet e WordNet 2.0: Inserimento di nuovi tipi di Relazione e di Extender Procedura di integrazione basata sulla lingua del record.
Modifiche al software: Nuovi parametri di configurazione per Torque; Enum AnnotationLanguage; Gestione lingua lato Backend: synset e lemma recuperati mediante la
lingua di Annotazione; Gestione lingua lato Frontend: menù di scelta per la lingua in fase di
inserimento e ricerca del record; Modifiche agli algoritmi WNFS e WND per la gestione della lingua di
Annotazione. Implementazione di uno Stemmer Algorithm per la lingua italiana e
refactoring delle classi di Stemming
Sviluppo di un database multilingua per l’utilizzo in MOMIS
MOMIS Versione “DataRiver” Progetto Open Source che si prefigge di “prodottizzare” MOMIS. Sviluppato da “Datariver S.r.l.”, una spin-off nata per iniziativa di
professori e ricercatori del DbGroup del Dipartimento di Ingegneria dell’Informazione di Modena e della ditta QUIX S.r.l.
Caratteristiche: GUI sviluppate mediante Eclipse – RCP Gestione di WordNet tramite file originali o JPA (Java Persistence
API) DataBase HSQLDB per supporto a Query Manager Gestione del progetto mediante il tool MAVEN
…MA…STESSO PROCESSO DI INTEGRAZIONE DI MOMIS!
Interrogazione di uno Schema Globale generato con MOMIS
Materializzazione dello Schema Globale
Creazione del modulo QUERY MANAGER EXPORT DATA;
Tramite il modulo QUERYMANAGER si invocano le interfacce per la gestione della connessione ad un target database;
Inserimento dei parametri “Wrapper – like” per la connessione JDBC al target database;
Chiamata alla classe QueryManagerExportData per la gestione delle funzioni di materializzazione a partire dallo Schema Globale;
Materializzazione dello Schema Globale
Esecuzione di script SQL creati runtime per la creazione di tabelle e l’inserimento dei dati sulla base delle Classi Globali ricavate dallo schema e salvataggio sul target database
Test e analisi dei risultati Test effettuati su schemi di prova e sul database di
produzione del SIAM della Provincia di Ancona (90 tabelle, 1711 attributi)
Wrapper : importate con successo sorgenti relazionali site su server locali o remoti.
Integrazione database lessicale Multilingua: annotazione eseguita in base alla scelta della AnnotationLanguage. Combinando le diverse tecniche di annotazione automatica si arriva ad avere il 62 % dei termini presenti annotati(1069 su 1711).
Stemmer: Problemi con la gestione delle forme flesse della lingua italiana.
Materializzazione dello Schema Globale: test eseguito con successo su una sorgente locale, fallito con più sorgenti. Diversi scenari di sviluppo
Concludendo: Wrapper per sorgenti PostgreSQL sviluppato e testato con
successo; Integrazione di un database lessicale multilingua sviluppata e
testata con successo. Alcuni miglioramenti riguardo lo stemmer italiano
Materializzazione dello Schema Globale non completato sebbene testato con successo su una sorgente;
Sviluppi futuri Rifinitura delle funzioni e della logica di gestione di lingue
differenti Completamento delle funzioni di materializzazione dello Schema
Globale Prevedere l’integrazione di diversi schemi Prevedere dei controlli sulla creazione e
sull’aggiornamento temporale dei dati
Conclusioni e sviluppi futuri
Grazie per l’attenzione