150 likes | 273 Views
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
E N D
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
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
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 http://www.dbgroup.unimo.it/Momis
Wrapper XML Schema Architettura del sistema MOMIS
COMMON THESAURUSGENERATION GVV GENERATION WRAPPING ODLI3LOCAL SCHEMA 1 GLOBAL CLASSES SCHEMA DERIVED RELATIONSHIPS Common Thesaurus LEXICON DERIVED RELATIONSHIPS … ODLI3 LOCAL SCHEMA N … USER SUPPLIED RELATIONSHIPS MAPPING TABLES INFERRED RELATIONSHIPS SEMI-AUTOMATIC ANNOTATION MANUALANNOTATION SYNSET2 SYNSET3 SYNSET1 Il processo I3 in MOMIS
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
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; };
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
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:sequence> </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>
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
<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] ? ; }; Regole di traduzione - esempi
<simpleType name=“[Tname]”> <restriction base=“[IntegerType]”> <minInclusive value=“[min]” /> <maxInclusive value=“[max]” /> </restriction> </simpleType> typedef range [min], [max] [Tname] ; 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] ; } union { attribute [Etype1] [Elem_3] ; }; Regole di traduzione - esempi
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
Progetto e realizzazione di un wrapper XML Schema per il sistema MOMIS Grazie per l’attenzione Roberto Rasi