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
Scarica

Progetto e realizzazione di un wrapper XML Schema per il sistema