Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste...

27

Transcript of Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste...

Page 1: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.
Page 2: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il sistema MOMIS

Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di integrazione e interrogazione di informazioni da sorgenti di dati strutturati e semistrutturati.

In particolare:

• si è adottato un approccio di integrazione delle sorgenti semantico e virtuale

• l’interrogazione viene effettuata sulla vista integrata. Il query manager provvede automaticamente a generare delle query locali, a inviarle alle sorgenti e a integrare i risultati

Page 3: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

L’architettura di MOMIS

Page 4: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il wrapper

Costituisce l’interfaccia tra il mediatore e la sorgente: ad ogni sorgente corrisponde un determinato wrapper e ogni wrapper è progettato esclusivamente per una tipologia di sorgenti.

Ogni wrapper ha due compiti:

• in fase di integrazione deve fornire la descrizione della sorgente da integrare nel linguaggio ODLI3

• in fase di query processing traduce la query ricevuta dal mediatore (espressa nel linguaggio comune di interrogazione OQLI3) in una interrogazione nel query language specifico della sorgente. Deve inoltre esportare i dati ricevuti in risposta, presentandoli al mediatore attraverso il modello comune di dati utilizzato dal sistema.

Page 5: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Le sorgenti XML

Extensible Markup Language (XML1.0) è una W3C Recommendation 10-February-1998. Si pensa possa diventare un formato universale di scambio dati nel Web

XML ha una visione orientata ai dati

L’utente può definire i tag come preferisce (per quello che riguarda il nome e il numero) La struttura del documento è ad albero e può essere dotata di elementi innestati a qualsiasi livello di profonditàIl documento può contenere una rappresentazione opzionale della propria grammatica, la DTD

Page 6: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

DTD - esempio<!ELEMENT University (Person)*><!ELEMENT Person (first_name, last_name, email, Status)><!ATTLIST Person Code ID #REQUIRED><!ELEMENT Status (Student | Professor)><!ELEMENT Student (year, Course*, homeaddress, rank)><!ATTLIST Student StudentId ID #REQUIRED tutor CDATA #REQUIRED><!ELEMENT Professor (ptitle, Division, rank)><!ATTLIST Professor Prof_code ID #REQUIRED Office_phone CDATA #IMPLIED><!ELEMENT Division (Location, fund, employeenr)><!ATTLIST Division description CDATA #REQUIRED sector CDATA #REQUIRED><!ELEMENT Location (city, street, number, county)><!ATTLIST Location code_location CDATA #IMPLIED><!ELEMENT Course (name,room)><!ATTLIST Course taughtby IDREF #REQUIRED><!ELEMENT first_name (#PCDATA)><!ELEMENT last_name (#PCDATA)><!ELEMENT email (#PCDATA)><!ELEMENT year (#PCDATA)><!ELEMENT rank (#PCDATA)>[…]

Page 7: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

I dati semistrutturati

I dati semistrutturati sono quei dati dotati di una struttura irregolare, scarsamente definibile a priori e, anche se conosciuta, soggetta a cambiamenti frequenti e senza scadenze preordinate.

Il modello OEM (Object Exchange Model) è uno dei modelli più utilizzati per rappresentare i dati semistrutturati.

I dati sono visti come collezioni di oggetti che possono assumere un valore atomico o un valore complesso.

Page 8: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

MOMIS - dati semistrutturati

Anche il sistema MOMIS si basa su una rappresentazione OEM per rappresentare sorgenti semistrutturate.

In particolare si definisce:

Oggetto semistrutturato: Un oggetto semistrutturato, indicato con so, è una tripla nella forma <id, label, value> dove :

• id è l’identificatore dell’oggetto

• label è una stringa che descrive ciò che l’oggetto rappresenta

• value è il valore dell’oggetto che può essere atomico o complesso

Object pattern: Dato un insieme di oggetti setl definito sulla sorgente semistrutturata S. L’object pattern dell’insieme setl è una coppia nella forma <l,A>,

dove l è l’etichetta degli oggetti correlati all’insieme set l , ed A= label (so’) tale

che esiste almento un oggetto so appartenente a setl con so so’

Page 9: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

XML vs. OEM

A livello di struttura

concetto di ordine

A livello di dato mancanza di “tipizzazione” del dato

concetto di attributo concetto di riferimento concetto di link

XML-Schema

Page 10: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

EsempioModello OEM-like

<!ELEMENT University (Person)*><!ELEMENT Person

(first_name, last_name, email, Status)><!ATTLIST Person Code ID #REQUIRED><!ELEMENT Status (Student | Professor)><!ELEMENT Student

