• Non ci sono risultati.

Un mediatore `e il modulo intermedio della architettura citata in precedenza (I3) che collega l’utente alle sorgenti di informazione. Il compito di questo modulo `e, come descritto da Wiederhold[19], reperire ed integrare informazioni da una molteplicit`a di sorgenti eterogenee. In letteratura possiamo ritrovare due tipologie differenti di mediatori: quelli che seguono un approccio definito strutturale e quelli che optano per un approccio detto semantico. L’approccio strutturale, seguito ad esempio nel progetto TSIMMIS[8, 20], presenta i seguenti punti caratteristici:

• Utilizzo di un modello self-describing per trattare tutti gli oggetti presenti nel

• Utilizzo di un linguaggio self-describing che facilita l’integrazione ed `e in grado

di trattare anche dati semistrutturati

• Assenza di metadati (mancano gli schemi concettuali delle diverse sorgenti) • Inserimento delle informazioni semantiche in modo esplicito attraverso

l’intro-duzione di regole dichiarative

Altri progetti, tra cui MOMIS, utilizzato in questa tesi, preferiscono attuare un approccio semantico all’integrazione delle informazioni. I principali punti che carat-terizzano tale metodo sono:

• Sono presenti metadati (sotto forma di schemi concettuali e viste) per descrivere

ogni sorgente a disposizione

• Nello schema concettuale sono presenti anche informazioni semantiche che

possono essere sfruttate nella fase di integrazione delle informazioni ( ed anche in quella di ottimizzazione delle interrogazioni).

• Deve essere presente un modello di dati comune

• Deve essere realizzato uno schema globale rappresentante l’unificazione degli

schemi concettuali

L’approccio semantico pu`o comportare notevoli vantaggi: l’utilizzo di metadati, ed in particolare dello schema globale, permette di sfruttare le informazioni seman-tiche contenute in essi al fine di migliorare le ottimizzare le richiesta svolte dall’utente. Molto interessante risulta, inoltre, l’utilizzo di modelli ad oggetti unitamente agli schemi concettuali: tramite l’uso delle primitive di generalizzazione e di aggregazione si pu`o ottenere una riorganizzazione delle conoscenze estensionali.

2.4.1 Principali problematiche da affrontare

Le problematiche dovute alle differenze dei sistemi fisici da cui si estraggono le in-formazioni devono essere risolte dai Wrappers. Ogni Wrapper, infatti, analizza una singola sorgente offrendo al sistema mediatore una vista, o schema concettuale, uni-formabile con quelli estratti dagli altri traduttori. Uno dei compiti del modulo media-tore `e, a questo punto, l’identificazione dei concetti comuni presenti nei metadati. Tale compito non `e assolutamente banale, come non `e semplice realizzare una integrazione

coerente e non ridondante degli schemi locali. Le problematiche identificate a livel-lo di mediatore (quindi a livellivel-lo di integrazione delle informazione) sono classificate essenzialmente in due tipologie:

• Problemi ontologici • Problemi semantici

Nel seguito saranno brevemente trattate queste due tipologie.

2.4.2 Problemi ontologici

Per prima cosa `e necessario fornire una definizione di ontologia. Nell’ambito della ricerca di cui fa parte questa tesi il concetto di ontologia pu`o essere espresso come: -l’insieme dei termini e delle relazioni usate in un dominio, che denotano concetti ed oggetti- . In pratica una ontologia pu`o essere vista come un insieme di termini (vocaboli) in grado di definire in modo univoco un determinato concetto. In questo procedimento non esiste ambiguit`a (ed il concetto risulta effettivamente definito in maniera univoca) se tutti i termini sono padroneggiati dall’intera comunit`a di utenti. Una classificazione di ontologie `e stata effettuata da Guarino[23, 22] in questi termini:

• Top-level ontology: questo tipo di ontologia descrive i concetti pi`u generali,

