Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Dezvoltarea aplicațiilor Web
Ѻmodelarea cunoștințelor la nivel de Web
ontologii exprimate prin OWL
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„Cine deschide toate porțile,le poate închide pe toate.”
Antonio Porchia
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
necesitate
Existența unui vocabular partajabil
elementele sintactice (cuvintele, marcatorii etc.)au același înțeles atât pentru transmițător,
cât și pentru destinatar
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
necesitate
Existența unui set comun de constrângeri
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
necesitate
Existența unui cadru conceptual unanim acceptatoferind relații între clase
de date/informații/cunoștințe
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
necesitate
Existența unui cadru conceptual unanim acceptatoferind relații între clase
de date/informații/cunoștințe
înțelegerea – automată (de dorit) – a informațiilornu va fi influențată de anumite cunoștințe inițiale
(unspecified background knowledge)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co:alecsandru a foaf:Person .
:alecsandru foaf:givenname "Alecsandru"@ro .
:alecsandru :teach :HCILab .
:HCILab :isPartOf :HCI .
:HCI a :Discipline .
:alecsandru a :MScGraduate .
:alecsandru :graduated :SoftSysEng .
:SoftSysEng rdfs:subClassOf :PostgradStudies .
:PostgradStudies rdfs:subClassOf :FIIStudies .
:FIIStudies :providedBy :FII .
:FII a :Faculty , foaf:Agent .
:FII foaf:homepage <http://www.infoiasi.ro> .
:Academic a skos:Concept .
„Alecsandru predă laboratorul la disciplina HCI.Alecsandru are studii de master în software engineering.”
adnotaresemantică(explicită)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
necesitate
Un limbaj de modelare complexă a cunoștințelor gestionate de o aplicație Web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
soluție
Modelarea cunoștințelor via ontologii
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Ontologia = teorie privitoare la existență
„ramură a filosofiei care studiazătrăsăturile ființei, existența”
(Hoklenium, 1613)
ontos (ființă, existență) + logos (studiu)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
O ontologie reprezintă conceptualizareaunui domeniu de cunoaștere
într-un format destinat a fi procesat de calculator, format modelând
entități, atribute, relații și axiome
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Scop:
conceptualizări complexeale unui domeniu de interes
Tom Gruber, “Toward Principles for the Design of Ontologies Used for Knowledge Sharing”, Human-Computer Studies (1993)
tomgruber.org/writing/onto-design.htm
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Subiectul ontologiei este studiul categoriilorde lucruri (things) care există sau pot exista
în cadrul unui domeniu de interes
John Sowa, 2001
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
O ontologie reprezintă un set de definiții formulateîntr-un limbaj formal pentru termenii ce descriu
un domeniu de interes
Adam Pease, 2007
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
“Ontology is a set of knowledge terms,including the vocabulary,
the semantic interconnections,and some simple rules of inference and logic
for some particular topic.”
James Hendler, 2001
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
“A rigorous and exhaustive organization of some knowledge domain that is usually hierarchical and
contains all the relevant entities and their relations.”
WordNet
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Ontologie catalog de tipuri de lucruricare se presupune că există într-un domeniu
de interes D (domain) din perspectiva unei persoane care utilizează un limbaj L
cu scopul de a discuta despre D
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Tipurile din ontologie reprezintă predicatele, sensurile cuvintelor sau conceptele și
relațiile din cadrul limbajului L,atunci când este utilizat pentru a discuta
despre domeniul D
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Adam Pease, 2007 citând C.K. Ogden/I.A. Richards (1923)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Folosind ontologii, asociem semantici„lucrurilor” despre care „vorbim”
exemplu: un framework Web este o componentă softwarecare facilitează dezvoltarea unui sit Web
categorie(clasă)
relație
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Folosind ontologii, asociem semantici„lucrurilor” despre care „vorbim”
descrierile semantice „ajută” calculatoarelesă pară „smart”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Folosind ontologii, asociem semantici„lucrurilor” despre care „vorbim”
un program „smart” ar trebui să fie capabil să realizezeaceleași inferențe pe care le fac (unii) oameni
e.g., dacă Meteor este framework Web, atunci este componentă softwarenecesită un mediu de execuție și oferă suport pentru diverse tehnologii Web: URI, HTTP,…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – exemplificare
Siri – asistent digital personal mobil(Tom Gruber, 2010; Apple, din 2011)
bazat pe modele semantice privind domenii + activități
recurge la servicii (API-uri) publice de interes
manifestă o interacțiune naturală cu utilizatorul
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
Ontologii informale versus formale
(de la limbaj natural la logică)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
Ontologii formale:
axiomaticesau
bazate pe prototipuri
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
Ontologii formale:
axiomaticedisting sub-tipurile prin axiome și definiții
specificate într-un limbaj formal (logic)
bazate pe prototipuridisting sub-tipurile prin comparația cu un membru tipic
ori specificând un prototip pentru fiecare sub-tip în parte
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
Conform nivelului de descriere oferit:
vocabular
de exemplu, specificare via o schemă XML
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
Conform nivelului de descriere oferit:
taxonomie – relații de clasificare (is-a)
vedere ierarhică a conceptelor(clase, sub-clase, supra-clase)
modelare prin RDF Schema
vezi cursul precedent
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
Conform nivelului de descriere oferit:
lexicon = taxonomie + termeni înrudiți(via relații de echivalență, ierarhii, asocieri etc.)
modelare prin SKOS
vezi cursul precedent
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
Conform nivelului de descriere oferit:
sistem relațional
schemă de baze de date
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
Conform nivelului de descriere oferit:
teorie axiomatică(constrângeri axiome)
axiomă enunț logic ce nu poate fi dedus din altele,dar poate fi folosit pentru demonstrarea altora
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
După scopul & contextul utilizării:
ontologii specializate
biologie (GO – Gene Ontology) comerț electronic (GoodRelations)
muzică (MO – Music Ontology)ontologia proceselor (serviciilor Web) OWL-S
etc.
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
modelul conceptual al sistemului GitHub
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
După scopul & contextul utilizării:
ontologii generale
CycDOLCE (Descriptive Ontology for Linguistic
and Cognitive Engineering)PROTON (PROTo ONtology)
SUMO (Suggested Upper Merged Ontology)UMBEL (Upper Mapping and Binding Exchange Layer)
…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri
După scopul & contextul utilizării:
ontologii intermediare – mid-level
exemplificare: MILO (MId-Level Ontology)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri (Guarino, 1998)
De nivel cel mai înalt(top-level, upper-level) – cele mai generale
Specifice unui domeniu(domain-related) – verticale
Specifice unor sarcini(task-related) – orizontale
Specifice unei aplicații (application-related) – apelează la ontologii verticale
și/sau orizontale
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – tipuri (Schaffert et al., 2005)
clasificare după scop (model scope), expresivitate (levelof expressiveness) și utilizare efectivă (model acceptance)
https://blog.semantic-web.at/2015/04/21/classifying-knowledge-organisation-systems/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
Aspecte de interes – inginerie(Gasevic, Djuric & Devedzic, 2009)
modelarecolaborare
interoperabilitateeducație
detalii în viitoarele cursuri
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
YAGO (Yet Another Great Ontology) – versiunea 3 (2015)modelează entități (abstracte); utilizare în cadrul DBpedia
github.com/yago-naga/yago3
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii
spotlx – interfață Web de interogare YAGOhttps://gate.d5.mpi-inf.mpg.de/webyagospotlx/WebInterface
în acest caz: lista oamenilor de știință născuți după 1933 aproape de orașul Paris care au primit premiul Nobel în chimie
necesitatea dezambiguizării(e.g., Paris poate fi
o localitate din USA)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – alte exemple
ODOL (Object-oriented software Design Ontology)folosită la reprezentarea șabloanelor de proiectare
www-ist.massey.ac.nz/Projects/wop/odol.html
PersonaOnto (Ș. Negru & S. Buraga, 2012, 2014)modelează personas
blankdots.com/open/personasonto.html
Ontologiile BBC din domeniul mass-mediawww.bbc.co.uk/ontologies
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Componente distincte:
nume privind cele mai importante concepteale domeniului de cunoaștere modelat
cunoștințe anterioare – de „background” –sau constrângeri ale domeniului
(eventual, specificate cu ajutorul axiomelor)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare: exemplu (1)
Crocodil reprezintă un concept având ca membrianimale ce prezintă anumite caracteristici
Ierbivor este un concept privitor laanimale care consumă doar plante ori părți de plante
Orice membru al clasei Crocodil este vorace
Un animal nu poate fi simultan Ierbivor și Carnivor
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare: exemplu (2)
Warrior desemnează un concept privitorla un anumit tip de personaj al unui joc electronic
Human referă un personaj uman având o anumită rasă– disjunct de Elf, Goblin și Orc – și care poate utiliza
doar arme dintr-o anumită categorie
Orice membru al clasei Warrior poate folosi MagicPotion
Echipamentul purtat de personajele din clasa Orc
include instanțe ale clasei BarbarianEquipment
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
O ontologie va include:
categoriile, clasele, conceptele fundamentale
proprietățile asociate conceptelor
relațiile dintre concepte
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Reprezentări uzuale ale ontologiilor:
limbaje logice: Prolog & familia (Golog, ConGolog)KIF (Knowledge Interchange Format)
CL (Common Logic)diagrame UML
DL (logici ale descrierii – description logics)limbaje utilizate în contextul Web: RDFS, OWL
specificații vizuale
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea categoriilor/conceptelor
categorie domeniuîn teoria bazelor de date
categorie tip/sortîn inteligența artificială
categorie clasăîn cazul ontologiilor Web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea categoriilor/conceptelor
criteriile de stabilire a conceptelor sunt complexe
experiența are un rol foarte important
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Clasele (categoriile) de nivel cel mai înalt ale ontologiei CycNoy & Hafner, 1997
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Categorii de nivel înalt – cazul SUMO (Adam Pease, 2007)Entity
Physical
Object
SelfConnectedObject
Substance
CorpuscularObject
Region
Collection
Process
Abstract
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea proprietăților
proprietate atribut
proprietate slot/frameîn inteligența artificială
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea proprietăților
proprietate = relație binară care poate preciza fapteprivitoare la membrii unei clase (indivizi)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea proprietăților
proprietate = relație binară care poate preciza fapteprivitoare la membrii unei clase (indivizi)
diferențiază un concept de altul
în unele cazuri, pot fi definite și sub-proprietăți
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea proprietăților
o proprietate se poate referi la:
tipuri de date – datatype property
sau
obiecte – object property
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea proprietăților – exemplu de frame
Alex: Person
vârstă
ocupație
23
MScStudent
cardinality: 1
ocupație WebDeveloper
… …
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea proprietăților – exemplu de frame
Alex: Person
vârstă
ocupație
23
MScStudent
cardinality: 1
ocupație WebDeveloper
… …
datatypeproperty
objectproperty
o persoană are o singură vârstă, dar poate avea
un număr arbitrar de ocupații
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Modalități de reprezentare vizuală:
modelul de date (abstract)bazat pe RDF Schema/OWL
instanțe (aici, adoptândvocabularul DCMI,
pe baza modelului RDF)
Resursăsubiect
Resursăobiect
Proprietate
WWWtim-
berners-lee
dc:Creator
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea relațiilor
pentru organizarea/ilustrarea categoriilorse folosesc arborii și grafurile
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii – specificare
Specificarea relațiilor – cazul WordNet
relațiile pot fi de:hiperonimie – „general-specific”
meronimie – „parte-întreg”antonimie
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
ontologii vs. limbaj vs. cunoștințe
Ontologie
expandabilăindependentă de limbajprocesabilă de către mașină
Limbaj (natural)
înțeles de oameniambiguu
Cunoștințe
se modifică rapid („perisabile”)pot exprima local un „lucru”
conform Adam Pease (2007)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Cum exprimăm ontologiile la nivel de Web?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Web Ontology Language
scop:facilitarea interpretării de către software
a conținutului informațional
utilizează modelul RDF și RDF Schema
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
OWL 1.0recomandare W3C (2004) – 6 părți
www.w3.org/TR/owl-guide/
OWL 2.0recomandare W3C (2009, 2012) – 13 părți
www.w3.org/TR/owl2-overview/
www.w3.org/TR/owl2-primer/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL 1: niveluri
OWL Lite
folosit pentru exprimarea ierarhiilor de clasificare șia unor constrângeri de bază
facilitează realizarea de raționamente simple
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL 1: niveluri
OWL DL (Description Logics)
oferă maximum de expresivitate,fără pierderea completitudinii și decidabilității
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL 1: niveluri
OWL DL (Description Logics)
oferă maximum de expresivitate,fără pierderea completitudinii și decidabilității
completitudine = orice propoziție supusă regulilor de deducție poate fi demonstrată
decidabilitate = mulțimea formulelor (teoremelor) unui sistem logic poate fi efectiv determinată
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL 1: niveluri
OWL DL (Description Logics)
oferă maximum de expresivitate,fără pierderea completitudinii și decidabilității
formalizare via logicile descrierii(subset al logicii cu predicate de ordinul I)
detalii în viitorul curs
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL 1: niveluri
OWL Full
oferă maximum de expresivitate și flexibilitate,fără a se pune problema completitudinii
permite modificarea vocabularelor RDF și OWL
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL 1: niveluri
OWL Lite OWL DL OWL Full
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Sintaxă:
documente RDF
se folosesc formate precum RDF/XML sau Turtle
ușor de procesat, stocat, interogat(API-uri RDF, triple stores, SPARQL,…)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Sintaxă:
„abstractă”
corespunde modelului logicilor descrierii
e.g., sintaxa funcțională, sintaxa Manchester
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
O ontologie OWL este compusă în principal din:
clase
proprietăți
relații
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
eventual, pot fi precizate:instanțe de clase
axiomeadnotări și importuri
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Fiecare ontologie va fi identificată de un URI unic
Cell Ontology: http://purl.obolibrary.org/obo/cl.owl
FOAF: http://xmlns.com/foaf/0.1/
Getty Voc. Program Ontology: http://vocab.getty.edu/ontology
Music Ontology: http://purl.org/ontology/mo/
PersonasOnto: http://blankdots.com/open/personasonto.owl
Sport Ontology: http://www.bbc.co.uk/ontologies/sport/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Fiecare ontologie va fi identificată de un URI unic
URI-ul ontologiei demonstrative utilizate la acest curs:http://www.semanticweb.org/ontologies/2008/10/SWOnto.owl
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Multimedia
Audio Video
Proprietar
anca eugenancuta
the_eye
zidul
detine
rdfs:subClassOf rdfs:subClassOf
rdf:type rdf:type
owl:sameAs rudaCu
detine
detinutDe
detinutDe
rdf:type
detinutDe
nivelul datelor (indivizi)
nivelul conceptual (cunoștințe)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Nu se impune a-priori o cunoaștere completăa domeniului de interes
ipoteza lumii deschise(open world assumption)
unele definiții vor fi considerate „parțiale”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
O clasă se specifică prin owl:Classdesemnează colecții de indivizi – obiecte, things,... –
în vederea descrierii unei lumi (un web)
reprezintă un „obiect” („thing”) al lumii
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
O clasă se specifică prin owl:Classdesemnează colecții de indivizi – obiecte, things,... –
în vederea descrierii unei lumi (un web)
reprezintă un „obiect” („thing”) al lumii
clasa cea mai generală, a tuturor indivizilor: owl:Thing
clasa vidă: owl:Nothing
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Relația de derivare a claselorse exprimă via rdfs:subClassOf de la RDF Schema
<owl:Class rdf:ID="Audio">
<rdfs:subClassOf rdf:resource="#Multimedia" />
</owl:Class>
:Audio a owl:Class ;
rdfs:subClassOf :Multimedia .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Expresii de clasă (class expressions): reuniune – owl:unionOf
intersecție – owl:intersectionOfcomplementară – owl:complementOf
disjuncție – owl:disjointWith
semantica operațiilor e conformă cu teoria mulțimilor
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Expresii de clasă (class expressions): reuniune – owl:unionOf
intersecție – owl:intersectionOfcomplementară – owl:complementOf
disjuncție – owl:disjointWith
se utilizează pentru specificarea unor clase
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Exemplu:resursele video nu sunt lumi virtuale, nici executabile
<owl:Class rdf:ID="Video">
<rdfs:subClassOf rdf:resource="#Multimedia" />
<owl:disjointWith rdf:resource="#LumiVirtuale" />
<owl:disjointWith rdf:resource="#Executabile" />
</owl:Class>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Exemplu:resursele video nu sunt lumi virtuale, nici executabile
Class: Video
SubClassOf: Multimedia
DisjointWith: LumiVirtuale
DisjointWith: Executabile
sintaxaManchester
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Implicit, OWL se aliniază ipotezei lumii deschise
cu implicații majore în ceea ce priveșteoperațiile dintre clase și
realizarea inferențelor referitoare la cardinalitate
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Implicit, OWL se aliniază ipotezei lumii deschise
în unele cazuri, putem specifica exact membrii unei clase,adoptând – local – ipoteza lumii închise (closed world)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Exemplu: determinarea albumului deținut de o persoană
:AlbumePortishead a owl:Class ;
owl:oneOf ( :Dummy :Portishead :Third ) .
fiecare instanță specificată via owl:oneOfeste membră a clasei respective
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Exemplu: determinarea albumului deținut de o persoană
:AlbumePortishead a owl:Class ;
owl:oneOf ( :Dummy :Portishead :Third ) .
fiecare instanță specificată via owl:oneOfeste membră a clasei respective
știind că :me voc:detine :AlbumePortishead .
se poate deduce faptul că entitatea desemnată de :me
posedă măcar unul dintre ele
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Astfel, o clasă se poate definidoar prin enumerarea membrilor ei:
<owl:Class rdf:ID="Gen">
<owl:oneOf rdf:parseType="Collection">
<Gen rdf:about="#Masculin"/>
<Gen rdf:about="#Feminin" />
</owl:oneOf>
</owl:Class>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
inspectarea claselor cu instrumentul Protégéprotege.stanford.edu
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Specificarea echivalenței claselor se poate realizarecurgând la owl:equivalentClass
<owl:Class rdf:ID="Designer">
<owl:equivalentClass rdf:resource="#Proiectant" />
</owl:Class>
:Designer a owl:Class ;
owl:equivalentClass :Proiectant .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Având două clase echivalente, înseamnă că vor avea doar aceeași membri
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea claselor
Având două clase echivalente, înseamnă că vor avea doar aceeași membri
alte proprietăți asociate claselor sunt proprii fiecăreia(de exemplu, rdfs:label ori rdfs:comment)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Proprietăți = relații binare ce specifică fapteprivitoare la membrii unei clase sau la indivizi
se referă la tipurile de date – datatype propertysau
vizează obiectele – object property
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Proprietăți = relații binare ce specifică fapteprivitoare la membrii unei clase sau la indivizi
se referă la tipurile de date – datatype propertysau
vizează obiectele – object property
văzute drept colecții de relații între indivizi/date
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Exemplu: definirea unei proprietăți privitoare la obiectecare exprimă faptul că o resursă multimedia
poate fi stocată pe un sit Web multimedia
<owl:ObjectProperty rdf:ID="stocat">
<rdfs:domain rdf:resource="#Multimedia" />
<rdfs:range rdf:resource="#SitMultimedia" />
</owl:ObjectProperty>
:stocat a owl:ObjectProperty ;
rdfs:domain :Multimedia ;
rdfs:range :SitMultimedia .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Exemplificare: definirea unei proprietăți datatype pentrua desemna relația între resurse și literali
(e.g., valori de date aparținând unor tipuri XML Schema)
<owl:DatatypeProperty rdf:ID="dimensiune">
<rdfs:domain rdf:resource="#Multimedia" />
<rdfs:range rdf:resource=
"http://www.w3.org/2001/XMLSchema#unsignedLong" />
</owl:DatatypeProperty>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Exemplificare: definirea unei proprietăți datatype pentrua desemna relația între resurse și literali
(e.g., valori de date aparținând unor tipuri XML Schema)
DataProperty: dimensiune
Domain:
Multimedia
Range:
unsignedLongsintaxa
Manchester
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Proprietățile pot includesub-proprietăți (specializări)
…și pot avea specificate caracteristici „speciale”
definitevia RDF Schema
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
O proprietate care nu are decât o singură valoarepentru fiecare individ – valoarea ei este unică –
se numește proprietate funcțională
<owl:FunctionalProperty rdf:ID="areGen">
<rdfs:domain rdf:resource="#Persoana" />
<rdfs:range rdf:resource="#Gen" />
</owl:FunctionalProperty>
„O persoană are doar un singur gen.”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Dacă resursa A este în relația p cu B șiB este în relația p cu A,
atunci p este o proprietate simetrică
<owl:SymmetricProperty rdf:ID="rudaCu">
<rdfs:domain rdf:resource="#Persoana" />
<rdfs:range rdf:resource="#Persoana" />
</owl:SymmetricProperty>
„Relația de rudenie între persoane este simetrică.”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
De remarcat faptul că unele dintre proprietățilespecificate de OWL – e.g., owl:equivalentClass –
sunt simetrice
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Proprietăți inversedacă proprietatea p este inversa lui q
și A este în relația p cu B, atunci se poate deduce că B este în relația q cu A
se folosește construcția owl:inverseOf
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
ReviewerOf este sub-proprietate a lui foaf:knows șieste inversa proprietății ReviewedBy
(Ciprian Amariei, 2007)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
ObjectProperty: ReviewerOf
Annotations:
rdfs:comment "Relația de recenzent (inspector)…"@ro
Domain:
foaf:Person
Range:
foaf:Person
InverseOf:
ReviewedBy
SubPropertyOf:
foaf:knowssintaxa
Manchester
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Proprietăți tranzitivedată fiind proprietatea p tranzitivă,
dacă există A p B . și B p C .
atunci se poate deduceA p C .
se recurge la owl:TransitiveProperty
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Definirea unei proprietăți tranzitive – exemplu:
:utilizează a owl:TransitiveProperty ,
owl:ObjectProperty ;
owl:inverseOf :utilizatDe .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
O proprietate mai poate fi definită ca fiind:invers funcțională
anti-simetricăreflexivă
anti-reflexivă
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietatilor
relația rudaCu este simetrică și reflexivă
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea proprietăților
Folosind owl:equivalentProperty se poate defini că două proprietăți sunt echivalente
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea indivizilor
Un individ (membru) al unei clasese declară ca aparținând clasei respective
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea indivizilor
Un individ (membru) al unei clasese declară ca aparținând clasei respective
reprezintă un obiect al lumii – aparține clasei owl:Thing
este „înrudit” cu alte obiecte sau valori de datevia proprietăți
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea indivizilor
<!-- definim individul -->
<owl:Thing rdf:ID="the_wall">
<rdfs:comment xml:lang="ro">
Un film de Pink Floyd</rdfs:comment>
</owl:Thing>
<!-- ulterior, specificăm tipul lui (plus proprietăți/meta-date) -->
<owl:Thing rdf:about="#the_wall">
<rdf:type rdf:resource="#Video" />
</owl:Thing>
:the_wall a :Video ;
rdfs:comment "Un film…"@ro .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea indivizilor
Echivalența între indivizi se realizeazăprin owl:sameAs
se poate folosi și owl:differentFrom
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
:ancuta rudaCu :eugen .
:ancuta owl:sameAs :anca .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea indivizilor
Exemplu: specificarea a doi indivizi distincți
<owl:Thing rdf:ID="zidul">
<rdfs:comment>Un film din România</rdfs:comment>
</owl:Thing>
<rdf:Description rdf:about="#zidul">
<owl:differentFrom rdf:resource="#the_wall"/>
<rdfs:comment>
Nu are legătură cu 'The Wall'
</rdfs:comment>
<rdf:type rdf:resource="#Video" />
</rdf:Description>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea indivizilor
Pentru a defini colecții de indivizi distincți, se utilizează owl:distinctMembers
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea indivizilor
Exemplu:specificarea în termeni fuzzy a localizării unei resurse
<owl:AllDifferent>
<owl:distinctMembers rdf:parseType="Collection">
<localizare rdf:about="#local" />
<localizare rdf:about="#intranet" />
<localizare rdf:about="#extranet" />
</owl:distinctMembers>
</owl:AllDifferent>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Câteva exemplificări concrete?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – schema.org
Modelul conceptual schema.org exprimat în OWL:diverse clase de entități intangibile
schema:Service
rdf:type owl:Class ;
rdfs:subClassOf schema:Intangible .
schema:Intangible
rdf:type owl:Class ;
rdfs:subClassOf owl:Thing .
schema:LoanOrCredit
rdf:type owl:Class ;
rdfs:comment "A financial product for
the loaning of an amount of money." ;
rdfs:label "Loan or credit" ;
rdfs:subClassOf
schema:FinancialProduct .
schema:FinancialProduct
rdf:type owl:Class ;
rdfs:subClassOf schema:Service .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – schema.org
Modelul conceptual schema.org exprimat în OWL:specificarea unei proprietăți generice
schema:requiredCollateral
rdf:type rdf:Property ;
rdfs:comment "Assets required to secure loan or credit repayments.
It may take form of third party pledge, goods, financial instruments" ;
rdfs:domain schema:LoanOrCredit ;
rdfs:range [ rdf:type owl:Class ;
owl:unionOf ( xsd:string owl:Thing ) ;
] .
intervalul valorilor reprezintă o reuniune de clase
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – schema.org
Modelul conceptual schema.org exprimat în OWL:definirea unei proprietăți obiectuale cu restricții aferente
schema:sender
rdf:type owl:ObjectProperty ;
rdfs:comment "A sub property of participant.
The participant who is at the sending end of the action." ;
rdfs:domain [ rdf:type owl:Class ;
owl:unionOf ( schema:Message schema:ReceiveAction ) ;
] ;
rdfs:range [ rdf:type owl:Class ;
owl:unionOf ( schema:Organization schema:Person ) ;
] ;
rdfs:subPropertyOf schema:participant .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – schema.org
Modelul conceptual schema.org exprimat în OWL:definirea unor proprietăți vizând tipurile de date
schema:episodeNumber
rdf:type owl:DatatypeProperty ;
rdfs:comment "Position of the episode
within an ordered group of episodes." ;
rdfs:domain schema:Episode ;
rdfs:range [ rdf:type owl:Class ;
owl:unionOf ( xsd:integer xsd:string ) ;
] ;
rdfs:subPropertyOf schema:position .
schema:position
rdf:type owl:DatatypeProperty ;
rdfs:domain [
owl:unionOf ( schema:ListItem
schema:CreativeWork ) ;
] ;
rdfs:range [
rdf:type owl:Class ;
owl:unionOf ( xsd:integer
xsd:string ) ;
] .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
Specificarea în OWL a vocabularului FOAF(Dan Brickley & Libby Miller, 2014)
http://xmlns.com/foaf/spec/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
Se definesc clasele foaf:Person, foaf:Group,foaf:Organization ca fiind sub-clase ale foaf:Agent
foaf:Agent rdf:type owl:Class .
foaf:Person rdfs:subClassOf foaf:Agent .
foaf:Group rdfs:subClassOf foaf:Agent .
foaf:Organizationrdfs:subClassOf foaf:Agent .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
Lista claselor FOAF
Agent Document Group Image OnlineAccount
OnlineChatAccount OnlineEcommerceAccount
OnlineGamingAccount Organization Person
PersonalProfileDocument Project
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
Pentru o persoană, sunt definite diverse proprietăți: foaf:name, foaf:surname, foaf:nick etc.
foaf:name rdfs:domain owl:Thing .
foaf:name rdfs:subPropertyOf rdfs:label .
foaf:surname owl:equivalentProperty foaf:family_name .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
Fiecare agent (persoană, organizație,…) poate crearesurse („things”) – se definește proprietatea foaf:made
foaf:made rdfs:domain foaf:Agent .
foaf:made rdfs:range owl:Thing .
foaf:made owl:inverseOf foaf:maker .
similar:
foaf:publications rdfs:domain foaf:Person .
foaf:publications rdfs:range foaf:Document .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
Exprimarea constrângerilor:de exemplu, o persoană este identificată unic
prin adresa ei de e-maildouă persoane care au aceeașiadresă de e-mail reprezintă în fapt o singură persoană
foaf:mbox rdf:type owl:InverseFunctionalProperty .
idem, pentru foaf:homepage, foaf:jabberID, foaf:weblog,…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
Lista proprietăților vizând informații personale
weblog knows interest currentProject pastProject plan
based_near workplaceHomepage workInfoHomepage
schoolHomepage topic_interest publications geekcode
myersBriggs dnaChecksum
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – Common Tag
Model conceptual simplu privind termenii de conținut(tag-urile), cu scopul de a fi utilizat în cadrul RDFa
http://readwrite.com/2009/06/10/common_tag_brings_standards_to_metadata
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – Common Tag
O resursă de interes adresabilă via un URIare asociat (tagged) un număr de instanțe de tip Tag
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – Common Tag
Fiecare tag poate conține o referință („pointer”)spre o altă resursă
ce identifică neambiguu acel concept descris de conținut
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – Common Tag
Clasa Tag cu sub-clasele AuthorTag, ReaderTag, AutoTag
proprietăți: means tagged taggingDate label
ctag:means a owl:ObjectProperty ;
rdf:domain ctag:Tag ;
rdf:range rdf:Resource .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – Common Tag
<!-- specificarea (cu RDFa) a tag-ului Portishead
(grupul muzical, nu localitatea) asociat unei imagini -->
<div xmlns:ctag="http://commontag.org/ns#"
rel="ctag:tagged" about="#resursa">
<span typeof="ctag:Tag" rel="ctag:means"
resource="http://viaf.org/viaf/122443074/"
property="ctag:label"
content="Portishead"/>
</div>
<img id="resursa" src="…" alt="Formația Portishead" />
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – Common Tag
înțelesul termenului „Portishead” e datde web-ul (modelul conceptual) al VIAF
– Virtual International Authority File
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
Cum sunt modelate resursele Wikipedia,disponibile în RDF prin intermediul DBpedia?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
categorii de articole Wikipedia exprimateprin SKOS (Simple Knowledge Organizational System),
sub controlul exercitat de editorii Wikipedia
amănunte de interes: wiki.dbpedia.org/services-resources/datasets/dbpedia-datasets
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
YAGO – Yet Another Great Ontologype baza asocierii dintre categoriile-frunză Wikipedia și
mulțimile de sinonime (synsets) WordNet
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
YAGO – Yet Another Great Ontology
J. Hoffart et al., “YAGO2: A Spatially and Temporally EnhancedKnowledge Base from Wikipedia”, AI Journal (2012)
http://tinyurl.com/azkqee7
F. Mahdisoltani et al., “YAGO3: A Knowledge Base from Multilingual Wikipedias”, CIDR 2015
https://suchanek.name/work/publications/cidr2015.pdf
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
UMBEL (Upper Mapping and Binding Exchange Layer)umbel.org
ontologie creată cu scopul interconectării datelordisponibile pe Web, derivată din OpenCyc
34 de mii de concepte organizate în 32 de „super” tipuri65 de mii de relații
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
UMBEL – model conceptual facilitând interoperabilitateaacces via servicii Web REST
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
DBpedia Ontology – a shallow, cross-domain ontologyidentificată de URL-ul http://dbpedia.org/ontology/
685 de clase, 2795 de proprietățipeste 4.2 milioane de instanțe (entități descrise)
model creat manual pe baza Wikipedia
detalii la wiki.dbpedia.org/services-resources/ontology
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – FOAF
C. Bizer et al., “DBpedia – A Crystallization Point for the Web of Data” (2009)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
proprietăți ce relaționează o clasă (aici, Device) de alte clase sau literali
de explorat mappings.dbpedia.org/server/ontology/classes/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
diverse meta-date privitoare la ontologia
DBpedia (fragment)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
Interconectarea datelor via owl:sameAs
SELECT ?res
WHERE {
<http://dbpedia.org/resource/Romania> owl:sameAs ?res
}
obținerea resurselor privitoare la Romaniape baza unei interogări SPARQL
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: studiu de caz – DBpedia
Interconectarea datelor via owl:sameAs
<http://dbpedia.org/resource/Romania> owl:sameAs
<https://www.wikidata.org/wiki/Q218> ;
<http://sws.geonames.org/798549/> ;
…
<http://eurostat.linked-statistics.org/dic/c_ctrl#RO> ;
<http://gadm.geovocab.org/id/0_189> ;
<http://ko.dbpedia.org/resource/루마니아> .
Wikidata
Eurostat
astfel, pot fi realizate reconcilieri între modele conceptuale
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Putem impune restricții suplimentaremodelului de cunoștințe descrise în OWL?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Restricțiile sunt considerate clasedefinite prin descrierea proprietăților indivizilor
pe care-i pot include
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Restricțiile sunt considerate clasedefinite prin descrierea proprietăților indivizilor
pe care-i pot include
specificând o mulțime de indivizi în termeni de clasecunoscute (proprietăți comune), putem folosi aceastădescriere pentru a defini o nouă clasă – mai restrictivă
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Restricțiile impuse proprietățilortrebuie să apară în cadrul elementelor
owl:Restriction și owl:onProperty
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Tipuri de restricții:
asupra valorilorallValuesFrom, someValuesFrom, hasValue
privitoare la cardinalitatecardinality, minCardinality, maxCardinality
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Prin owl:someValuesFrom specificăm restricția:„indivizii pentru care măcar o valoare
a proprietății p provine din clasa C”
[ a owl:Restriction ;
owl:onProperty p ;
owl:someValuesFrom C ]
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Exemplu: clasa mamelor reprezintă intersecțiaclasei femeilor cu cea a persoanelor care au copii
restricția 1: clasa persoanelor care sunt femei<owl:Restriction>
<owl:onProperty>
<owl:FunctionalProperty
rdf:about="#areGen"/>
</owl:onProperty>
<owl:hasValue
rdf:resource="#Feminin"/>
</owl:Restriction>
[ a owl:Restriction ;
owl:onProperty :areGen ;
owl:hasValue :Feminin ]
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Exemplu: clasa mamelor reprezintă intersecțiaclasei femeilor cu cea a persoanelor care au copii
restricția 2: clasa persoanelor care au copii<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty
rdf:about="#areCopil"/>
</owl:onProperty>
<owl:someValuesFrom
rdf:resource="#Persoana"/>
</owl:Restriction>
[ a owl:Restriction ;
owl:onProperty :areCopil ;
owl:someValuesFrom :Persoana ]
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Prin owl:allValuesFrom specificăm restricția:„toți indivizii pentru care toate valorile
proprietății p provin din clasa C”
[ a owl:Restriction ;
owl:onProperty p ;
owl:allValuesFrom C ]
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Exemplu: clasa persoanelor vegetariene
<owl:Class rdf:about="#Vegetarian">
<rdfs:subClassOf rdf:resource="#Persoana" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#consuma"/>
<owl:allValuesFrom rdf:resource="#Vegetala" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Exemplu: clasa persoanelor vegetariene
știind că Dan este vegetarian și consumă spanac:dan a :Vegetarian .
:dan :consuma :spanac .
…se poate deduce faptul că spanaculaparține clasei vegetalelor:
:spanac a :Vegetala .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
În cazul someValuesFrom, trebuie să existemăcar un membru al clasei
pentru care are loc o proprietate dată
aceasta implică faptul cătrebuie să existe un astfel de membru
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Restricția allValuesFrom înseamnă „dacă există membri, atunci ei toți trebuie să aibă acea proprietate”
aceasta nu implică faptul cătrebuie să existe de fapt membrii corespunzători
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL: specificarea restricțiilor
Via restricții privind cardinalitatea, poate fi stabilitnumărul – minim/maxim – de valori distincte
pe care o proprietate le poate avea
[ a owl:Restriction ;
owl:onProperty p ;
owl:cardinality n ] .
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Exemplu: o resursă audio poate fi stocatămăcar de un sit Web multimedia
<owl:Class rdf:ID="Audio"><rdfs:subClassOf rdf:resource="#Multimedia" /><rdfs:subClassOf>
<owl:Restriction><owl:onProperty rdf:resource="#stocat">
<!-- indicăm cardinalitatea minimă --><owl:minCardinality rdf:datatype="xsd:nonNegativeInteger">
1</owl:minCardinality>
</owl:onProperty></owl:Restriction>
</rdfs:subClassOf></owl:Class>
fiecare instanță din clasa Audio trebuie să aparămăcar în cel puțin o relație „stocat”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Aspect important:verificarea consistenței și coerenței ontologiei
inclusiv verificarea consistenței aserțiunilorprivind indivizii
care populează domeniul modelat de ontologie
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Aspect important:clasele și proprietățile pot avea „definiții” multiple
AAA – Anyone can say Anything about Any topic
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
Aspect important:declarațiile privitoare la indivizi
nu trebuie obligatoriu să fie stocateîn cadrul aceluiași document
uzual, modelul ontologic este separatde aserțiunile privind indivizii
separation of concerns
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL
editare colaborativă
a ontologiilor
WebProtégéprotegewiki.stanford.edu/wiki/WebProtege
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL 1: privire de ansamblu
Antet:Ontology
Clase (concepte):Class, rdfs:subClassOf, intersectionOf
Proprietăți: rdfs:Property, rdfs:subPropertyOf, rdfs:domain, rdfs:range
(In)egalități:equivalentClass, equivalentProperty,sameAs, differentFrom, allDifferent
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
OWL 1: privire de ansamblu
Caracteristici ale proprietăților: inverseOf, TransitiveProperty, SymmetricProperty,
FunctionalProperty, InverseFunctionalProperty
Restricții de tip asupra proprietăților: allValuesFrom, someValuesFrom
Restricții de cardinalitate: minCardinality, maxCardinality, cardinality
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
rezumat
Ѻmodelarea cunoștințelor
ontologii specificate în OWL 1.0
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
episodul viitor: OWL 2.0formalizare + raționamente automate
Top Related