Progetto e realizzazione di un wrapper XML Schema per il sistema MOMIS Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria – sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica Progetto e realizzazione di un wrapper XML Schema per il sistema MOMIS Relatore Chiar.mo Prof. Sonia Bergamaschi Correlatore Prof. Maurizio Vincini Tesi di Laurea di Roberto Rasi Buongiorno, mi chiamo … Il titolo della mia tesi è PROGETTO E REALIZZAZIONE DI UN WRAPPER XML SCHEMA PER IL SISTEMA MOMIS
Indice Il sistema MOMIS Il linguaggio ODLI3 Lo standard XML Schema Progetto e implementazione del Wrapper XML Schema Regole di traduzione Conclusioni e lavoro futuro In questa presentazione parlerò innanzitutto del sistema MOMIS e del linguaggio ODLI3 Poi introdurrò lo standard XML Schema e parlerò della traduzione da XSD a ODLI3 Infine l’implementazione del wrapper e le conclusioni Roberto Rasi - 16 febbraio 2006
Il sistema MOMIS MOMIS = Mediator envirOnment for Multiple Information Sources E’ un sistema a mediatore per l’estrazione e l’integrazione intelligente di informazioni (I3) provenienti da sorgenti di dati eterogenee (strutturate, semi-strutturate e non strutturate) Utilizza un approccio semantico per l’integrazione Come dice il nome, MOMIS è un sistema a mediatore per l’integrazione intelligente di informazioni estratte da sorgenti di dati eterogenee. E’ il frutto di una collaborazione tra l’università di Modena e l’università di Milano Si distingue dagli altri strumenti di I3 perché adotta un approccio semantico all’integrazione http://www.dbgroup.unimo.it/Momis Roberto Rasi - 16 febbraio 2006
Architettura del sistema MOMIS Questa slide mostra il grafico dell’architettura di MOMIS. In particolare si mettono in evidenza due macroblocchi: - quello delle sorgenti, ciascuna delle quali è racchiusa da un componente di tipo Wrapper… - quello del mediatore … XML Schema Wrapper Roberto Rasi - 16 febbraio 2006
COMMON THESAURUS GENERATION Il processo I3 in MOMIS USER SUPPLIED RELATIONSHIPS SCHEMA DERIVED RELATIONSHIPS INFERRED RELATIONSHIPS LEXICON DERIVED RELATIONSHIPS Common Thesaurus COMMON THESAURUS GENERATION ODLI3 LOCAL SCHEMA 1 ODLI3 LOCAL SCHEMA N WRAPPING … GVV GENERATION MAPPING TABLES GLOBAL CLASSES In questo lucido si vede in generale come avviene il processo di integrazione delle sorgenti nel sistema MOMIS 1 – Estrazione delle sorgenti e creazione degli schemi ODLI3 locali (Wrapping) – su questa fase si concentra il lavoro svolto in questa tesi… 2 – Annotazione degli schemi locali rispetto l’ontologia lessicale WordNet 3 – Generazione del common thesaurus 4 – Creazione della Global Virtual View 5 – Annotazione della GVV SEMI-AUTOMATIC ANNOTATION SYNSET1 SYNSET2 SYNSET3 MANUAL ANNOTATION Roberto Rasi - 16 febbraio 2006
Il linguaggio ODLI3 Deriva da ODL (Object Definition Language), linguaggio standard definito dal gruppo di standardizzazione ODMG per descrivere la conoscenza relativa ad uno schema a oggetti; Estende ODL secondo le indicazioni del programma I3 (Intelligent Information Integration) dell’ARPA È utilizzato dal sistema MOMIS come linguaggio comune per la rappresentazione interna delle sorgenti e dello schema globale Roberto Rasi - 16 febbraio 2006
ODLI3 – un esempio interface Professor : CS_Person ( source object Computer_Science key (first_name, last_name)) { attribute string first_name; attribute string last_name; attribute string title; attribute Address address; attribute Department department; relationship set <Course> teaches inverse Course::taught_by; }; Un esempio completo di una classe nel linguaggio ODLI3 Roberto Rasi - 16 febbraio 2006
Il linguaggio XML Schema Sviluppato dal W3C Permette di specificare in uno schema la struttura di una classe di documenti XML Si propone come sostituto di DTD Supporto alla validazione Rappresentato interamente in XML 1.0 Usa i namespace XML Roberto Rasi - 16 febbraio 2006
XML Schema – un esempio <xs:complexType name=“address”> <xs:sequence> <xs:element name=“name” type=“xs:string” /> <xs:element name=“street” type=“xs:string” /> <xs:element name=“city” type=“xs:string” /> … </xs:complexType> <xs:simpleType name="bodyTemp"> <xs:restriction base=“xs:decimal"> <xs:minInclusive value="35.0"/> <xs:maxInclusive value="42.0"/> </xs:restriction> </xs:simpleType> Roberto Rasi - 16 febbraio 2006
Progetto e implementazione del Wrapper XML Schema Traduttore da documenti XML Schema a schemi ODLI3 Scritto in Java Consente di estrarre gli schemi locali dalle sorgenti XSD, realizzando così il primo step del processo di integrazione Si integra nel sistema MOMIS, il quale consente di effettuare gli altri step del processo I3 Roberto Rasi - 16 febbraio 2006
Regole di traduzione - esempi <complexType name=“[Cname]” > <attribute name=“[Aname]” type=“[Atype]”/> <element name=“[Ename]” type=“[Etype]” /> <element name=“[Ename2]” type=“[Etype2]” minOccurs=“0” maxOccurs=“unbounded” /> </complexType> interface [Cname] (source semistructured [SourceName]) { attribute [Atype] [Cname]_[Aname] ? ; attribute [Etype] [Ename] ; attribute set<[Etype2]> [Ename2] ? ; }; <complexType name=“address”> <sequence> <element name=“name” type=“string” /> <element name=“street” type=“string” /> <element name=“city” type=“string” /> </complexType> interface address (source semistructured Address) { attribute string name ; attribute string street ; attribute string city ; } Roberto Rasi - 16 febbraio 2006
Regole di traduzione - esempi <simpleType name=“[Tname]”> <restriction base=“[IntegerType]”> <minInclusive value=“[min]” /> <maxInclusive value=“[max]” /> </restriction> </simpleType> typedef range [min], [max] [Tname] ; Roberto Rasi - 16 febbraio 2006
Regole di traduzione - esempi <group name=“[Gname]”> <choice> <element name=[Elem_1] /> <element name=[Elem_2] /> <element name=[Elem_3] /> </choice> </group> interface [Gname] (source semistructured [SourceName]) { attribute [Etype1] [Elem_1] ; } union attribute [Etype2] [Elem_2] ; attribute [Etype1] [Elem_3] ; }; Roberto Rasi - 16 febbraio 2006
Conclusioni e Lavoro futuro Analisi dei due linguaggi Sintesi del set di regole per la traduzione da XML Schema a ODLI3 Progettazione e implementazione del Wrapper per il sistema MOMIS in grado di acquisire sorgenti di tipo XML Schema Differenze tra i due linguaggi Tesi disponibile on-line sul sito “www.dbgroup.unimo.it” Lavoro futuro Sviluppo del modulo per l’esecuzione di query Realizzazione del traduttore ODLI3 / XML Schema Estensione del linguaggio ODLI3 Roberto Rasi - 16 febbraio 2006
Progetto e realizzazione di un wrapper XML Schema per il sistema MOMIS Grazie per l’attenzione Roberto Rasi Roberto Rasi - 16 febbraio 2006