Download - Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3 - OWL

Transcript
Page 1: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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

Page 2: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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

Page 3: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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

Page 4: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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.

Page 5: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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/

Page 6: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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

Page 7: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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

Page 8: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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)

Page 9: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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

Page 10: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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.

Page 11: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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;

};

Page 12: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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;

Page 13: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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à.

Page 14: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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.

Page 15: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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>

Page 16: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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>

Page 17: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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

Page 18: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

<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

Page 19: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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

Page 20: Interoperabilità tra ontologie eterogenee: i traduttori ODL I 3  - OWL

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.