200 likes | 317 Views
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 ODL I 3 - OWL. UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA
E N D
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 UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica
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 Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL
Other users user User Profile Monitor Profiles OLAP Tool OLAP Reports User Interface Visualisation user user Comm. Agent Monitoring Interface Comm. Interface Query Interface Metadata Interface Communication Tool Monitoring Agent (MA) Brokering Agent (BA) Query Results Ontologymaps Query Agent Query Agent Query Agent SINode Theinformationlayer Virtual Data Store Virtual Data Store Query Query Manager Ontology builder SEWASIE Interconnection infrastructure Metadata Metadata BA Repository Repository BA Ontology Ontology BA Wrapper Wrapper Wrapper Wrapper Wrapper Wrapper … Semantic Semantic Semantic Semantic Brokering Agent (BA) Enrichment Enrichment Enrichment Enrichment BA <XML> <XML> RDBs RDBs <DATA>... <DATA>... Ontologymaps </DATA> </DATA> Structured Structured Semi - Structured Databases Databases Databases Databases Wrapper HTML XML Wrap <HTML> <HTML> Unstructured ... ... Text documents HTML→XML La SEWASIE Virtual Network The userinterface layer Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL Theintermediarieslayer
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
Annotazioni rispetto a WordNet • wnAnnotation <DottedName> • lemmaValue, • lemmaSyntacticCategory, • lemmaSenseNumber; wnAnnotation ComputerScience.Professor lemmaValue="professor", lemmaSyntacticCategory=1, lemmaSenseNumber=1; 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; 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
Proprietà: • Object Properties • Datatype Properties • <owl:DatatypeProperty rdf:ID="Professor.name"> • <rdfs:domain rdf:resource="#Professor"/> • <rdfs:range rdf:resource="&xsd;string"/> • </owl:DatatypeProperty> Costrutti fondamentali OWL • Descrizione di classi: • Identificatore owl:classrdf:ID • Ereditarietà rdfs:subClassOf • <owl:Class rdf:ID="Professor"> • <rdfs:subClassOf rdf:resource="#Person" /> • </owl:Class> Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL
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> Costrutti fondamentali OWL • Restrizioni: • restrizioni sui valori • restrizioni sulle cardinalità • <owl:Restriction> • <owl:onProperty rdf:resource="#teaches" /> • <owl:hasValue rdf:resource="#BasidiDati" /> • </owl:Restriction> 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.Professor lemmaValue="professor", lemmaSyntacticCategory=1, lemmaSenseNumber=1; <owl:Class rdf:ID="Professor"> <rdfs:subClassOf rdf:resource="#CS_Person" /> <sew:lemmaValue>person</sew:lemmaValue> tt<sew:lemmaSyntacticCategory>1</sew:lemmaSyntacticCategory> <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
Virtual Data Store Query Manager Metadata Metadata Repository Repository ODLI3 Ontology Ontology Ontology builder Wrapper OWL ODLI3 OWL ODLI3 OWL <XML> <DATA>... </DATA> OWL Ontology Implementazione dei traduttori • 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. Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL