interoperabilità tra ontologie eterogenee: i traduttori odl i 3 - owl
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Interoperabilità tra ontologie eterogenee:Interoperabilità tra ontologie eterogenee:i traduttori ODLi traduttori ODLII33 - OWL - OWL
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIAFacoltà di Ingegneria – Sede di Modena
Corso di laurea in Ingegneria Informatica
RelatoreProf.ssa Sonia Bergamaschi
CorrelatoreIng. Maurizio Vincini
ControrelatoreProf. Flavio Bonfatti
Tesi di Laurea diMirko Orsini
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
SommarioSommario
– Ambito di ricercaAmbito di ricerca
– Il progetto SEWASIEIl progetto SEWASIE
– Architettura del sistema MOMIS, il wrapperArchitettura del sistema MOMIS, il wrapper
– Il linguaggio ODLIl linguaggio ODLII33
– Il linguaggio OWLIl linguaggio OWL
– Esempio di traduzione ODLEsempio di traduzione ODLII33 - OWL - OWL
– Implementazione dei traduttoriImplementazione dei traduttori
– Conclusioni e Lavoro FuturoConclusioni e Lavoro Futuro
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Web SemanticoWeb Semantico
““Il Web Semantico è un’estensione del Web attuale, nella Il Web Semantico è un’estensione del Web attuale, nella quale ad ogni informazione viene attribuito un significato ben quale ad ogni informazione viene attribuito un significato ben preciso.”preciso.”
““Il Web Semantico darà una struttura ai contenuti significativi Il Web Semantico darà una struttura ai contenuti significativi delle pagine Web, creando un ambiente in cui gli agenti delle pagine Web, creando un ambiente in cui gli agenti software, spostandosi da pagina a pagina, possano eseguire software, spostandosi da pagina a pagina, possano eseguire sofisticate interrogazioni per gli utenti.”sofisticate interrogazioni per gli utenti.”
[[Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 20012001]]
Elementi chiave:Elementi chiave:– Rappresentazione della conoscenzaRappresentazione della conoscenza
– Agenti softwareAgenti software
– OntologieOntologie
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
OntologieOntologie
““Un ontologia è una specificazione esplicita di una Un ontologia è una specificazione esplicita di una
concettualizzazione.”concettualizzazione.” [[Tom Gruber]Tom Gruber]
Caratteristiche delle ontologie:Caratteristiche delle ontologie:– descrizione di un particolare dominio,descrizione di un particolare dominio,– da un certo punto di vista,da un certo punto di vista,– descrizione esplicita,descrizione esplicita,– costruzione di un vocabolario per quel dominio,costruzione di un vocabolario per quel dominio,– un gruppo usa il vocabolario per accordarsi sul un gruppo usa il vocabolario per accordarsi sul significato dei termini usati,significato dei termini usati,– fondamentale per la comunicazione.fondamentale per la comunicazione.
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Il progetto SEWASIEIl progetto SEWASIE
SEWASIESEWASIE ( (SESEmantic mantic WWebs and ebs and AAgentgentSS in in IIntegrated ntegrated EEconomies) conomies) è un progetto finanziato dalla Commissione Europeaè un progetto finanziato dalla Commissione Europea (Maggio 2002/Aprile 2005).(Maggio 2002/Aprile 2005).
Obiettivo: progettare e implementare un motore di ricerca Obiettivo: progettare e implementare un motore di ricerca avanzato basato sulla semantica avanzato basato sulla semantica che permetta di accedere a che permetta di accedere a sorgenti di dati eterogenee sul Web.sorgenti di dati eterogenee sul Web.
I partecipanti:I partecipanti:– Università degli Studi di Modena e Reggio EmiliaUniversità degli Studi di Modena e Reggio Emilia (ITALY) (ITALY)– CNA SERVIZI Modena s.c.a.r.l.CNA SERVIZI Modena s.c.a.r.l. (ITALY) (ITALY)– Università degli Studi di Roma “La Sapienza”Università degli Studi di Roma “La Sapienza” (ITALY) (ITALY)– Rheinisch Westfaelische Technische Hochschule AachenRheinisch Westfaelische Technische Hochschule Aachen ( (GERMANYGERMANY))– Libera UniversitLibera Università di Bolzano (ITALY)à di Bolzano (ITALY)– Thinking Networks AGThinking Networks AG ( (GERMANYGERMANY))– Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener
VereinVerein ( (GERMANYGERMANY))– IBM Italia SPAIBM Italia SPA (ITALY) (ITALY)
Il sito web: Il sito web: http://www.sewasie.org/http://www.sewasie.org/
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Obiettivi del progetto SEWASIEObiettivi del progetto SEWASIE
Sistema sicuro basato su agenti softwareSistema sicuro basato su agenti software Architettura scalabile e distribuitaArchitettura scalabile e distribuita Comunicazione strutturata e basata sul WebComunicazione strutturata e basata sul Web
Componente per la mediazione delle informazioniComponente per la mediazione delle informazioni RaggruppamentoRaggruppamento ContestualizzazioneContestualizzazione VisualizzazioneVisualizzazione
Interfacce utente per:Interfacce utente per: progettazione semanticaprogettazione semantica formulazione delle interrogazioniformulazione delle interrogazioni navigazione intelligentenavigazione intelligente
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
La SEWASIE Virtual NetworkLa SEWASIE Virtual NetworkTh
e us
er
The
user
inte
rfac
e la
yer
inte
rfac
e la
yer
Th
eTh
ein
form
atio
info
rmatio
nnla
yer
layer
Other users
Query Results
CommunicationTool
QueryAgent
QueryAgent
QueryAgent
Comm.Agent
useruser
user
BrokeringAgent (BA)Ontology
maps
MonitoringAgent (MA)
User Interface
Comm. InterfaceQuery InterfaceMetadata Interface
Visualisation
UserProfile
OLAPTool
OLAPReports
Monitoring Interface
MonitorProfiles
SINode
…
Ontology
StructuredDatabases
RDBs
WrapperSemanticEnrichment
Query
MetadataRepository
Semi-Databases
Wrapper
SemanticEnrichment
<XML><DATA>...</DATA>
Wrapper
UnstructuredText documents
<HTML>...
Virtual Data Store
Ontology
StructuredDatabases
RDBs
Wrapper
SemanticEnrichment
QueryManager
MetadataRepository
Databases
Wrapper
SemanticEnrichment
<XML><DATA>...</DATA>
Wrapper
<HTML>...
Ontology
builder
Virtual Data Store
SEWASIE Interconnectio
ninfrastructure
Ontologymaps
BrokeringAgent (BA)
BA
BA
BABA
Structured
Wrapper HTML
XML Wrap
HTML→XML
TheThe intermediaries
intermediarieslayerlayer
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Il sistema MOMISIl sistema MOMIS
Sistema basato su mediatori per l'estrazione e Sistema basato su mediatori per l'estrazione e l'integrazione delle informazioni provenienti da l'integrazione delle informazioni provenienti da sorgenti di dati strutturate, semi-strutturate e non sorgenti di dati strutturate, semi-strutturate e non strutturate.strutturate.
Metodo semantico per l'integrazione delle Metodo semantico per l'integrazione delle informazioni basato su schemi concettuali delle informazioni basato su schemi concettuali delle sorgenti di dati.sorgenti di dati.
MOMISMOMIS ((MMediator envirediator envirOOnment for nment for MMultiple ultiple IInformation nformation SSources)ources)
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Architettura del Sistema MOMISArchitettura del Sistema MOMIS
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Il linguaggio ODLIl linguaggio ODLII33
Il linguaggio ODLIl linguaggio ODLII33 è un'estensione del linguaggio standard ODL è un'estensione del linguaggio standard ODL (Object Definition Language), definito dal gruppo di (Object Definition Language), definito dal gruppo di standardizzazione ODMG-93 per descrivere la conoscenza relativa standardizzazione ODMG-93 per descrivere la conoscenza relativa ad uno schema ad oggetti.ad uno schema ad oggetti.
Il linguaggio ODL è stato esteso in accordo con le indicazioni del Il linguaggio ODL è stato esteso in accordo con le indicazioni del programma Iprogramma I33 (Integrazione Intelligente delle Informazioni) (Integrazione Intelligente delle Informazioni) dell'ARPA.dell'ARPA.
Utilizzando il linguaggio ODLUtilizzando il linguaggio ODLII33, il Sistema MOMIS realizza , il Sistema MOMIS realizza l'integrazione di informazioni da fonti dati eterogenee, comprendenti l'integrazione di informazioni da fonti dati eterogenee, comprendenti sia sorgenti di dati strutturati che semistrutturati.sia sorgenti di dati strutturati che semistrutturati.
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Costrutti fondamentali ODLCostrutti fondamentali ODLII33
– Descrizioni di interfacce:Descrizioni di interfacce:
Interface header:Interface header:• Nome (ObjectID)Nome (ObjectID)• SuperclassiSuperclassi• Source Source • Key, ForeignKeyKey, ForeignKey
Interface body:Interface body:• Attributi sempliciAttributi semplici• Attributi complessiAttributi complessi• Relazioni inverseRelazioni 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;
};
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Costrutti fondamentali ODLCostrutti fondamentali ODLII33
– Relazioni terminologicheRelazioni terminologiche IpernimiaIpernimia BTBT IponimiaIponimia NTNT AssociazioneAssociazione RTRT SinonimiaSinonimia SYNSYN
Person BT Student;
Professor NT Person;
Professor RT Office;
Section SYN Department;
wnAnnotation ComputerScience.Professor
lemmaValue="professor",
lemmaSyntacticCategory=1,
lemmaSenseNumber=1;
– Annotazioni rispetto a WordNetAnnotazioni rispetto a WordNet
wnAnnotation wnAnnotation <DottedName><DottedName>
lemmaValue,lemmaValue,
lemmaSyntacticCategorylemmaSyntacticCategory,,
lemmaSenseNumber;lemmaSenseNumber;
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Il linguaggio OWLIl linguaggio OWL
Il linguaggio OWL (Web Ontology Language) è stato sviluppato dal Il linguaggio OWL (Web Ontology Language) è stato sviluppato dal World Wide Web Consortium (W3C Recommendation 10 February World Wide Web Consortium (W3C Recommendation 10 February 2004) per la definizione di ontologie e di strumenti compatibili con 2004) per la definizione di ontologie e di strumenti compatibili con l'architettura del Semantic Web.l'architettura del Semantic Web.
Tramite OWL è possibile avere una maggiore comprensibilità della Tramite OWL è possibile avere una maggiore comprensibilità della semantica di concetti da parte di agenti software rispetto a XML, semantica di concetti da parte di agenti software rispetto a XML, RDF e RDF-Schema.RDF e RDF-Schema.
OWL è stato costruito sulla base di RDF e RDF-Schema e rispetto OWL è stato costruito sulla base di RDF e RDF-Schema e rispetto ad essi aggiunge diversi costrutti per la definizione dei concetti e ad essi aggiunge diversi costrutti per la definizione dei concetti e delle loro interrelazioni:delle loro interrelazioni:– disgiunzione tra classidisgiunzione tra classi– restrizioni di cardinalità per le proprietàrestrizioni di cardinalità per le proprietà– relazioni di uguaglianza tra classi o proprietàrelazioni di uguaglianza tra classi o proprietà– classi enumerateclassi enumerate– nuovi tipi di proprietà e nuove caratteristiche per le proprietà.nuovi tipi di proprietà e nuove caratteristiche per le proprietà.
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
OWL Lite, OWL DL, OWL FullOWL Lite, OWL DL, OWL Full
OWL fornisce tre sottolinguaggi con espressività incrementale OWL fornisce tre sottolinguaggi con espressività incrementale progettati per l'utilizzo da parte di utenti con necessità differenti per progettati per l'utilizzo da parte di utenti con necessità differenti per la descrizione di ontologie:la descrizione di ontologie:
– OWL LiteOWL Lite: permette di descrivere ontologie nelle quali siano : permette di descrivere ontologie nelle quali siano definite principalmente classificazioni gerarchiche e semplici definite principalmente classificazioni gerarchiche e semplici vincoli sulle proprietà;vincoli sulle proprietà;
– OWL DLOWL DL: è stato progettato per avere massima espressività e : è stato progettato per avere massima espressività e contemporaneamente garantire che tutte le computazioni contemporaneamente garantire che tutte le computazioni abbiano un risultato e terminino in un tempo finito;abbiano un risultato e terminino in un tempo finito;
– OWL FullOWL Full: permette di avere una massima espressività e la : permette di avere una massima espressività e la libertà sintattica di RDF, senza fornire nessuna garanzia dal libertà sintattica di RDF, senza fornire nessuna garanzia dal punto di vista computazionale.punto di vista computazionale.
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Costrutti fondamentali OWLCostrutti fondamentali OWL
– Descrizione di classi:Descrizione di classi: IdentificatoreIdentificatore owl:classowl:class rdf:IDrdf:ID EreditarietàEreditarietà rdfs:subClassOfrdfs:subClassOf
<owl:Class rdf:ID="Professor">
<rdfs:subClassOf rdf:resource="#Person" />
</owl:Class>
– Proprietà:Proprietà: Object PropertiesObject Properties Datatype PropertiesDatatype Properties
<owl:DatatypeProperty rdf:ID="Professor.name">
<rdfs:domain rdf:resource="#Professor"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Costrutti fondamentali OWLCostrutti fondamentali OWL
– Restrizioni:Restrizioni: restrizioni sui valorirestrizioni sui valori restrizioni sulle cardinalitàrestrizioni sulle cardinalità
<owl:Restriction>
<owl:onProperty rdf:resource="#teaches" />
<owl:hasValue rdf:resource="#BasidiDati" />
</owl:Restriction>
– Annotation PropertiesAnnotation 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>
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Confronto tra i costrutti ODLConfronto tra i costrutti ODLII33 e e OWLOWL
<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 >
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;
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Esempio di traduzione ODLEsempio di traduzione ODLII33 - - OWLOWL
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Implementazione dei traduttoriImplementazione dei traduttori
Ontology
MetadataRepository
Virtual Data Store
ODLI3 Ontology
MetadataRepository
Ontologybuilder
Wrapper OWLWrapper OWL
ODLI3
OWL
ODLI3
OWL
QueryManager
<XML><DATA>...</DATA>OWL Ontology
Traduttori da ontologie Traduttori da ontologie ODLODLII33 ad ontologie OWL ad ontologie OWL e da ontologie OWL ad e da ontologie OWL ad ontologie ODLontologie ODLII33
Traduzione bidirezionale Traduzione bidirezionale senza la perdita di senza la perdita di informazioni informazioni fondamentalifondamentali
Componente software Componente software modulare e flessibile modulare e flessibile scritto in Javascritto in Java
Inte
rope
rabi
lità
tra
on
tolo
gie
eter
ogen
ee:
i tra
dutt
ori O
DL I
3 -
O
WL
Conclusioni e Lavoro futuroConclusioni e Lavoro futuro
Visti i differenti livelli di espressività dei sottolinguaggi di OWL, è stata Visti i differenti livelli di espressività dei sottolinguaggi di OWL, è stata implementata la traduzione di schemi ODLimplementata la traduzione di schemi ODL II33 nei sottolinguaggi OWL DL e Full, il nei sottolinguaggi OWL DL e Full, il sottolinguaggio OWL Lite è infatti decisamente limitato per l'espressione di sottolinguaggio OWL Lite è infatti decisamente limitato per l'espressione di schemi complessi.schemi complessi.
La traduzione di ontologie OWL in schemi ODLLa traduzione di ontologie OWL in schemi ODL II33 è stata implementata per i è stata implementata per i sottolinguaggi OWL Lite e OWL DL, il sottolinguaggio OWL Full è caratterizzato sottolinguaggi OWL Lite e OWL DL, il sottolinguaggio OWL Full è caratterizzato da una grande libertà sintattica e non fornisce nessuna garanzia dal punto di da una grande libertà sintattica e non fornisce nessuna garanzia dal punto di vista computazionale.vista computazionale.
Il linguaggio ODLIl linguaggio ODLII33 potrebbe essere esteso per l'espressione dei concetti di potrebbe essere esteso per l'espressione dei concetti di disgiunzione e complemento tra le estensioni delle classi, per la dichiarazione di disgiunzione e complemento tra le estensioni delle classi, per la dichiarazione di proprietà transitive e per il versioning di ontologie.proprietà transitive e per il versioning di ontologie.
Il Wrapper OWL può essere completato attraverso la realizzazione del modulo Il Wrapper OWL può essere completato attraverso la realizzazione del modulo per la gestione delle interrogazioni. Il modulo dovrà effettuare la traduzione delle per la gestione delle interrogazioni. Il modulo dovrà effettuare la traduzione delle interrogazioni provenienti dal Query Manager del sistema MOMIS, nel query interrogazioni provenienti dal Query Manager del sistema MOMIS, nel query language specifico per ontologie OWL: RDQL (RDF Query Language) o language specifico per ontologie OWL: RDQL (RDF Query Language) o SPARQL Query Language for RDF.SPARQL Query Language for RDF.