OWL: Ontology Web Language

Slides:



Advertisements
Presentazioni simili
1 OWL Mario Arrigoni Neri. 2 OWL – Web Ontology Language Estende RDF[S] con costrutti aggiuntivi per modellare realtà più complesse Contemporaneamente.
Advertisements

RDF Schema Mario Arrigoni Neri.
SEMANTIC WEB Antonio Bucchiarone FBK-IRST Trento, Italy 13 Novembre 2009.
Ontologie: RDF e OWL UNIVERSITA’ DI CAMERINO
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Interoperabilità tra ontologie eterogenee: i traduttori ODLI3 - OWL
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTA DI INGEGNERIA – SEDE DI MODENA Corso di Laurea in Ingegneria Informatica PROGETTAZIONE UML NELLAMBITO.
Il Sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente d integrazione.
Peer to Peer DBMS: il sistema FOAF Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Università degli.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Query Processing by Semantic.
Il mio nome è Alain Fergnani e nel corso della tesi mi sono occupato della dinamica delle ontologie per il Web Semantico, e in particolare dell’approccio.
Metadati: RDF e RDFS Fabio Vitali.
Modulo3 Linguaggi: OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re Anno Accademico
Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a
Seminari di ingegneria del software
Metodi e strumenti per l’annotazione semantica
Le nuove frontiere nella gestione della conoscenza sul Web Fabio Ciotti.
Descrizione Semantica ad Alto Livello di Ambienti Virtuali in X3D
“Seminari di Ingegneria del software”
Tesi di Laurea in Ingegneria Informatica
La nuova “visione” del web: il Web Semantico
1 OWL: Ontology Web Language Pierluigi DAmadio a.a.2003/2004.
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
Ontologie e World Wide Web: la diffusione della conoscenza.
Semantic Web. I problemi della ricerca in Web Querying  Ambiguità della formula Browsing  Arbitrarietà nei criteri di classificazione dei dati = Web.
Sapienza Università di Roma Sapienza Università di Roma Laurea specialistica in Ingegneria Informatica Seminari di Ingegneria del Software Traduzione di.
Metamodellazione in RDF Tesina del corso di Seminari di Ingegneria del Software Alberto Cerullo.
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
L’Elaborazione del Linguaggio Naturale e i Linguaggi di Markup - dalla struttura al contenuto -
Web semantico: Il recupero dell’informazione affidato alla macchina
WWW Metadati: RDF e RDFS Riccardo Gentilucci Marco Pirruccio.
Prof. Massimo Ruffolo Ing. Maurizio Colica. Capitolo 4 RDF: Resource Description Framework  Introduzione  Classi e Istanze  Proprietà.
Web semantico. il Web Semantico si basa sullo standard URI (Uniform Resource Identifiers), per la definizione univoca di indirizzi Internet al livello.
Prof. Massimo Ruffolo Ing. Ermelinda Oro. Capitolo 4 RDF: Resource Description Framework RDFS: RDF Schema.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Oltre il web 2.0: il web semantico Seminario. World Wide Web ● Nasce nel 1991 al CERN di Ginevra Evoluzione: web dinamico ● Si basa su ● URL ● HTTP ●
Privacy e fiducia nel social network IGF Italia Oreste Signore.
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rileaborato da M. Lenzerini - Basi di dati
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le Basi di dati: progettazione concettuale.
Dott. Fabio Massimo Zanzotto a.a
EasyGraph Dynamic web-based dashboard
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Slide a: Summer School LDA Libraries in the digital age: linked data technologies for a global.
Algoritmi e soluzioni di problemi
Progettazione di una base di dati relazionale
TECO Teacher Education Competency Ontology
Introduzione alle griglie computazionali
Progettazione di una base di dati relazionale
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
Standard e Formati di Documento Aperti
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
DTD Document Type Definition per XML
Semantizzare la rete Web 3.0 ed Ontologie Dott. Michele Stingo
Linguaggi per il Web Semantico Corso di Metodi di Estrazione delle Informazioni dal Web Roberto Navigli 02/01/2019.
Le basi di dati: progettazione concettuale.
Il mio nome è Alain Fergnani e nel corso della tesi mi sono occupato della dinamica delle ontologie per il Web Semantico, e in particolare dell’approccio.
Referente per il progetto: Roberto Navigli
Il questionario: progettazione e redazione II Modulo
Algoritmi.
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

