UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Relatore Prof.ssa Sonia Bergamaschi Correlatore Ing. Maurizio Vincini Controrelatore Prof. Flavio Bonfatti Tesi di Laurea di Mirko Orsini Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Sommario – Ambito di ricerca – Il progetto SEWASIE – Architettura del sistema MOMIS, il wrapper – Il linguaggio ODLI3 – Il linguaggio OWL – Esempio di traduzione ODLI3 - OWL – Implementazione dei traduttori – Conclusioni e Lavoro Futuro Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Web Semantico “Il Web Semantico è un’estensione del Web attuale, nella quale ad ogni informazione viene attribuito un significato ben preciso.” “Il Web Semantico darà una struttura ai contenuti significativi delle pagine Web, creando un ambiente in cui gli agenti software, spostandosi da pagina a pagina, possano eseguire sofisticate interrogazioni per gli utenti.” [Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001] Elementi chiave: – Rappresentazione della conoscenza – Agenti software – Ontologie Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Ontologie “Un ontologia è una specificazione esplicita di una concettualizzazione.” [Tom Gruber] Caratteristiche delle ontologie: – descrizione di un particolare dominio, – da un certo punto di vista, – descrizione esplicita, – costruzione di un vocabolario per quel dominio, – un gruppo usa il vocabolario per accordarsi sul significato dei termini usati, – fondamentale per la comunicazione. Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Il progetto SEWASIE SEWASIE (SEmantic Webs and AgentS in Integrated Economies) è un progetto finanziato dalla Commissione Europea (Maggio 2002/Aprile 2005). Obiettivo: progettare e implementare un motore di ricerca avanzato basato sulla semantica che permetta di accedere a sorgenti di dati eterogenee sul Web. I partecipanti: – – – – – – – – Università degli Studi di Modena e Reggio Emilia (ITALY) CNA SERVIZI Modena s.c.a.r.l. (ITALY) Università degli Studi di Roma “La Sapienza” (ITALY) Rheinisch Westfaelische Technische Hochschule Aachen (GERMANY) Libera Università di Bolzano (ITALY) Thinking Networks AG (GERMANY) Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein (GERMANY) IBM Italia SPA (ITALY) Il sito web: http://www.sewasie.org/ Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Obiettivi del progetto SEWASIE Sistema sicuro basato su agenti software Architettura scalabile e distribuita Comunicazione strutturata e basata sul Web Componente per la mediazione delle informazioni Raggruppamento Contestualizzazione Visualizzazione Interfacce utente per: progettazione semantica formulazione delle interrogazioni navigazione intelligente user Other users user user User Profile Monitor Profiles OLAP Reports User Interface Comm. Agent Visualisation Monitoring Comm. Interface Query Interface Metadata Interface Interface Communication Tool Monitoring Agent (MA) Query Results Brokering Agent (BA) Ontology Query Query QueryAgent Agent Agent SINode maps BA OLAP Tool Brokering Agent (BA) Ontology maps BA SEWASIE BA Interconnectio n BA infrastructure Virtual Data Store Query Query Manager Metadata Metadata Repository Repository Ontology Wrapper Wrapper Semantic Enrichment RDBs Structured Databases Ontolog y builder … Wrapper Wrapper Semantic Enrichment <XML> <DATA>... </DATA> Semi- Structured Databases Wrapper Wrapper Wrapper HTML XML Wrap HTML→XML <HTML> ...Unstructured Text documents The information layer Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL La SEWASIE Virtual Network Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Il sistema MOMIS MOMIS (Mediator envirOnment for Multiple Information Sources) Sistema basato su mediatori per l'estrazione e l'integrazione delle informazioni provenienti da sorgenti di dati strutturate, semi-strutturate e non strutturate. Metodo semantico per l'integrazione delle informazioni basato su schemi concettuali delle sorgenti di dati. Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Architettura del Sistema MOMIS Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Il linguaggio ODLI3 Il linguaggio ODLI3 è un'estensione del linguaggio standard ODL (Object Definition Language), definito dal gruppo di standardizzazione ODMG-93 per descrivere la conoscenza relativa ad uno schema ad oggetti. Il linguaggio ODL è stato esteso in accordo con le indicazioni del programma I3 (Integrazione Intelligente delle Informazioni) dell'ARPA. Utilizzando il linguaggio ODLI3, il Sistema MOMIS realizza l'integrazione di informazioni da fonti dati eterogenee, comprendenti sia sorgenti di dati strutturati che semistrutturati. Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Costrutti fondamentali ODLI3 – Descrizioni di interfacce: Interface header: • Nome (ObjectID) • Superclassi • Source • Key, ForeignKey Interface body: • Attributi semplici • Attributi complessi • Relazioni inverse 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; Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Costrutti fondamentali ODLI3 – Relazioni terminologiche Ipernimia BT Iponimia NT Associazione RT Sinonimia SYN Person BT Student; Professor NT Person; Professor RT Office; Section SYN Department; – Annotazioni rispetto a WordNet wnAnnotation <DottedName> lemmaValue, lemmaSyntacticCategory , lemmaSenseNumber; wnAnnotation ComputerScience.Profess or lemmaValue="professor", lemmaSyntacticCategory= 1, lemmaSenseNumber=1; Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Il linguaggio OWL Il linguaggio OWL (Web Ontology Language) è stato sviluppato dal World Wide Web Consortium (W3C Recommendation 10 February 2004) per la definizione di ontologie e di strumenti compatibili con l'architettura del Semantic Web. Tramite OWL è possibile avere una maggiore comprensibilità della semantica di concetti da parte di agenti software rispetto a XML, RDF e RDF-Schema. OWL è stato costruito sulla base di RDF e RDF-Schema e rispetto ad essi aggiunge diversi costrutti per la definizione dei concetti e delle loro interrelazioni: – disgiunzione tra classi – restrizioni di cardinalità per le proprietà – relazioni di uguaglianza tra classi o proprietà – classi enumerate – nuovi tipi di proprietà e nuove caratteristiche per le proprietà. Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL OWL Lite, OWL DL, OWL Full OWL fornisce tre sottolinguaggi con espressività incrementale progettati per l'utilizzo da parte di utenti con necessità differenti per la descrizione di ontologie: – OWL Lite: permette di descrivere ontologie nelle quali siano definite principalmente classificazioni gerarchiche e semplici vincoli sulle proprietà; – OWL DL: è stato progettato per avere massima espressività e contemporaneamente garantire che tutte le computazioni abbiano un risultato e terminino in un tempo finito; – OWL Full: permette di avere una massima espressività e la libertà sintattica di RDF, senza fornire nessuna garanzia dal punto di vista computazionale. Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Costrutti fondamentali OWL – Descrizione di classi: Identificatore owl:class rdf:ID Ereditarietà rdfs:subClassOf <owl:Class rdf:ID="Professor"> <rdfs:subClassOf rdf:resource="#Person" /> </owl:Class> – Proprietà: Object Properties Datatype Properties <owl:DatatypeProperty rdf:ID="Professor.name"> <rdfs:domain rdf:resource="#Professor"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Costrutti fondamentali OWL – Restrizioni: restrizioni sui valori restrizioni sulle cardinalità <owl:Restriction> <owl:onProperty rdf:resource="#teaches" /> <owl:hasValue rdf:resource="#BasidiDati" /> </owl:Restriction> – Annotation Properties <owl:AnnotationProperty rdf:ID="&sew;lemmaValue"/> <sew:lemmaValue rdf:datatype="&xsd;string“ /> ... <owl:Class rdf:ID="Professor"> <sew:lemmaValue>professor</sew:lemmaValue> </owl:Class> Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Confronto tra i costrutti ODLI3 e OWL Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Esempio di traduzione ODLI3 - OWL interface Professor : CS_Person ( source object Computer_Science) { attribute string name; attribute Department department; relationship set <Course> teaches inverse Course::taught_by; }; wnAnnotation ComputerScience.Profes sor lemmaValue="professor" , lemmaSyntacticCategory <owl:Class rdf:ID="Professor"> <rdfs:subClassOf rdf:resource="#CS_Person" /> <sew:lemmaValue>person</sew:lemmaValue> tt<sew:lemmaSyntacticCategory>1</sew:lemmaSyntacticC ategory> <sew:lemmaSenseNumber>1</sew:lemmaSenseNumber> </owl:Class> <owl:DatatypeProperty rdf:ID="Professor.name"> <rdfs:domain rdf:resource="#Professor"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="Professor.department"> <rdfs:domain rdf:resource="#Professor"/> <rdfs:range rdf:resource="#Department"/> </owl: ObjectProperty > <owl:ObjectProperty rdf:ID="Professor.teaches"> <rdfs:domain rdf:resource="#Professor"/> <rdfs:range rdf:resource="#Course"/> <owl:inverseOf rdf:resource="#Professor.taught_by"/> </owl: ObjectProperty > Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Implementazione dei traduttori Virtual Data Store Metadata Metadata Repository Repository Query Manager ODL Ontology I3 Ontology Ontology builder Wrapper OWL ODLI3 OWL ODLI3 OWL <XML> <DATA>... </DATA> OWL Ontology Traduttori da ontologie ODLI3 ad ontologie OWL e da ontologie OWL ad ontologie ODLI3 Traduzione bidirezionale senza la perdita di informazioni fondamentali Componente software modulare e flessibile scritto in Java Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Conclusioni e Lavoro futuro Visti i differenti livelli di espressività dei sottolinguaggi di OWL, è stata implementata la traduzione di schemi ODLI3 nei sottolinguaggi OWL DL e Full, il sottolinguaggio OWL Lite è infatti decisamente limitato per l'espressione di schemi complessi. La traduzione di ontologie OWL in schemi ODLI3 è stata implementata per i sottolinguaggi OWL Lite e OWL DL, il sottolinguaggio OWL Full è caratterizzato da una grande libertà sintattica e non fornisce nessuna garanzia dal punto di vista computazionale. Il linguaggio ODLI3 potrebbe essere esteso per l'espressione dei concetti di disgiunzione e complemento tra le estensioni delle classi, per la dichiarazione di proprietà transitive e per il versioning di ontologie. Il Wrapper OWL può essere completato attraverso la realizzazione del modulo per la gestione delle interrogazioni. Il modulo dovrà effettuare la traduzione delle interrogazioni provenienti dal Query Manager del sistema MOMIS, nel query language specifico per ontologie OWL: RDQL (RDF Query Language) o SPARQL Query Language for RDF.