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 Roberto Rasi - 16 febbraio 2006 2 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 Roberto Rasi - 16 febbraio 2006 3 Architettura del sistema MOMIS Wrapper XML Schema Roberto Rasi - 16 febbraio 2006 4 Il processo WRAPPING ODLI3 LOCAL SCHEMA 1 3 I in MOMIS COMMON THESAURUS GENERATION SCHEMA DERIVED RELATIONSHIPS GVV GENERATION GLOBAL CLASSES LEXICON DERIVED RELATIONSHIPS … … ODLI3 LOCAL SCHEMA N Common Thesaurus USER SUPPLIED RELATIONSHIPS MAPPING TABLES INFERRED RELATIONSHIPS MANUAL ANNOTATION SYNSET2 SYNSET3 SEMI-AUTOMATIC ANNOTATION SYNSET1 Roberto Rasi - 16 febbraio 2006 5 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 6 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; }; Roberto Rasi - 16 febbraio 2006 7 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 8 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> Roberto Rasi - 16 febbraio 2006 9 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 10 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” /> interface [Cname] (source semistructured [SourceName]) { attribute [Atype] [Cname]_[Aname] ? ; attribute [Etype] [Ename] ; attribute set<[Etype2]> [Ename2] ? ; }; </complexType> Roberto Rasi - 16 febbraio 2006 11 Regole di traduzione - esempi <simpleType name=“[Tname]”> typedef range [min], [max] [Tname] ; <restriction base=“[IntegerType]”> <minInclusive value=“[min]” /> <maxInclusive value=“[max]” /> </restriction> </simpleType> Roberto Rasi - 16 febbraio 2006 12 Regole di traduzione - esempi <group name=“[Gname]”> <choice> <element name=[Elem_1] /> <element name=[Elem_2] /> <element name=[Elem_3] /> </choice> </group> Roberto Rasi - 16 febbraio 2006 interface [Gname] (source semistructured [SourceName]) { attribute [Etype1] [Elem_1] ; } union { attribute [Etype2] [Elem_2] ; } union { attribute [Etype1] [Elem_3] ; }; 13 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 14 Progetto e realizzazione di un wrapper XML Schema per il sistema MOMIS Grazie per l’attenzione Roberto Rasi Roberto Rasi - 16 febbraio 2006 15