OWL: Ontology Web Language Pierluigi D’Amadio a.a.2003/2004

Web Semantico: una visione? Estensione del WWW: Macchine capaci di processare e di “capire” il significato dei dati Linguaggi proposti dal W3C XML RDF RDF(S) OWL Syntax Semantics

Ontologie: definizioni a confronto “a systematic explanation of being” (Philosophy) “… defines the basic terms and relations including the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary.” (Neches) “… an explicit specification of a conceptualization.” (Gruber) “An ontology is a formal and explicit specification of a shared conceptualization.” (Borst) “… a logical theory which gives an explicit, partial account of a conceptualization.” (Guarino)

XML Vantaggi: estendibilità del linguaggio: ciascuno ha la possibilità di scrivere un proprio schema fornisce uno standard per rappresentare le informazioni tramite alberi etichettati Svantaggi: La semantica non è specificata formalmente

RDF versus XML In XML è importante l’ordine con cui sono fatte le asserzioni, in RDF no. La semantica in RDF è specificata formalmente, in XML è immersa nelle etichette che si associano ai tag e nella sintassi del DTD. La specifica formale di RDF è raggiungibile a: http://www.w3.org/TR/REC-rdf-syntax/

RDF: Modello Soggetto: La risorsa che si vuole descrivere Predicato: Una proprietà della risorsa Oggetto: Il valore della proprietà Una combinazione dei precedenti elementi è detta statement (o regola) emptiesInto River BodyOfWater Il valore della proprietà [Oggetto] Una proprietà della risorsa [Predicato] La risorsa che si vuole descrivere [Soggetto]

RDF: Esempio RDF fornisce l’attributo ID per identificare la risorsa che viene descritta. 1 2 L’attributo ID vive nel namespace RDF. <?xml version="1.0"?> <River rdf:ID="Yangtze" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.geodesy.org/river#"> <length>6300 kilometers</length> <startingLocation>western China's Qinghai-Tibet Plateau</startingLocation> <endingLocation>East China Sea</endingLocation> </River> 3 L’identificatore "fragment” indica la fine del namespace.

RDF Schema RDF Schema fornisce nozioni di modellazione per: esprimere classi (Class) e le interrelazioni tra classi (subClassOf). definire proprietà (Property,subPropertyOf) e associarle alle classi. domain, range definire le istanze (non necessariamente ground) con la proprietà type River BodyOfWater emptiesInto domain range type Yangtzee River

OWL: Sommario Origini di OWL Properties Class Symmetric, Transitive, Functional, Inverse Functional range, domain, subPropertyOf, inverseOf, equivalentProperty Class SubClassOf, intersectionOf, unionOf, complementOf, Enumeration, Equivalence, Disjoint Statements sulle istanze ground sameIndividualAs,DIfferentFrom,AllDifferent 3 facce di Owl Lite,DL,Full

Origini di OWL OWL DAML OIL RDF Tutti influenzati da RDF DAML = DARPA Agent Markup Language OIL = Ontology Inference Layer DAML+OIL OWL

Definire Property in OWL OWL usa rdfs:range, rdfs:domain, e rdfs:subPropertyOf. OWL introduce due classi di Property: owl:ObjectProperty è la classe di proprietà che hanno come valore un oggetto istanza di una classe (Resource2Resource) owl:DatatypeProperty è la classe di proprietà che hanno come valore un dato di tipo semplice o strutturato (rdfs:Literal o XML Schema built-in datatype)

Gerarchia delle property classes rdf:Property owl:ObjectProperty owl:DatatypeProperty owl:FunctionalProperty owl:InverseFunctionalProperty owl:SymmetricProperty owl:TransitiveProperty FunctionalProperty e InverseFunctionalProperty possono essere usate per associare Resources a Resources, oppure Resources a un RDF Schema Literal o a un XML(S) datatype. InverseProperty è una proprietà di ObjectProperty

Esempio: la tassonomia delle sorgenti d’acqua Ocean Lake BodyOfWater River Stream Sea NaturallyOccurringWaterSource Tributary Brook Rivulet

