ontologie: rdf e owl universita di camerino corso di laurea in informatica barbara re...

53
Ontologie: RDF e OWL Ontologie: RDF e OWL UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Upload: giosetta-masi

Post on 01-May-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Ontologie: RDF e OWLOntologie: RDF e OWL

UNIVERSITA’ DI CAMERINOCorso di laurea in Informatica

Barbara [email protected]

Anno Accademico 2006-07

Page 2: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 2

RDF: scopo

Page 3: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 3

RDF: Scopo

Hanno bisogno di un linguaggio ontologico con cui definire il significato associato ai metadati

Esempio parentelaUn uomo è un essere umano ed è un maschioUna donna è un essere umano ed è femminaUna madre è una donna che ha figli almeno un essere umanoUn genitore è un padre o una madreUn nonno è un uomo che ha_figlio almeno un genitore

I termini sottolineati sono parte del linguaggio utilizzato per definire madre, padre, … , nonno

Page 4: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 4

RDF: Scopo

Il linguaggio ontologico deve però essereFormale

Perché automaticamente decodificabile Il linguaggio italiano non è adatto

EsplicitoPerché bastato su strutture di immediata applicazione un, è un, che, almeno un, o sono abbastanza espliciti

Perciò occorre definire esplicitamente e in modo formale il significato dei termini del linguaggio ontologico (un, è un, che, almeno un, o)

Page 5: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 5

RDF Vocabulary Description Language

RDFS: RDF Vocabulary Description Language o RDF Schema è un linguaggio ontologico adatto perché

È formaleEssendo costruito sopra RDF

È esplicitoSpecifica un insieme predefinito di risorse e predicati RDF per Definire classi e predicati Controllare quali classi e predicati debbono essere utilizzati

contemporaneamente

Page 6: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 6

Iniziamo con la prima ontologia

Creare una classeex:Artista rdf:type rdfs:Class

Creare sottoclasseEx:Pittore rdf:subClassOf ex:ArtistaEx:Scultore rdfs:subClassOf ex:Artista

Creare un esemplare (instance)ex:Rodin rdf:type ex:scultore

Page 7: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 7

… ed ancora

Uso di “Multiple inheritance”Ex:ArtistaMultidisciplinare rdfs:subClassOf ex:PittoreEx:ArtistaMultidisciplinare rdfs:subClassOf ex:Scultore

Uso di “Multiple instantiation”Ex:Michelangelo rdf:type ex:PittoreEx:Michelangelo rdf:type ex:Scultore

Page 8: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 8

Proprietà

Creare una proprietàex:crea rdf:type rdf:Property

Usare una proprietàex:Rodin ex:crea ex:il bacio

Creare sotto proprietàex:dipinge rdfs:subPropertyOf ex:creaex:scolpisce rdfs:subPropertyOf ex:crea

Page 9: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 9

Gerarchie di proprietà

Controllare quali classi e predicati devono essere utilizzati contemporaneamente

ex:crea rdfs:domain ex:Artistaex:crea rdfs:range ex:operaex:dipinge rdf:domain ex:pittoreex:dipinge rdf:range ex:operaex:scolpisce rdfs:domain ex:scultoreex:scolpisce rdfs:range ex:scultore

Page 10: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 10

Graficamente

Page 11: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 11

Ereditarietà!!!

Page 12: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 12

Page 13: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 13

Una singola tripla

Page 14: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Protegè

Page 15: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 15

La piattaforma Protégé

Esistono due modalità per creare le ontologie in Protégé:

Il Protégé-Frames editor, consente di costruire e popolare le ontologie che sono basate su “frame”, secondo il protocollo OKBC (Open Knowledge Base Connectivity protocol [www.ai.sri.com/~okbc/]). In questo modello, un’ontologia è costituita da un’insieme di classi organizzate in gerarchia, rappresentanti un insieme di concetti. Le classi sono caratterizzate da slot e relazioniIl Protégé-OWL editor, consente di costruire ontologie per il Semantic Web, in particolare secondo il linguaggio OWL [www.w3.org/2004/OWL/]. Un’ontologia OWL può includere descrizioni di classi, di proprietà e le loro istanze.

Page 16: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 16

Main

Page 17: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 17

:THING

Tutte le classi individuate come capostipiti di una gerarchia, saranno figlie di :THING (sarà la classe più generale della nostra ontologia).

(Nota: la :SYSTEM_CLASS è utilizzata da Protégé per definire le strutture dei form)

Page 18: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 18

Creazione di Classi

Page 19: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 19

Role

All’interno di Protégé Classes Tab si può definire il “role” di una classe:

AstrattaConcreta

Una caratteristica importante è che Protégé supporta l’ereditarietà multipla.

Inoltre si possono definire gli slot, i vincoli sui valori degli slot, le relazioni fra le classi e le proprietà.

Page 20: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 20

Nel dettaglio

Page 21: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 21

Le proprietà di una classe

Definite le classi, si devono descrivere le proprietà di queste, che nell’ontologia saranno gli slot.

Gli slot possono rappresentare:proprietà estrinseche (ad esempio il gusto di un vino)proprietà intrinseche (ad esempio il nome)parti di un oggetto, nel caso in cui questo sia strutturato (possono essere parti sia “astratte” sia “concrete”)le relazioni con altre classi

Gli slot possono avere dei vincoli, ad esempio il tipo, il numero di valori (la cardinalità)…

In Protégé i tipi previsti sono: boolean, float, integer, string, symbol (consente di enumerare i valori possibili), class, instance, any; inoltre la definizione dell’attributo può essere obbligatoria o meno (settando in maniera opportuna il flag “required”) e uno slot può avere una cardinalità singola o multipla.