quali, ad esempio, lo spazio, il tempo, l’azione... tali nozioni sono ritenute indipendenti da un particolare ambito o dominio di conoscenza. Si considera, quindi, che anche comunit`a separate di utenti condividano le top-level ontology.

• Domain e task ontology: si tratta di ontologie riguardanti concetti pi`u

speci-fici di quelli trattati nelle top-level ontology. Vengono descritti i vocabolari riguardanti particolari domini, come ad esempio quello medico o quello chimi-co, o particolari obiettivi, come la diagnostica.

• Application ontology: i concetti descritti da tali ontologie dipendono sia da un

particolare dominio che da un particolare obiettivo. Si tratta dei termini e dei concetti pi`u specifici di tutti (ad esempio la cura di una particolare malattia in ambito medico).

All’interno di questo progetto si considera che tutte la fonti informative (sorgenti di dati) condividano almeno le top-level ontology, quindi i concetti fondamentali. Si pensa di muoversi, invece, all’interno delle domain ontology, il problema, quindi, `e quello di trovare i concetti comuni all’interno delle varie fonti.

2.4.3 Problemi semantici

Il problema semantico pu`o essere ben compreso se si comprende che persone differ-enti possono dare descrizioni anche molto diverse tra loro della stessa porzione di mondo. Anche se si possiede un insieme di conoscenze comuni (come, ad esempio, quelle descritte da alcune domain ontology) non `e possibile affermare che tali con-cetti saranno rappresentati, nelle diverse sorgenti, tramite gli stessi vocaboli o tramite le medesime strutture dati. Si pensi, ad esempio, a due persone distinte che hanno il compito di creare ciascuno un database, quindi anche uno schema relazionale, rap-presentante gli articoli presenti in un magazzino e le promozione ad essi associate. Le possibilit`a per produrre un database di questo tipo sono innumerevoli e gli schemi relazionali prodotti dalle due persone (quindi anche i database finali) presenteran-no indubbiamente qualche differenza nella rappresentazione dei medesimi concetti. Il problema citato in precedenza, comunque, non `e l’unico in questo ambito, infat-ti, anche le differenze fra i DBMS che `e possibile usare possono portare all’uso di modelli diversi per la rappresentazione degli stessi concetti (si pensi, ad esempio, al-la realizzazione dello stesso concetto tramite un database real-lazionale ed un modello ad oggetti). Obiettivo del sistema mediatore `e, oltre che trovare i concetti comuni all’interno delle varie fonti, anche quello di risolvere le differenze semantiche fra le diverse rappresentazioni. Le contraddizioni semantiche possono essere classificate in tre gruppi principali:

• Eterogeneit`a tra le classi di oggetti: classi rappresentanti lo stesso concetto

situate in sorgenti differenti possono presentare gli stessi attributi con nomi dif-ferenti. E’ anche possibile che gli attributi presentino domini di valori differenti oppure abbiano regole differenti su tali domini di valori.

• Eterogeneit`a tra le strutture delle classi: si tratta di differenze nei criteri di

spe-cializzazione e di aggregazione. Comprendono, inoltre, anche le discrepanze

semantiche: valori di attributi sono implicitamente presenti nei metadati du un

altro schema (ad esempio se l’attributo SESSO presente in uno schema `e im-plicitamente presente in un altro tramite la divisione di PERSONE in MASCHI e FEMMINE).

• Eterogeneit`a nelle istanze delle classi: sotto questo punto si catalogano le

dif-ferenze fra le unit`a di misura dei domini di un attributo e l’assenza o la presenza di valori nulli.

Comunque bisogna tener conto del fatto che `e possibile arricchire la conoscen-za fornita dal nostro sistema analizconoscen-zando a fondo tali differenze semantiche e com-prendendo il perch della loro presenza. Si ottiene in questo modo un arricchimento

semantico che rende in maniera esplicita (ed interrogabile) tutte quelle informazioni

che erano implicite nei metadati degli schemi.