Symmetric Properties Se un sorgente d’acqua A connectsTo una sorgente B, allora la sorgente B connectsTo A. NaturallyOccurringWaterSource Properties: connectsTo: NaturallyOccurringWaterSource connectsTo SymmetricProperty type <owl:ObjectProperty rdf:ID="connectsTo"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/> <rdfs:domain rdf:resource="#NaturallyOccurringWaterSource"/> <rdfs:range rdf:resource="#NaturallyOccurringWaterSource"/> </owl:ObjectProperty>

Transitive Properties Se A è containedIn B, B è containedIn C allora A è containedIn C. Properties: containedIn: BodyOfWater Sea containedIn TransitiveProperty type <owl:ObjectProperty rdf:ID=“containedIn"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/> <rdfs:domain rdf:resource="#Sea"/> <rdfs:range rdf:resource="#BodyOfWater"/> </owl:ObjectProperty>

Functional Properties Per ogni istanza c’è al più un valore per la property Properties: emptiesInto: BodyOfWater River emptiesInto FunctionalProperty type <owl:ObjectProperty rdf:ID=“containedIn"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:domain rdf:resource="#Sea"/> <rdfs:range rdf:resource="#BodyOfWater"/> </owl:ObjectProperty>

Inverse Properties Se una proprietà P1 associa la Resource1 alla Resource2, allora la Inverse property associa la Resource2 alla Resource1 Properties: emptiesInto: BodyOfWater River Properties: feedsFrom: River BodyOfWater feedsFrom emptiesInto inverseOf <owl:ObjectProperty rdf:ID="feedsFrom"> <owl:inverseOf rdf:resource="#emptiesInto"/> <rdfs:domain rdf:resource="#BodyOfWater"/> <rdfs:range rdf:resource="#River"/> </owl:ObjectProperty

Inverse Functional Properties Per un dato valore di range il dominio è unico Properties: emptiesInto: BodyOfWater River BodyOfWater Properties: feedsFrom: River (functional) <owl:ObjectProperty rdf:ID="feedsFrom"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/> <owl:inverseOf rdf:resource="#emptiesInto"/> <rdfs:domain rdf:resource="#BodyOfWater"/> <rdfs:range rdf:resource="#River"/> </owl:ObjectProperty>

Global vs Local River Properties: emptiesInto: BodyOfWater Flueve: a River emptiesInto Sea Flueve rdfs:range stabilisce una global restriction su emptiesInto, ossia, rdfs:range value si applica a River e a tutte le sottoclassi di River. Nel contesto di Flueve, vogliamo restringere il range della property emptiesInto alla sola classe Sea, ossia vogliamo una local restriction of emptiesInto.

Due forme di rdfs:subClassOf 1 <rdfs:subClassOf rdf:resource="#River"/> Specifica la classe usando l’attributo rdf:resource. <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> </rdfs:subClassOf> Specifica la risorsa usando owl:Restriction. Specifica che tutti i valori sono presi da Sea 2 anonymous class

Restrizioni Tutti i valori devono appartenere ad una data classe (allValuesFrom). Al più un valore deve appartenere ad una certa classe (someValuesFrom). La restrizione prescrive un valore specifico (hasValue). La restrizione impone un vincolo sulla cardinalità delle occorrenze dell’attributo (cardinality,mincardinality,maxcardinality)

RDFS OWL Definire Classi in OWL Le classi di OWL sono molto più espressive delle classi di RDF Schema classes. <rdfs:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> </rdfs:Class> <owl:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> </owl:Class> RDFS OWL rdfs:Class owl:Class

Classi: Esempio River Flueve (French): “un fiume che sfocia nel mare". Properties: emptiesInto: BodyOfWater Flueve Flueve (French): “un fiume che sfocia nel mare". Rivìere (French): “un fiume che sfocia in un lago o in un altro fiume”. Rivìere

intersectionOf <owl:Class rdf:ID="Flueve"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#River"/> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> I membri di questa classe anonima sono istanze che hanno la proprietà emptiesInto in cui tutti i valori sono istanze di Sea. River Flueve

L’ereditarietà multipla <owl:Class rdf:ID="Flueve"> <rdfs:subClassOf rdf:resource="#River"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> I membri di questa classe anonima sono istanze che hanno la proprietà emptiesInto in cui tutti i valori sono istanze di Sea. River Flueve Ci potrebbero essere dei Rivers che sfociano nel mare che non sono Flueves

unionOf I membri di questa classe anonima sono istanze che hanno la proprietà emptiesInto in cui tutti i valori sono istanze di Sea. Rivìere River <owl:Class rdf:ID="Rivìere"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#River"/> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> <owl:allValuesFrom rdf:resource="#River"/> </owl:unionOf> </owl:Class> </owl:intersectionOf> I membri di questa classe anonima sono istanze che hanno la proprietà emptiesInto in cui tutti i valori sono istanze di River.

complementOf WaterSource NaturallyOccurringWaterSource ManMadeWaterSource NaturallyOccurringWaterSource Intersezione delle WaterSource e il complementOf ManMadeWaterSource. <owl:Class rdf:ID="NaturallyOccurringWaterSource"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#WaterSource"/> <owl:Class> <owl:complementOf rdf:resource="#ManMadeWaterSource"/> </owl:Class> </owl:intersectionOf>

oneOf: enumerare le istanze di una classe <owl:Class rdf:ID="Kyoto-Protected-River"> <rdfs:subClassOf rdf:resource="#River"/> <owl:oneOf rdf:parseType="Collection"> <geo:River rdf:about="http://www.china.org/geography/rivers#Yangtze"/> <geo:River rdf:about="http://www.us.org/rivers#Mississippi"/> <geo:River rdf:about="http://www.africa.org/rivers#Nile"/> <geo:River rdf:about="http://www.s-america.org/rivers#Amazon"/> … </owl:oneOf> </owl:Class> Qui enumeriamo i fiumi che sono protetti dal Trattato di Kyoto

equivalentClass Ocean Lake LakeOceanSea Sea Vogliamo affermare che BodyOfWater è equivalente a LakeOceanSea. <owl:Class rdf:ID="BodyOfWater"> <rdfs:subClassOf rdf:resource="#NaturallyOccurringWaterSource"/> <owl:equivalentClass rdf:resource="http://www.other.org#LakeOceanSea"/> </owl:Class>

disjointWith <owl:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> <owl:disjointWith rdf:resource="#Brook"/> <owl:disjointWith rdf:resource="#Rivulet"/> <owl:disjointWith rdf:resource="#Tributary"/> </owl:Class> In questa definizione di River, un’istanza di River non può essere un’istanza di Brook, Rivulet o Tributary. La proprietà disjointWith è una proprietà simmetrica.

Sommario delle proprietà delle classi Properties: subClassOf: rdfs:Class domain: rdfs:Class range: rdfs:Class rdfs:Class owl:Class owl:Restriction Properties: intersectionOf: rdf:List unionOf: rdf:List complementOf: owl:Class oneOf: rdf:List equivalentClass: owl:Class disjointWith: owl:Class Properties: onProperty: rdf:Property allValuesFrom: rdfs:Class hasValue: someValuesFrom: rdfs:Class cardinality: xsd:nonNegativeInteger minCardinality: xsd:nonNegativeInteger maxCardinality: xsd:nonNegativeInteger

OWL statements owl:sameIndividualAs owl:differentFrom owl:AllDifferent Applicabile a due istanze Rinforza functionalProperty owl:differentFrom Può portare a contraddizioni con functionalProperty owl:AllDifferent Applicabile a un set di istanze

Le tre facce di OWL Non tutti hanno bisogno di tutta l’espressività di OWL: OWL Full OWL DL OWL Lite

Confronti OWL Full OWL DL OWL Lite Tutto quello che è stato presentato è disponibile nella versione Full. E’ inoltre possibile miscelare le descrizioni OWL con RDF(S). Non è possibile usare owl:cardinality con TransitiveProperty. Non è possibile avere classi membro, ad esempio definire metaclassi. Non è possibile usare owl:minCardinality o owl:maxCardinality. I soli valori consentiti sono per owl:cardinality sono 0 e 1. Non sono disponibili owl:hasValue, owl:disjointWith, owl:one of, owl:complementOf, owl:unionOf.

OWL Guide fornisce una buona descrizione di OWL con molti esempi: OWL Resources OWL Guide fornisce una buona descrizione di OWL con molti esempi: http://www.w3.org/TR/owl-guide/ OWL Reference è una guida completa e dettagliata: http://www.w3.org/TR/owl-ref/ Per tutti gli altri documenti OWL, e informazioni su Semantic Web: http://www.w3.org/2001/sw