Page 22: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 22

Proprietà di una classe (1)

Page 23: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 23

Proprietà di una classe (2)

Page 24: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 24

Inverse slot

Il valore di uno slot può dipendere dal valore di un altro slot.

Ad esempio ad un Paziente si può fare un’Anamnesi e l’Anamnesi è relativa solo ad un paziente.

Il Sistema è in grado di assicurare la consistenza della conoscenza di base in tal senso. Ad esempio cancellando un’istanza di Anamnesi,

Protégé provvederà a rimuovere il corrispettivo riferimento dal paziente.

Page 25: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 25

Classi e slot

Page 26: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 26

Protegè slot Tab

Nota: se dovete eliminare uno slot che avevate precedentemente creato, siconsiglia vivamente di eliminarlo sempre da Protégé Slot Tab, in quanto seviene eliminato per mezzo dell’interfaccia Protégé Class Tab, lo slot nonverrà definitivamente eliminato ma rimarrà presente nell’ontologia nonlegato a nessuna classe.

Page 27: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 27

Protégé Instance Tab

All’interno di Protégé Instance Tab si possono andare a definire le istanze per le varie classi.

Definire un’istanza significa1. Scegliere una classe2. Creare un’istanza della classe3. Immettere i valori degli slot

Page 28: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 28

Istanze

Page 29: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 29

Plug in

Proprietà dei Plug-in:Estendono le funzionalità di Protégé per adempiere a molteplici necessità (Visualizzazione, Importazione/Esportazione ad altri formati, etc…) Ogni plug-in ha un suo tab associato attivabile attraverso il menù Project Configure

Ontoviz: Plug-in per la visualizzazione grafica dell’ontologia Si basa su GraphViz, il quale deve essere correttamente

installato Consente di specificare differenti livelli di dettaglio

(Classi, Slots, SottoClassi, Istanze, Relazioni,etc…) Consente di specificare uno o più soggetti centrali della

visualizzazione (Se si desidera visualizzare tutta l’ontologia si può specificare semplicemente THING)

Page 30: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 30

Ontoviz

Page 31: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

OWL

Page 32: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 32

Origini di OWL Properties

Symmetric, Transitive, Functional, Inverse Functionalrange, domain, subPropertyOf, inverseOf, equivalentPropertyClass

SubClassOf, intersectionOf, unionOf, complementOf, Enumeration, Equivalence, Disjoint

Statements sulle istanze groundsameIndividualAs,DIfferentFrom,AllDifferent

3 facce di OwlLite,DL,Full

OWL: Sommario

Page 33: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 33

Origini di OWL

DAML

DAML+OIL

DAML = DARPA Agent Markup LanguageOIL = Ontology Inference Layer

OIL

OWL

RDF

Tutti influenzati da RDF

Page 34: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 34

Non tutti hanno bisogno di tutta l’espressività di OWL

OWL Full

OWL DL

OWL Lite

Le tre facce di OWL

Page 35: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 35

OWL Full OWL DL OWL Lite

Tutto quello che è stato presentato è disponibile nella versione Full. E’ inoltrepossibile miscelare ledescrizioni OWL conRDF(S).

Non è possibile usareowl:cardinality con TransitiveProperty.Non è possibile avere classimembro, ad esempio definiremetaclassi.

Non è possibile usare owl:minCardinalityo owl:maxCardinality.I soli valori consentiti sono perowl:cardinality sono 0 e 1.Non sono disponibili owl:hasValue,owl:disjointWith, owl:one of,owl:complementOf, owl:unionOf.

Confronti

Page 36: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 36

Protégé-OWL editor

Bundled in Protégé 2.1 (Full):

12

3

Page 37: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 37

OWL (in Protégé)

Individuals (e.g., “FourSeasons”)

Properties

Classes (e.g., “Hotel”)

Page 38: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 38

Individual

Represent objects in the domain Specific things Two names could represent the same “real-world”

individual Individuals are also known as instances. Individuals

can be referred to as being ‘instances of classes’.

SydneysOlympicBeachBondiBeach

Sydney

Page 39: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 39

Proprità

Properties are roughly equivalent to slots in Protege.

They are also known as roles in description logics and relations in UML and other object oriented notions

Sono relazioni binarie sugli individui

Page 40: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 40

Classi

The word concept is sometimes used in place of class

Classes are a concrete representation of concepts

Page 41: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 41

Range and Domain

Property characteristicsDomain: “left side of relation” (Destination)Range: “right side” (Accomodation)

Sydney

BestWestern

FourSeasonshasAccomodation

DestinationAccomodation

hasAccomodation

Page 42: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 42

Superclass Relationships

Classes can be organized in a hierarchy Direct instances of subclass are also (indirect)

instances of superclasses

Cairns

Sydney

Canberra

Coonabarabran

Page 43: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 43

Class Relationships

Classes can overlap arbitrarily

City

Sydney

CairnsBondiBeach

RetireeDestination

Page 44: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 44

Class Disjointness

All classes could potentially overlap In many cases we want to make sure they don’t

share instances

Sydney

UrbanArea RuralArea

SydneyWoomera

CapeYork

disjointWith

City Destination

Page 45: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 45

(Create a new OWL project)

Page 46: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 46

(Create simple classes)

Page 47: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 47

(Create class hierarchy and set disjoints)

Page 48: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 48

(Create Contact class with datatype properties)

Page 49: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 49

(Edit details of datatype properties)

Page 50: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 50

(Create an object property hasContact)

Page 51: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 51

(Create an object property with inverse)

Page 52: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 52

(Create the remaining classes and properties)

Page 53: Ontologie: RDF e OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

Barbara Re 53

Ci sono domande?