PDA

View Full Version : [Java] Mappare un'ontologia con un db


Edde
15-01-2007, 22:48
Ok, io continuo con le mie domande su questa roba cui nessuno riesce a rispondermi :asd:

Ma tentar non nuoce, quindi andiamo avanti :sisi:

Ho realizzato un wrapper che estrae la struttura di un DB nel linguaggio OWL. In pratica riesce ad estrarre automaticamente l'ontologia locale di un DB (eventualmente poi modificabile usando programmi come protege) in vista di quello che dovrebbe essere il mio obiettivo finale: fondere insieme varie ontologie locali, in modo da ottenerne una globale con cui "integrare" tra loro i db diversi...

Nel passaggio attuale devo però risolvere un altro problema: la mappatura tra ontologia locale e struttura del Db sottostante. In pratica l'utente vede l'ontologia, ragiona su questa ed effettua query (per ora vogliamo trattare solo l'estrazione delle informazioni) sull'ontologia, attraverso un linguaggio opportuno (ho sentito parlare di SWQL, ma devo ancora approfondire).
La query in questione deve però essere tradotta in una normale query SQL da lanciare sul DB. Nell'ontologia infatti non vengono create istanze: viene soltanto estratta la struttura generale. Quindi l'utente sa che ci sono determinate classi, sa che ognuna di queste ha determinari attributi, sa che ci sono relazioni di un certo tipo tra classi diverse, e questo gli permette di interrogare la struttura. Ma poi qualsiasi sua richiesta deve essere tradotta in SQL, perchè è dal DB che di volta in volta devono essere estratte le informazioni.

Un'idea che mi era venuta è quella di creare, magari in contemporanea all'operazione di estrazione dell'ontologia, una "tabella" in cui si dica:

Classe Pippo (Ontologia) -> Tabella Pluto (DB)
Attributo A (Ont) -> Colonna B (DB)
Relazione C (Ont) -> FK D (DB)

E poi usare queste corrispondenze per tradurre le interrogazioni. Però, come ho detto, all'utente viene data la possibilità di manipolare l'ontologia estratta, aggiungendo o togliendo proprietà, magari specificando in maniera esplicita che una classe è sottoclasse di un'altra e via dicendo... come gestire queste cose?

Non so, io devo ancora realmente approfondire questo aspetto... se qualcuno nel frattempo ha delle idee, dei consigli, dei riferimenti... beh, saranno ben accetti ;)

Grazie :)

Edde
17-01-2007, 15:51
Uppo :mc:

ibazar1983
24-08-2008, 17:04
E' ancora aperta la questione? Aggiornamenti?

magix2003
24-08-2008, 18:25
Io ci devo fare la tesi di laurea adesso. Quindi mi iscrivo alla questione.
Risorse utili:

http://www.inf.unibz.it/~rodriguez/OBDA/
http://www.inf.unibz.it/~calvanese/publications-year.shtml