Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Ontologie: RDF e OWL UNIVERSITA’ DI CAMERINO
Corso di laurea in Informatica Barbara Re Anno Accademico
2
RDF: scopo Barbara Re
3
RDF: Scopo Hanno bisogno di un linguaggio ontologico con cui definire il significato associato ai metadati Esempio parentela Un uomo è un essere umano ed è un maschio Una donna è un essere umano ed è femmina Una madre è una donna che ha figli almeno un essere umano Un genitore è un padre o una madre Un nonno è un uomo che ha_figlio almeno un genitore I termini sottolineati sono parte del linguaggio utilizzato per definire madre, padre, … , nonno Barbara Re
4
RDF: Scopo Il linguaggio ontologico deve però essere
Formale Perché automaticamente decodificabile Il linguaggio italiano non è adatto Esplicito Perché 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) Barbara Re
5
RDF Vocabulary Description Language
RDFS: RDF Vocabulary Description Language o RDF Schema è un linguaggio ontologico adatto perché È formale Essendo costruito sopra RDF È esplicito Specifica un insieme predefinito di risorse e predicati RDF per Definire classi e predicati Controllare quali classi e predicati debbono essere utilizzati contemporaneamente Barbara Re
6
Iniziamo con la prima ontologia
Creare una classe ex:Artista rdf:type rdfs:Class Creare sottoclasse Ex:Pittore rdf:subClassOf ex:Artista Ex:Scultore rdfs:subClassOf ex:Artista Creare un esemplare (instance) ex:Rodin rdf:type ex:scultore Barbara Re
7
… ed ancora Uso di “Multiple inheritance”
Ex:ArtistaMultidisciplinare rdfs:subClassOf ex:Pittore Ex:ArtistaMultidisciplinare rdfs:subClassOf ex:Scultore Uso di “Multiple instantiation” Ex:Michelangelo rdf:type ex:Pittore Ex:Michelangelo rdf:type ex:Scultore Barbara Re
8
Proprietà Creare una proprietà Usare 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:crea ex:scolpisce rdfs:subPropertyOf ex:crea Barbara Re
9
Gerarchie di proprietà
Controllare quali classi e predicati devono essere utilizzati contemporaneamente ex:crea rdfs:domain ex:Artista ex:crea rdfs:range ex:opera ex:dipinge rdf:domain ex:pittore ex:dipinge rdf:range ex:opera ex:scolpisce rdfs:domain ex:scultore ex:scolpisce rdfs:range ex:scultore Barbara Re
10
Graficamente Barbara Re
11
Ereditarietà!!! Barbara Re
12
Barbara Re
13
Una singola tripla Barbara Re
14
Protegè
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 [ 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 relazioni Il Protégé-OWL editor, consente di costruire ontologie per il Semantic Web, in particolare secondo il linguaggio OWL [ Un’ontologia OWL può includere descrizioni di classi, di proprietà e le loro istanze. Barbara Re
16
Main 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) Barbara Re
18
Creazione di Classi Barbara Re
19
Role All’interno di Protégé Classes Tab si può definire il “role” di una classe: Astratta Concreta 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à. Barbara Re
20
Nel dettaglio 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. Barbara Re
22
Proprietà di una classe (1)
Barbara Re
23
Proprietà di una classe (2)
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. Barbara Re
25
Classi e slot Barbara Re
26
Protegè slot Tab Nota: se dovete eliminare uno slot che avevate precedentemente creato, si consiglia vivamente di eliminarlo sempre da Protégé Slot Tab, in quanto se viene eliminato per mezzo dell’interfaccia Protégé Class Tab, lo slot non verrà definitivamente eliminato ma rimarrà presente nell’ontologia non legato a nessuna classe. 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 significa Scegliere una classe Creare un’istanza della classe Immettere i valori degli slot Barbara Re
28
Istanze Barbara Re
29
Plug in Proprietà dei Plug-in: Ontoviz:
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) Barbara Re
30
Ontoviz Barbara Re
31
OWL
32
OWL: Sommario Origini di OWL Properties
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 Barbara Re
33
Origini di OWL OWL DAML OIL RDF Tutti influenzati da RDF
DAML = DARPA Agent Markup Language OIL = Ontology Inference Layer OIL OWL RDF Tutti influenzati da RDF Barbara Re
34
Le tre facce di OWL Non tutti hanno bisogno di tutta l’espressività di OWL OWL Full OWL DL OWL Lite Barbara Re
35
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. Barbara Re
36
Protégé-OWL editor Bundled in Protégé 2.1 (Full): 1 2 3 Barbara Re
37
OWL (in Protégé) Individuals (e.g., “FourSeasons”) Properties
Classes (e.g., “Hotel”) Barbara Re
38
Individual Sydney SydneysOlympicBeach BondiBeach
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’. Sydney SydneysOlympicBeach BondiBeach 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 Barbara Re
40
Classi The word concept is sometimes used in place of class
Classes are a concrete representation of concepts Barbara Re
41
Range and Domain Accomodation Destination hasAccomodation BestWestern
Property characteristics Domain: “left side of relation” (Destination) Range: “right side” (Accomodation) Accomodation Destination hasAccomodation BestWestern Sydney FourSeasons hasAccomodation 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 Barbara Re
43
Class Relationships RetireeDestination City Cairns BondiBeach Sydney
Classes can overlap arbitrarily RetireeDestination City Cairns BondiBeach Sydney Barbara Re
44
Class Disjointness UrbanArea RuralArea Woomera Sydney Sydney CapeYork
All classes could potentially overlap In many cases we want to make sure they don’t share instances disjointWith UrbanArea RuralArea Woomera Sydney Sydney CapeYork City Destination Barbara Re
45
(Create a new OWL project)
Barbara Re
46
(Create simple classes)
Barbara Re
47
(Create class hierarchy and set disjoints)
Barbara Re
48
(Create Contact class with datatype properties)
Barbara Re
49
(Edit details of datatype properties)
Barbara Re
50
(Create an object property hasContact)
Barbara Re
51
(Create an object property with inverse)
Barbara Re
52
(Create the remaining classes and properties)
Barbara Re
53
Ci sono domande? Barbara Re
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.