(year, Course*, homeaddress, rank)><!ATTLIST Student StudentId ID #REQUIRED tutor CDATA #REQUIRED><!ELEMENT Professor (ptitle, Division, rank)><!ATTLIST Professor Prof_code ID #REQUIRED Office_phone CDATA #IMPLIED> […]

Page 11: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Query languages

Analisi dei query language esistenti sulla base:

1) Desiderata per un query language

2) XML Query Requirements: working draft 31 January 2000 del W3C

• XML-QL• LOREL• XSL

• XQL• XML-GL• WEBL

• caratteristiche generali• modello dati• funzionalità del linguaggio

Page 12: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

XML-QL

WHERE <University>

<Person>

<first_name>$fn

</first_name>

</Person>

</University>

CONSTRUCT <result>$fn</result>

Page 13: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

XML-GL

Page 14: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il traduttore DTD-ODLI3

La traduzione di elementi critici

• Gestione degli attributi

• Chiavi primarie, esterne, candidate

• Tipi di dato

• Strutture dati

• Composizione di strutture

Page 15: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il traduttore DTD-ODLI3

L’algoritmo di traduzione

1. Parsing della DTD

2. Determinazione delle chiavi

3. Traduzione del documento

A) Individuazione della DTD

B) Risoluzione delle entità e delle sezioni condizionali

C) Risoluzione di contenuti innestati

Interazione attraverso un’interfaccia grafica con l’utente per la scelta delle chiavi

Traduzione seguendo le regole di conversione individuate

Page 16: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il traduttore DTD-ODLI3

Le regole di traduzione

Elementi di tipo semplice

Page 17: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il traduttore DTD-ODLI3

Le regole di traduzione

Elementi di tipo complesso

Page 18: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il traduttore DTD-ODLI3

Le regole di traduzione

Attributi

Page 19: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il traduttore DTD-ODLI3

Le regole di traduzione

Occorrenze

Page 20: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Il software

Il software è stato realizzato utilizzando il linguaggio java. In particolare sono state sviluppate circa 5500 righe di codice commentato.

Sono state utilizzate le classi java javax.swing.text.html.parser, che nonostante siano state progettate per operare con HTML possono essere utili anche in questo contesto

Page 21: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.
Page 22: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.
Page 23: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.
Page 24: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

DTD - esempio<!ELEMENT University (Person)*><!ELEMENT Person (first_name, last_name, email, Status)><!ATTLIST Person Code ID #REQUIRED><!ELEMENT Status (Student | Professor)><!ELEMENT Student (year, Course*, homeaddress, rank)><!ATTLIST Student StudentId ID #REQUIRED tutor CDATA #REQUIRED><!ELEMENT Professor (ptitle, Division, rank)><!ATTLIST Professor Prof_code ID #REQUIRED Office_phone CDATA #IMPLIED><!ELEMENT Division (Location, fund, employeenr)><!ATTLIST Division description CDATA #REQUIRED sector CDATA #REQUIRED><!ELEMENT Location (city, street, number, county)><!ATTLIST Location code_location CDATA #IMPLIED><!ELEMENT Course (name,room)><!ATTLIST Course taughtby IDREF #REQUIRED><!ELEMENT first_name (#PCDATA)><!ELEMENT last_name (#PCDATA)><!ELEMENT email (#PCDATA)><!ELEMENT year (#PCDATA)><!ELEMENT rank (#PCDATA)>[…]

Page 25: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

interface university(source semistructured univers_xmlextent university ){

attribute set<person> person ;

};

interface person(source semistructured univers_xmlextent person key (person_code)){

attribute string person_code ; attribute string first_name ; attribute string last_name ; attribute string email ; attribute status status ;

};

interface status(source semistructured univers_xmlextent status ){

attribute student student ;

} union status1 {

attribute professor professor ;

};

ODLI3 - traduzione

Page 26: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

interface student(source semistructured univers_xmlextent student key (student_studentid)candidate_key cK0 (student_tutor)){

attribute string student_studentid ;

attribute string student_tutor ; attribute string year ; attribute set<course> course ; attribute string homeaddress ; attribute string rank ;

};

interface professor(source semistructured univers_xmlextent professor key (professor_prof_code)){

attribute string professor_prof_code ;

attribute string professor_office_phone ?;

attribute string ptitle ; attribute division division ; attribute string rank ;

};

ODLI3 - traduzione

Page 27: Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.

Conclusioni

• Attraverso questo wrapper si permette al sistema MOMIS di interagire con sorgenti semistrutturate

• Occorre attendere la standardizzazione di un query language per avere un wrapper completo