Estrattore Semantico di Ontologie da DB Relazionali Luca Macagnino 1 Obiettivi Estrarre un’ontologia da una sorgente di dati relazionale, al fine di rendere disponibili e dotate di semantica le informazioni contenute nel database. L’ontologia prodotta deve descrivere il contenuto della sorgente e tenere traccia di come i dati sono contenuti nel database (metadati) consentendo il query processing dei dati. L’applicazione si colloca all’interno di un sistema più ampio del quale deve rispettare vincoli e caratteristiche: sorgenti dinamiche e relative a contesti differenti; informazioni disponibili (metadati, domain ontology); q.ta di informazioni memorizzabili limitata. 2 Architettura del Sistema 3 Relational.OWL <…> <rdf:Description rdf:about="#persona"> <rdf:type rdf:resource="http://www.dbs.cs.uniduesseldorf.de/RDF/relational.owl#Table"/> <j.0:isIdentifiedBy rdf:resource="#PK1"/> <j.0:hasColumn rdf:resource="#persona.ID"/> <j.0:hasColumn rdf:resource="#persona.NOME"/> <j.0:hasColumn rdf:resource="#persona.CITTA"/> </rdf:Description> <…> <rdf:Description rdf:about="#persona.ID"> <rdf:type rdf:resource="http://www.dbs.cs.uniduesseldorf.de/RDF/relational.owl#Column"/> <rdfs:domain rdf:resource="#persona"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSc hema#integer"/> <j.0:length>32</j.0:length> <j.0:scale>0</j.0:scale> </rdf:Description> <…> 4 Modulo di Estrazione Semantica (ES) Il modulo ES è composto da due fasi in serie : 1. Reverse Engineering automatico consiste nella generazione di classi e associazioni (indicati genericamente elementi) attraverso l’applicazione di regole di traduzione; 2. Ricerca di un matching tra gli elementi individuati e la domain ontology. 5 Regole di Traduzione (1/2) Euristiche fondate sulla metodologia di progettazione di schemi relazionali da schemi ER Utilizzando i metadati della sorgente relazionale classificano le tabelle e le colonne e da queste generano concetti, ruoli, ruoli reificati e attributi. 6 Regole di Traduzione (2/2) Le prime 3 regole classificano le tabelle: R1 Individua le tabelle che rappresentano concetti R2 Individua le tabelle che rappresentano ruoli reificati R3 Individua le tabelle che rappresentano ruoli Altre 2 classificano le colonne: R4 Individua le colonne che rappresentano ruoli R5 Individua gli attributi della relazione *Rappresentazione formale 7 Matching 1/2 Attraverso il tool X-SOM ogni elemento generato dalle regole viene confrontato con gli elementi della Domain Ontology (DO) dello stesso tipo, ricercando quelli lessicalmente vicini X-SOM fornisce per ogni elemento in ingresso un insieme di oggetti del tipo (DO_elem, simil_value) 8 Matching: analisi strutturale 2/2 Per ogni DO_elem con simil_value accettabile viene effettuata un’ analisi strutturale L’elemento viene analizzato a seconda della sua tipologia: corrispondenza di dominio e range per i ruoli, verifica che il ruolo sia funzionale (ruoli reificati), … Caso particolare: attributi 9 Ontologia Semantica Se nessun matching accettabile viene rilevato (o se non si usa una DO) un nuovo elemento verrà creato solo sulla base delle regole di traduzione (default). Altrimenti verrà creato nella nuova ontologia un elemento corrispondente a quello individuato nella DO, inoltre: Nel caso di un concetto si ricostruirà anche il cammino fino alla radice (per incrementare la semantica) 10 Mapping & Querying: requisiti Un meccanismo di mapping è necessario per mantenere i riferimenti tra ontologia semantica e ontologia relazionale. L’ontologia relazionale conserva lo schema della sorgente quindi recuperare un elemento di questa ontologia equivale a recuperare un elemento dello schema. Ogni elemento dello schema ha un corrispondente nell’ontologia creata. Per consentire il querying dei dati si prevede un mapping 1:1 11 Mapping & Querying Si utilizza una terza ontologia: mapping ontology. Gli elementi saranno ruoli tra le risorse dell’ontologia relazionale e le risorse dell’ontologia semantica. E’ necessario l’utilizzo di OWL-full. Caratteristiche: Non si usa un linguaggio di mapping proprietario Mapping interamente basato sul Semantic Web. In valutazione: mapping attraverso query SPARQL. 12 Caratteristiche L’ontologia prodotta contiene l’intero schema della sorgente relazionale e parte della DO (in questa fase…). Non mapping tra schema e DO, ma estrazione della semantica dallo schema e creazione di una nuova ontologia. Integrazione di due tecniche Regole + Ricerca di Matching. Intero processo basato sul Semantic Web: nessuna struttura o linguaggio proprietario. Funzionamento anche senza DO. Tentativo di ridurre al minimo l’interazione con l’utente. 13 Stato dell’Arte Relational.OWL [1] Questo sistema estrae sia lo schema della base di dati sia i dati stessi e li rappresenta mediante ontologie. L’ontologia creata rappresenta lo schema relazionale senza aggiungere semantica. Sviluppi recenti: mapping manuale con un’ ontologia target attraverso query SPARQL. OntoLIFT [2] Mapping basato su regole tra lo schema relazionale e un’ ontologia target. Gli elementi dello schema che non hanno un riscontro lessicale nell’ontologia target non vengono mappati. Necessita di un ontologia target. An et al. [3] , D2R MAP-A [4], Petrini e Risch [5] 14 References [1] Cristian Perez de Laborda and Stefan Conrad Relational.OWL A Data and Schema Representation Format Based on OWL. In Second Asia-Pacific Conference on Conceptual Modelling(APCCM2005), volume 43 of CRPIT, pages 89 -96, Newcastle, Australia, 2005. ACS. [2] R.Volz, S. Handschuch, S. Staab, R. Studer. OntoLiFT Demonstrator.2004 [3] Yuan An, Alexander Borgida, and John Mylopoulos. Inferring Complex Semantic Mappings Between RelationalTables and Ontologies from Simple Correspondences. In CoopIS, DOA, and ODBASE, OTM Confederated International Conferences, Cyprus, PartII, volume 3761 of LNCS, pages 1152–1169. Springer, 2005. [4] Christian Bizer. D2R MAP-A Database to RDF Mapping Language. In WWW 2003, The Twelfth Internationa lWorld Wide Web Conference, Budapest, Hungary, 2003. posterpresentation. [5] Johan Petrini and Tore Risch. Processing Queries over RDF views of Wrapped Relational Databases. In 1st International Workshop on Wrapper Techniques for Legacy Systems, WRAP 2004, Delft, Holland, 2004. 15 Questioni Aperte Gestione degli attributi Mapping attraverso query SPARQL Creazione dei ruoli: 2 inversi VS ruolo unico 16 Query SPARQL 21