UNIVERSITA’ DI MODENA EREGGIO EMILIA
Facolta’ di Ingegneria – Sede di Modena
Corso di Laurea in Ingegneria Informatica
Tesi di laurea di
Relatore
Correlatore
Controrelatore
Sviluppo di tecniche di estrazione ed inferenza di relazioni terminologiche nel
sistema MOMISElisa Marri
Chiar.ma Prof. ssa Sonia Bergamaschi
Dott. Ing. Domenico Beneventano
Chiar.mo Prof. Flavio Bonfatti
• SIM ODB-Tools interaction•SLIM WordNet interaction •ARTEMIS Affinity & Clustering•TUNIM Mapping table tuning
• SIM ODB-Tools interaction•SLIM WordNet interaction •ARTEMIS Affinity & Clustering•TUNIM Mapping table tuning
IntegrationDesigner
IntegrationDesigner
Global SchemaGlobal Schema
Query ManagerQuery Manager
WordNetWordNet
ODB-ToolsODB-Tools
Relational source
XML source
Object source
generic source
Wrapper WrapperWrapper Wrapper
Momis Mediator
Service level
Data level
UserApplication
UserApplication
Corba ObjectSoftware toolsUser
Architettura del sistema MOMIS
SI-DesignerSI-Designer
Global Schema Builder
creates
GUIUser interactionCorba interaction
S1 S2 S3
GenerazioneThesaurus
GenerazioneThesaurus
Analisi Affinità eCreazione Cluster
Analisi Affinità eCreazione Cluster
Generazione attributi globali e mapping-table
Generazione attributi globali e mapping-table
CommonThesaurus
Cluster
SchemaGlobale
Processo di integrazione
• SIM• SLIM
• ARTEMIS
• TUNIM
Relazioni del Common Thesaurus
• SYN, BT, NT, RT.
• SYNEXT, BTEXT, NTEXT.
S1 S2 S3
EstrazioneEstrazione
IntegrazioneIntegrazione
Validazione Validazione
InferenzaInferenza
RelazioniStrutturali
RelazioniValidate
RelazioniInferite
ThesaurusComune
RelazioniLessicaliRelazioni
Integrate
Generazione Thesaurus Comune
SIMA
SIMB
SIMB
Estrazione delle relazioni strutturali: modulo SIMA
Analisi degli schemi delle sorgenti al fine di esplicitare un insieme di relazioni intra-schema già implicite nella struttura degli schemi stessi.
• Analisi degli schemi ad oggetti
• Analisi degli schemi relazionali
• Analisi degli schemi semistrutturati
Analisi degli schemi ad oggetti
Si utilizzano le funzionalità del componente esterno ODB-Tools.
ODB-Tools effettua l’analisi delle gerarchie di ereditarietà ed aggregazione che legano le classi, siano esse esplicitamente indicate negli schemi (ereditarietà dirette, attributi con domini complessi), o dedotte attraverso l’algoritmo di sussunzione ed espansione semantica.
Analisi degli schemi ad oggetti: Esempio
Interface Professor : CS_Person
(source object Computer_Science, ...)
{attribute Office belongs_to;
attribute string rank;}
• < CS.Professor NTEXT CS.CS_Person >
• < CS.Professor RT CS.Office >
sparc20.dsi.unimo.it
Analisi degli schemi relazionali
• relazione RT: si rileva ogni volta in cui una classe definisce una foreign key.
• relazione NTEXT : si rileva quando la foreign key è anche chiave (primaria o candidata) della classe che la definisce.
• relazione SYNEXT: si rileva quando tra due classi sono presenti due relazioni reciproche di NT (o equivalentemente BT).
• relazione RTpartof: esprime un legame piu’ forte rispetto alla semplice relazione di aggregazione RT. Si rileva quando la foreign key e’ parte di una chiave (primaria o candidata) della classe che la definisce.
Si basa sullo studio delle foreign key e delle chiavi (primarie o candidate) presenti negli schemi da esaminare
Analisi degli schemi relazionali: Esempi
Interface Section
(source relational University,
key (section_code)
foreign key (room_code) references Room)
{attribute integer section_code;
attribute integer room_code;}
Interface Graduate_Student(source relational University,key (name)foreign key (name)
references School_Member)
{attribute string name...}
< UNI.Section RT UNI.Room > < UNI.Graduate_Student NTEXT UNI.School_Member >
sparc20.dsi.unimo.it
Analisi degli schemi semistrutturati
Si effettua su tali schemi un’analisi delle eventuali foreign key in modo analogo a quanto avviene per gli schemi relazionali; ad essa si associa poi un’analisi delle eventuali gerarchie di aggregazione utilizzando il componente esterno ODB-Tools.
Analisi sorgenti semistrutturate: Esempio
Interface Student(source semistructured
tax_Position_xml key student_code){ attribute string name; attribute string faculty_name; attribute integer student_code; attribute integer tax_fee;};
Interface ListOfStudent(source semistructured
tax_Position_xml ){ attribute set <Student>
Student;};
• < TP.Student RT TP.ListOfStudent >
.sparc20.dsi.unimo.it
Relazioni ottenute da SIMA
Estrazione relazioni lessicali: modulo SLIM
Estrae relazioni lessicali tra nomi di classi ed attributi sulla base dei significati associati dal progettista ai nomi stessi.
Utilizza il Dizionario lessicale WordNet.
Relazioni estratte da SLIM
Integrazione del progettista
Nuove relazioni possono essere fornite direttamente dal progettista per aggiungere al Common Thesaurus una conoscenza specifica non ricavata automaticamente nelle fasi precedenti. Le relazioni specificate dal progettista possono essere sia di tipo intensionale che estensionale.
Validazione delle relazioni fra attributi
Scopo di questa fase è verificare, per ogni relazione, che i domini degli attributi coinvolti siano compatibili col tipo di relazione
esaminata.
Tale procedimento è realizzato dal modulo SIMB interagendo con ODB-Tools, al cui interno sono presenti algoritmi in grado di valutare la compatibilità tra domini.
• SYN: è validata se i domini dei due attributi coinvolti sono equivalenti, oppure uno è più specializzato dell’altro.
• BT: è validata se il dominio del primo attributo è equivalente al dominio del secondo attributo, oppure lo contiene.
• NT: è validata se il dominio del primo attributo è equivalente al dominio del secondo attributo, oppure è in esso
contenuto.
Regole per la validazione : Esempio
interface Professor(source Object
Computer_Science …){attribute Office
belongs_to; attribute string first_name; attribute string last_name;….}
interface Research_Staff(source relational University…){attribute string name;attribute integer dept_code;attribute string e_mail;….}
< CS.Professor.first_name NT UNI.Research_Staff.name> [ 1 ]
< CS.Professor.belongs_to NT UNI.Research_Staff.dept_code> [ 0 ]
sparc20.dsi.unimo.it
Esempio di inconsistenzainterface Fast_Food(source semistructured ED…){… attribute string category;...}
interface Restaurant(source relational FD…){… attribute integer category;...}
• < ED.Fast_Food NTEXT FD.Restaurant >
interface Fast_Food : Restaurant(source semistructured ED …){… attribute string category;...}
ODB-Tools
[ 0 ]
Inferenza di nuove relazioni
Si utilizza ODB-Tools come motore inferenziale: sulla base delle informazioni contenute negli schemi originali e di quelle espresse dalle relazioni del Common Thesaurus, si deducono automaticamente nuove relazioni (intra-schema o inter-schema).
Risultati della validazione ed inferenza
Software realizzato
Approssimativamente sono state prodotte 3000 righe di codice commentato, implementato utilizzando la versione 1.2 del Java Development Kit della Sun disponibile sul Web presso http://java.sun.com.