STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate
1. Ontologii în contextul WWW
OWL 2
de la formalizare la realizarea raționamentelor
Dr. Sabin Buragawww.purl.org/net/busaco
Dezvoltarea aplicațiilor Web
4. Ontologiile au drept scop
modelarea unei (părți a unei) lumi
termenii limbajului de modelare folosit
corespund entităților din cadrul lumii
Dr. Sabin Buragawww.purl.org/net/busaco
realități
6. OWL 2
Dr. Sabin Buragawww.purl.org/net/busaco
Extinderea OWL cu noi construcții care însă
să păstreze proprietățile din cadrul OWL DL
7. de exemplu:
restricții de cardinalitate calificate,
restricții privind reflexivitatea,
înlănțuirea proprietăților (property chains)
etc.
Dr. Sabin Buragawww.purl.org/net/busaco
Expresivitate ridicată
8. (Horrocks, 2009):
restricții de cardinalitate calificate
e.g., persoane care au 2 prieteni vegetarieni
Dr. Sabin Buragawww.purl.org/net/busaco
OWL 2 oferă putere de expresivitate mai mare
9. (Horrocks, 2009):
restricții privind reflexivitatea locală
exemplu: “narcissists love themselves”
Dr. Sabin Buragawww.purl.org/net/busaco
OWL 2 oferă putere de expresivitate mai mare
10. (Horrocks, 2009):
exprimarea de proprietăți anti-reflexive sau asimetrice
exemplificare: “nothing can be a proper part of itself”
(proprietate anti-reflexivă)
Dr. Sabin Buragawww.purl.org/net/busaco
OWL 2 oferă putere de expresivitate mai mare
11. (Horrocks, 2009):
modelarea proprietăților disjuncte
e.g., o persoană nu poate fi simultan părinte și fiu
ai unei persoane date
Dr. Sabin Buragawww.purl.org/net/busaco
OWL 2 oferă putere de expresivitate mai mare
12. (Horrocks, 2009):
posibilitatea de exprimare a cheilor (keys),
în sensul bazelor de date
exemplu: locația geografică + numărul de înmatriculare
semnifică identificatorul unic al unui autovehicul
Dr. Sabin Buragawww.purl.org/net/busaco
OWL 2 oferă putere de expresivitate mai mare
13. Element DisjointUnion Earth Wind Fire Water
syntactic
sugar
Dr. Sabin Buragawww.purl.org/net/busaco
Exprimarea facilă a reuniunilor disjuncte
(disjoint unions)
14. iPad is not a device owned by Ana
33 is not the age of Dan
syntactic
sugar
Dr. Sabin Buragawww.purl.org/net/busaco
Exprimarea negațiilor
15. o resursă poate fi modelată simultan ca individ și clasă
SnowLeopard subClassOf BigCat – clasă
SnowLeopard type EndangeredSpecies – individ
Dr. Sabin Buragawww.purl.org/net/busaco
Meta-modelare în OWL2
16. alături de proprietăți între obiecte (object property) și
cele vizând datele (data property),
pot fi specificată o suită de proprietăți de adnotare
(annotation property)
creator, date, versionInfo, priorVersion, backwardCompatibleWith,
deprecated, incompatibleWith, seeAlso etc.
Dr. Sabin Buragawww.purl.org/net/busaco
Suport pentru adnotări
17. stabilirea construcțiilor OWL 2 ce corespund
unei anumite complexități computaționale
în vederea efectuării raționamentelor automate
Dr. Sabin Buragawww.purl.org/net/busaco
Asocierea de profile
18. raționamente pentru ontologii largi: EL
interogări asupra unui volum mare de instanțe: QL
raționamente în contextul sistemelor de reguli: RL
www.w3.org/TR/owl2-profiles/
de studiat M. Krötzsch, OWL 2 Profiles, Springer (2012)
http://korrekt.org/page/OWL_2_Profiles
Dr. Sabin Buragawww.purl.org/net/busaco
Profile OWL 2:
19. oferă suport pentru efectuarea de raționamente
în timp polinomial pentru ontologii cu număr mare
de clase și/sau proprietăți
Dr. Sabin Buragawww.purl.org/net/busaco
OWL EL
20. utilizare uzuală:
ontologii din domeniul științelor vieții
care vizează mai ales scalabilitatea
Dr. Sabin Buragawww.purl.org/net/busaco
OWL EL
21. nu pot fi folosite:
calificări universale – e.g., AllValuesFrom
restricții vizând cardinalitatea
disjuncții la nivel de clase, proprietăți sau obiecte
enumerări ce implică mai mult de un individ
proprietăți obiectuale inverse, (a)simetrice, funcționale
Dr. Sabin Buragawww.purl.org/net/busaco
OWL EL
22. suport pentru efectuarea de interogări (optimizate)
în stilul bazelor de date convenționale
logspace
se pretează pentru ontologii
având un volum mare de fapte (indivizi)
Dr. Sabin Buragawww.purl.org/net/busaco
OWL QL
23. ofera expresivitatea necesară specificării de lexicoane
sau de scheme de tip UML ori ER (entity-relation)
similar cu OWL Lite – versiunea 1
Dr. Sabin Buragawww.purl.org/net/busaco
OWL QL
24. se poate baza pe rescrierea interogărilor
conform tehnicilor de raționament automat
Dr. Sabin Buragawww.purl.org/net/busaco
OWL QL
25. nu pot fi utilizate:
calificări existențiale – e.g., SomeValuesFrom
calificări universale – e.g., AllValuesFrom
enumerări de indivizi/literali
restricții privind cardinalitatea
disjuncția
proprietăți (invers) funcționale și tranzitive
aserțiuni privind egalitatea indivizilor (SameIndividual)
Dr. Sabin Buragawww.purl.org/net/busaco
OWL QL
26. permite exprimarea regulilor în cadrul ontologiilor
poate fi implementat în cadrul sistemelor convenționale
de baze de date relaționale
complexitate
polinomială
Dr. Sabin Buragawww.purl.org/net/busaco
OWL RL
27. soluție complementară la
limbajele de specificare a regulilor la nivel de Web
RIF – Rule Interschange Format
Dr. Sabin Buragawww.purl.org/net/busaco
OWL RL
28. # reguli Jena privind descoperirea cunoștințelor despre un regizor
[(?movie cinema:directedBy ?director) ->
[(?director cinema:directsGenre ?genre) <(?movie cinema:hasGenre ?genre) ]
[(?director cinema:investigatesTheme ?theme) <(?movie cinema:hasTheme ?theme) ]
[(?director cinema:usesImagery ?imagery) <(?movie cinema:hasImagery ?imagery) ] ]
Dr. Sabin Buragawww.purl.org/net/busaco
Specificarea regulilor pentru procesarea în Jena
(exemplu realizat de Sergiu Bursuc, absolvent FII)
29. Sandro Hawke, OWL 2 Reference Card, W3C, 2009
www.w3.org/2007/OWL/refcard
Dr. Sabin Buragawww.purl.org/net/busaco
Pentru detalii sintactice, a se consulta:
30. editare și medii de dezvoltare:
Protégé, Fluent Editor, TopBraid Composer
procesare – implementare de referință: OWL API
sisteme de efectuare de raționamente (reasoners):
FaCT++, HermiT, Pellet, Racer Pro etc.
interogare – OWL QL: Owlgres, OWLIM, QuOnto etc.
Dr. Sabin Buragawww.purl.org/net/busaco
Instrumente oferind suport pentru OWL 2
32. Date o mulțime de enunțuri RDF privitoare
la un graf A și o mulțime de enunțuri referitoare
la un graf B, atunci A determină (entails) B
dacă fiecare enunț din B este adevărat și în A
Dr. Sabin Buragawww.purl.org/net/busaco
entailment
33. Date o mulțime de enunțuri RDF privitoare
la un graf A și o mulțime de enunțuri referitoare
la un graf B, atunci A determină (entails) B
dacă fiecare enunț din B este adevărat și în A
aceasta nu oferă obligatoriu seria pașilor deductivi
care conduc de la A la B
(contrast cu procesul de inferență)
Dr. Sabin Buragawww.purl.org/net/busaco
entailment
34. OWL Full entailment
OWL DL entailment
OWL Lite entailment
RDFS entailment
util în realizarea interogărilor SPARQL
la nivel de indivizi
adaptare după (Hebeler et al., 2009)
RDF entailment
Dr. Sabin Buragawww.purl.org/net/busaco
entailment
35. un model teoretic oferă un mecanism de asociere
de relații între sintaxă și interpretări
Dr. Sabin Buragawww.purl.org/net/busaco
Înțelesul (meaning) e dat de asocierea unui formalism
36. un model teoretic oferă un mecanism de asociere
de relații între sintaxă și interpretări
e.g., logica de ordin I (FOL – First Order Logic)
Dr. Sabin Buragawww.purl.org/net/busaco
Intelesul (meaning) e dat de asocierea unui formalism
37. Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
Pentru o construcție sintactică,
pot exista mai multe sensuri (interpretări, modele)
dorim obiectivitate – e.g., eliminarea ambiguităților
termenul “toc” ≠ termenul “toc”
38. Modelele se presupune că sunt analoage
unei (părți a unei) lumi
elementele modelului corespund obiectelor lumii
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
39. Trebuie specificată o relație formală
între sintaxă și modele
structura modelelor reflectă relațiile specificate
în cadrul sintaxei
utilizarea unei/unor logici
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
40. Logici
limbaje formalizate menite a reprezenta cunoștințe
cu scopul de a putea fi deduse concluzii
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
41. Logici
sintaxa exprimă propozițiile (sentences)
în cadrul limbajului folosit
semantica definește înțelesul – formal – al propozițiilor
i.e., specifică adevărul (truth) unei propoziții
în cadrul lumii modelate
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
42. Exemplu: limbajul aritmetic
x + 33 > y este o propoziție; x33 + y > nu e propoziție
x + 33 > y este adevărată (true) iff
numărul x + 33 nu e mai mic decât numărul y
x + 33 > y este true într-o lume în care x = 1 și y = 7
x + 33 > y este false într-o lume în care x = 1 și y = 69
x + 33 > x este true în orice lume – tautologie
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
43. Logicile sunt caracterizate
de ceea ce exprimă (commit) ca “primitive”
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
44. Logicile sunt caracterizate
de ceea ce exprimă (commit) ca “primitive”
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
declarații ontologice – exprimă ce anume există:
fapte (facts), lucruri (things), timp (time), credințe (beliefs)
declarații epistemologice – exprimă care este starea
cunoașterii acumulate
45. Dr. Sabin Buragawww.purl.org/net/busaco
Limbaj
Declarații ontologice Declarații epistemologice
(logic)
(ce anume există)
(ce cunoaște o entitate/agent)
Logica prop.
fapte (facts)
true / false / unknown
Logica de
fapte, obiecte, relații
true / false / unknown
ordin I (FOL)
Logica
fapte, obiecte, relații,
true / false / unknown
temporală
timp
Teoria
grade de cunoaștere (belief)
fapte
probab.
0..1
grade de cunoaștere (belief)
Logica fuzzy
grade de adevăr
0..1
conform (Enrico Franconi, 2003)
46. Modele
lumi având o anumită structură
în care adevărul poate fi evaluat (dedus)
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
47. Modele
lumi având o anumită structură
în care adevărul poate fi evaluat (dedus)
m este model pentru o propoziție p
dacă p este true în cadrul modelului m
M (p) reprezintă mulțimea tuturor modelelor lui p
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
48. Baza de cunoștințe (KB – knowledge base)
mulțime de propoziții descrise într-un limbaj formalizat
teorie logică
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
49. Baza de cunoștințe (KB – knowledge base)
conține cunoștințele privitoare la lumea modelată
care pot fi manipulate via algoritmi deductivi
(incluși într-un motor de inferență – inference engine)
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
50. Baza de cunoștințe KB determină, implică, satisface
(entails) propoziția p
– adică KB ⊨ p –
dacă și numai dacă
p este true în toate lumile în care KB este true
dat fiind modelul M (p),
KB ⊨ p dacă și numai dacă M (KB) ⊆ M (p)
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
51. Baza de cunoștințe KB deduce (infer)
propoziția p folosind algoritmul i
– adică KB ⊦i p –
dacă și numai dacă
p poate fi dedusă (derivată) din KB
de către procedura (algoritmul) i
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
52. Soundness
i este sound
dacă având KB ⊦i p atunci e adevărat că KB ⊨ p
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
53. Completeness
i este complete
dacă KB ⊨ p implică faptul că KB ⊦i p
Dr. Sabin Buragawww.purl.org/net/busaco
necesitatea folosirii unei/unor logici
54. Domeniul modelat – partea lumii modelate de
ontologie – este interpretat ca o mulțime (set)
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
55. Obiectele (entitățile, things) lumii
sunt interpretate ca fiind elemente ale lui
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
56. Obiectele (entitățile, things) lumii
sunt interpretate ca fiind elemente ale lui
clasele/conceptele (predicate unare)
sunt submulțimi ale lui
proprietățile (predicate binare)
sunt submulțimi ale lui = 2
predicatele ternare sunt submulțimi ale lui 3
…
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
57. De exemplu, relația subClassOf dintre clase
poate fi interpretată ca o incluziune de mulțimi
de revizitat
teoria mulțimilor
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
58. adaptare după (Sean Bechhofer, 2004)
Dr. Sabin Buragawww.purl.org/net/busaco
59. Un vocabular este o mulțime de nume utilizate
în cadrul lumii modelate
{ Tux, Pinguin, Animal, Anamaria, Persoana,
Computer, detine,... }
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
60. Un vocabular este o mulțime de nume utilizate
în cadrul lumii modelate
{ Tux, Pinguin, Animal, Anamaria, Persoana,
Computer, detine,... }
uzual, exprimat sintactic într-un format deschis
e.g., DCMI, FOAF etc.
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
61. Înțelesul constrângerilor (Enrico Franconi, 2003):
relația de tip isA: AreaManager ⊆ Manager
disjuncția claselor: AreaManager ⋂ TopManager = ∅
Manager ⊆ AreaManager ⋃ TopManager
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
64. O interpretare I a vocabularului e un tuplu , ⋅I
domeniul este reprezentat de mulțimea
asocierea dintre sintaxă și semantică e dată de ⋅I
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
65. O interpretare I a vocabularului e un tuplu , ⋅I
numele obiectelor – asociate elementelor lui
numele predicatelor unare (clase/concepte)
sunt asociate submulțimilor lui
numele predicatelor binare (proprietăți)
sunt asociate submulțimilor
similar, pentru arități superioare – dacă există
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
66. Ontologiile modelează în special clase
formează terminologia
ce trebuie să fie adevărat în legătură cu fiecare concept
din cadrul ontologiei
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
67. Ontologiile modelează în special clase
formează terminologia
ce trebuie să fie adevărat în legătură cu fiecare concept
din cadrul ontologiei
formal, TBox – terminology box
(schemă ontologică exprimată via RDFS și OWL)
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
68. Ontologiile oferă un mecanism limitat de
exprimare a indivizilor – instanțe ale claselor
descrierea indivizilor se poate face
prin baze de date, fișiere JSON,
microdate HTML5, triple (RDF/RDFa) etc.
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
69. Ontologiile oferă un mecanism limitat de
exprimare a indivizilor – instanțe ale claselor
descrierea indivizilor se poate face
prin baze de date, fișiere JSON,
microdate HTML5, triple (RDF/RDFa) etc.
formal, ABox – datele, assertions
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
70. Din punct de vedere computațional,
raționamentele privitoare la indivizi
sunt intractabile în general
F. Baader et al., 2002
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
71. Din punct de vedere computațional,
raționamentele privitoare la indivizi
sunt intractabile în general
în ipoteza lumilor închise (closed worlds),
negația reprezintă eșec – cazul bazelor de date
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare
72. Semantica formală e dată de logicile descrierii
(description logics)
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare: description logics
detalii în F. Baader, D. Calvanese, D. McGuinness, D. Nardi,
P. Patel-Schneider (Editors), The Description Logic
Handbook: Theory, Implementation and Applications,
Cambridge University Press, 2002
73. Părți decidabile din logica de ordin I
FOL – First Order Logic
constructori pentru definirea de clase și proprietăți
(eventual, pe baza celor deja existente)
pot fi exprimate axiome specificând fapte despre
concepte (clase), roluri (proprietăți) și indivizi (instanțe)
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare: description logics
74. Proprietăți dezirabile în contextul Web-ului
(Ian Horrocks, 2009)
decidabilitate
complexitate scăzută
important!
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare: description logics
75. Pun la dispoziție sisteme de inferență (reasoners)
proceduri sound & complete pentru luarea deciziilor
privind anumite probleme
pot fi deduse constrângeri suplimentare
e.g., o entitate e sub-entitate a alteia, în cazul în care
cea de a doua reprezintă o submultime a primei entități
Dr. Sabin Buragawww.purl.org/net/busaco
formalizare: reasoning
77. Familie de formalisme logice
folosite pentru reprezentarea cunoștințelor
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
78. Cea mai simplă DL e ALC (închisă propozițional)
Attributive Language with Complements
AL specificată de (Schmidt-Schauß & Smolka, 1991)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
79. Cea mai simplă DL e ALC (închisă propozițional)
concepte construite folosind booleeni ⊓, ⊔,
plus cuantificatorii ,
rolurile (proprietățile) pot fi atomice
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
80. Exemplu: “tații fericiți” (Ian Horrocks, 2004)
HappyFather Man ⊓
hasChild.Female ⊓
hasChild.Male ⊓
hasChild.(Rich ⊔ Happy)
un tată fericit este un bărbat
care are drept copii – bogați sau fericiți –
măcar o fată și un băiat
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
82. Dr. Sabin Buragawww.purl.org/net/busaco
description logics – extensii
S proprietățile sunt tranzitive
H ierarhia proprietăților – e.g., hasDaughter ⊑ hasChild
O nominali/singletons – e.g., { Tux }
I proprietăți inverse – e.g., isChildOf hasChild–
N restricții de cardinalitate – e.g., ≥2 hasChild, ≤3 hasChild
Q restricții de cardinalitate calificate – e.g., ≥2 hasChild.Male
F restricții de cardinalitate funcționale – e.g., ≤1 hasMother
specii DL
83. Dr. Sabin Buragawww.purl.org/net/busaco
description logics – extensii
S proprietățile sunt tranzitive
H ierarhia proprietăților – e.g., hasDaughter ⊑ hasChild
O nominali/singletons – e.g., { Tux }
I proprietăți inverse – e.g., isChildOf hasChild–
N restricții de cardinalitate – e.g., ≥2 hasChild, ≤3 hasChild
Q restricții de cardinalitate calificate – e.g., ≥2 hasChild.Male
F restricții de cardinalitate funcționale – e.g., ≤1 hasMother
la nivel sintactic, pot fi exprimate prin OWL
85. Baza de cunoștințe (KB) e compusă din
2 mulțimi de axiome:
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
TBox descrie structura domeniului – schema conceptuală
ABox descrie o situație concretă – datele, instanțele
86. Baza de cunoștințe (KB) e compusă din
2 mulțimi de axiome:
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
TBox descrie structura domeniului – schema conceptuală
SuperStud ⊑ WebDeveloper ⊓ Masterand ⊓ Eminent
HappyFather Man ⊓ hasChild.Female ⊓ …
transitive (rudaCu)
ABox descrie o situație concretă – datele, instanțele
Radu: HappyFather
<Radu, Andreea>: hasChild
87. HappyFather Man ⊓
hasChild.Female ⊓ …
ABox (data)
Radu : HappyFather
<Radu, Andreea>: hasChild
Dr. Sabin Buragawww.purl.org/net/busaco
Man Human ⊓ Male
Interface
TBox (schema)
Inference System
Knowledge Base
88. Remarcă:
această separație nu are neapărat
o semnificație logică, dar este convenabilă
atât din punct de vedere conceptual,
cât și din cel al implementării
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
89. Pentru OWL 1 – nivelul DL,
modelul formal este specificat
de logica descrierii de tip SHIQ
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
90. Pentru OWL 1 – nivelul DL,
modelul formal este specificat
de logica descrierii de tip SHIQ
echivalentă cu SHOIN(Dn)
OWL DL ≈ SHIQ extinsă cu nominali – i.e., SHOIQ
OWL Lite ≈ SHIQ cu restricții funcționale – SHIF
a se vedea lucrările lui Ian Horrocks:
http://www.cs.ox.ac.uk/people/ian.horrocks/
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
91. OWL DL
OWL Lite
se permite
“orice”
nu se poate folosi
owl:cardinality pentru
TransitiveProperty
definițiile
RDFS
se pot mixa
cu cele
OWL
o ontologie OWL DL
nu poate importa una
OWL Full
se mențin restricțiile
OWL DL, plus:
owl:minCardinality și
owl:maxCardinality
nu se pot folosi
OWL Full
e nedecidabilă
Dr. Sabin Buragawww.purl.org/net/busaco
OWL Full
pentru owl:cardinality
valorile permise sunt 0 și 1
nu se poate defini
o clasă ca membră
a alteia
nu se pot utiliza:
FunctionalProperty si
owl:hasValue,
InverseFunctionalProperty
owl:disjointWith, owl:oneOf,
se pot utiliza doar
owl:complementOf și
pentru ObjectProperty
owl:unionOf
92. Pentru OWL, constructorii DL sunt:
se permite și folosirea tipurilor de date XML Schema
un exemplu: areAni.byte
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
93. În cazul OWL 2:
OWL EL la nivel formal se bazează pe logica EL++
restrânsă la exprimarea restricțiilor existențiale
(Baader, Brandt & Lutz, 2005, 2008)
OWL RL se inspiră din DLP – Description Logic Programs
(Grosof et al., 2003) și pD* (Horst, 2005)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
94. O ontologie OWL se poate asocia
unei baze de cunoștințe DL notată K = <T, A>
T TBox – mulțime de axiome de forma:
C⊑D
CD
P⊑Q
PQ
P+ ⊑ P
incluziunea claselor (conceptelor)
echivalența claselor
incluziunea proprietăților (rolurilor)
echivalența proprietăților
tranzitivitatea proprietăților
x C
<x, y> P
instanțierea unui concept/clase
instanțierea unui proprietăți
A ABox – mulțime de axiome de forma:
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
95. Exemplu de TBox (Ian Horrocks)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
96. Exemplu de ABox (Ian Horrocks)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
o ontologie OWL e echivalentă cu o bază de cunoștințe DL
TBox + ABox
97. Axiomele TBox sunt de două tipuri:
“definiții”
C ⊑ D sau C D, unde C reprezintă un nume de concept
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
98. Axiomele TBox sunt de două tipuri:
“definiții”
C ⊑ D sau C D, unde C reprezintă un nume de concept
axiome privitoare la incluziunea conceptelor generale
(General Concept Inclusion – GCIs)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
100. Definiții privind satisfiabilitatea:
I satisface mulțimea TBox T (adică I ⊨ T )
iff I satisface orice axiomă A din T
I satisface mulțimea ABox A (I ⊨ A)
iff I satisface orice axiomă A din A
I satisface baza de cunoștințe K (I ⊨ K)
iff I satisface și T și A
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
101. Cunoștințele sunt semnificative (meaningful)
clasele pot avea instanțe:
conceptul C este satisfiabil în ceea ce privește K
iff există un anumit model I al lui K astfel încât CI ∅
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
102. Cunoștințele sunt corecte – modelează intuițiile:
C subsumează D – adică C ⊑ D – în ceea ce privește K
iff pentru orice model I al lui K, CI ⊆ DI
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
103. Cunoștințele sunt minimal redundante
– nu există sinonime nedorite:
C este echivalent cu D (C D) în ceea ce privește K
iff pentru orice model I al lui K, CI = DI
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
104. Interogarea cunoștințelor:
x este o instanță a conceptului C în ceea ce privește K
iff pentru orice model I al lui K, xI CI
<x, y> este o instanță a rolului (proprietății) P
în ceea ce privește K
iff pentru orice model I al lui K, (xI, yI ) PI
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
105. Aspectele anterioare sunt reductibile la
consistența bazei de cunoștințe
o bază de cunoștințe K este consistentă
iff există un anumit model I al lui K
consistența bazei de cunoștințe este reductibilă la
consistența conceptelor (concept consistency)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
106. Verificarea formală a consistenței e utilă pentru
proiectarea și mentenanța de ontologii
semnificative – toate clasele pot avea indivizi
corecte – exprimă intuițiile experților domeniului
minimal redundante – nu există sinonime nedorite
axiomatizate – există (suficiente) descrieri detaliate
conform Horrocks (2005)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
107. Verificarea formală a consistenței e utilă pentru
oferirea de răspunsuri privind clasele/indivizii
găsirea claselor mai generale/particulare
extragerea de indivizi conform unei interogări date
conform Horrocks (2005)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
108. Pentru verificarea satisfiabilității (consistenței)
se pot utiliza algoritmi de tip tablou
(tableaux algorithms)
Francesco M. Donini & Fabio Massacci, 2000
Jan Hladik & Jörg Model, 2004
Ian Horrocks & Ulrike Sattler, 2005
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
109. Dr. Sabin Buragawww.purl.org/net/busaco
description logics
Dat fiind un concept C, se încearcă a se construi un model
(exemplu concret) arborescent consistent cu axiomele
din baza de cunoștințe – faptele de bază din ABox
110. Conceptul C este descompus la nivel sintactic
se folosesc conceptele complexe și axiomele din TBox
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
111. Se aplică regulile de expandare a tabloului
(tableau expansion rules)
se deduc constrângerile asupra elementelor modelului
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
112. Regulile de tip tablou
corespund constructorilor din logică
de exemplu: ⊓, ⊔ etc.
unele reguli sunt nedeterministe – e.g., ⊔, ≤
în practică, aceasta înseamnă căutare
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
113. Ne oprim când nu mai pot fi aplicate reguli ori
apare un conflict (clash)
conflictul reprezintă o contradicție evidentă
de exemplu: A(x), ¬ A(x)
pentru terminare, poate fi necesară
verificarea ciclurilor (blocarea – blocking)
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
114. C este satisfiabil iff
regulile pot fi aplicate astfel încât
este construit un arbore complet expandat
fără conflicte
Dr. Sabin Buragawww.purl.org/net/busaco
description logics
115. Fie baza de cunoștințe
{ HappyParent Person ⊓ hasChild.(Doctor ⊔
hasChild.Doctor),
John: HappyParent, John hasChild Mary,
Mary: ¬ Doctor,
Wendy hasChild Mary,
Wendy marriedTo John }
Dr. Sabin Buragawww.purl.org/net/busaco
description logics – exemplu (Horrocks)
126. Exemplul 1 – hoțul și călătorul fără bilet
primul fapt: amprentele găsite la locul unui jaf
au identificat ca posibil hoț pe Lödi Gogo
</raport-2013-12-10-pol4>
rdf:type :Jaf ;
dc:description "..." ;
:implicaSuspect [
rdfs:seeAlso <http://www.persoane.ro#LödiGogo>
].
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
127. Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
Exemplul 1 – hoțul și călătorul fără bilet
alt doilea fapt: în tramvai, a fost găsit un călător fără bilet,
numit Justin Bip – acesta a fost reținut
</raport-2013-12-10-pol4>
rdf:type :Amenda ;
dc:description "..." ;
:prejudiciu [
:comisDe :Cetatean ;
rdfs:seeAlso < http://www.persoane.ro#JustinBip>
].
128. Exemplul 1 – hoțul și călătorul fără bilet
poliția deține o aplicație Web ce recurge la
o bază de cunoștințe în care se stipulează următoarele:
:Jaf rdfs:subClassOf :Infractiune .
:Amenda rdfs:subClassOf :Infractiune .
:implicaSuspect a rdf:Property ;
TBox
rdfs:domain :Infractiune ; rdfs:range :Suspect .
:Suspect rdfs:subClassOf :Cetatean .
:Cetatean rdfs:subClassOf foaf:Person .
<http://www.persoane.ro#LödiGogo"> a foaf:Person ;
ABox
owl:sameAs <http://www.persoane.ro#JustinBip"> .
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
129. Exemplul 1 – hoțul și călătorul fără bilet
concluzie: se poate realiza inferența
“Hoțul este călătorul prins fără bilet.”
pe baza logicilor descrierii, OWL oferă posibilitatea
de a exprima faptul că două resurse – e.g., clase,
proprietăți, instanțe – sunt identice
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
130. Exemplul 2 – achiziționarea unui aparat foto
Can a take a
photo with this?
3
Aplicație Web
recomandând
cumpărături
online
<Nikon_D7000> a :DSLR ;
:sensor "16.2"^^xsd:float ;
:lens [ :min "18"^^units:mm ;
:max "55"^^units:mm ] ;
gr:hasPriceSpecification …
“Trimite-mi catalogul
de produse”
1
2
situl Web al
magazinului
“Iată catalogul...”
(date RDF)
inspirat de (Costello et al., 2003)
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
131. Exemplul 2 – achiziționarea unui aparat foto
aplicația Web consultă o ontologie OWL privitoare la
camere digitale de unde se poate determina că DSLR este
subclasă a clasei Camera asociată echipamentelor foto
:DSLR a owl:Class ;
rdfs:subClassOf :Camera .
:takes rdfs:domain :Camera ;
rdfs:range :Photo .
DSLR
<Nikon_D7000> a :DSLR .
Camera
Point-and-Shot
Analogue
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
132. Exemplul 2 – achiziționarea unui aparat foto
ontologiile exprimate în OWL pot conduce la
descoperirea dinamică a relațiilor dintre resurse
pe baza unui sistem de deducție (reasoning),
via construcții RDFa recurgând la Good Relations,
pot fi extrase, comparate & recomandate
ofertele disponibile pe diverse situri Web
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
133. Exemplul 3 – locul de naștere a regelui Kamehameha
fapt: în urma extragerii de date de pe Web, s-a obținut
<individ rdf:about="http://www.persoane.ro#Kamehameha">
<locNastere rdf:about="http://www.states.com/Hawaii" />
</individ>
<individ rdf:about="http://www.persoane.ro#Kamehameha">
<locNastere rdf:about="http://world.info/Sandwich_Islands" />
</individ>
<individ rdf:about="http://www.persoane.ro#Kamehameha">
<locNastere rdf:about="http://history.org/Aloha" />
</individ>
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
134. Exemplul 3 – locul de naștere a regelui Kamehameha
ontologia privitoare la persoane indică
faptul că un individ are un unic loc de naștere
se poate trage concluzia că Hawaii, Sandwich Islands
și Aloha reprezintă aceeași localitate
OWL oferă suport pentru precizarea cardinalității unei
relații dintre o resursă și o alta – în acest caz, exact una
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe
135. Recurgerea la un reasoner
– e.g., FaCT++ sau HermiT incluse în Protégé –
pentru deducția diverselor aspecte privitoare
la un model conceptual
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe: studiu de caz
136. nivelul conceptual (cunoștințe): TBox
Multimedia
detinutDe
Audio
rdfs:subClassOf
Video
detine
Proprietar
rdf:type
rdf:type
rdf:type
detinutDe
the_eye
detinutDe
detine
ancuta
anca
owl:sameAs
zidul
Dr. Sabin Buragawww.purl.org/net/busaco
rdfs:subClassOf
eugen
rudaCu
nivelul datelor (indivizi): ABox
138. Realizarea de raționamente automate
– interogări (queries) DL –
cu ajutorul expresiilor de clasă (class expression)
specificate în sintaxa Manchester (2012)
http://www.w3.org/TR/owl2-manchester-syntax/
Dr. Sabin Buragawww.purl.org/net/busaco
inferențe: studiu de caz
140. clasa entităților care
nu aparțin clasei Femeie
obținerea claselor complementare cu una specificată
Dr. Sabin Buragawww.purl.org/net/busaco
inferente: studiu de caz
142. clasa entităților ce dețin
măcar o resursă
multimedia și sunt femei
exprimarea
intersecțiilor de clase
Dr. Sabin Buragawww.purl.org/net/busaco
inferente: studiu de caz
143. clasa entităților care dețin
măcar o resursă
multimedia și sunt bărbați
Dr. Sabin Buragawww.purl.org/net/busaco
inferente: studiu de caz
144. clasa resurselor
multimedia
deținute de o femeie
exprimarea intervalului
(range-ului) unei relații
Dr. Sabin Buragawww.purl.org/net/busaco
inferente: studiu de caz
145. clasa resurselor
multimedia
deținute de Anca
specificarea de valori
în contextul relațiilor
Dr. Sabin Buragawww.purl.org/net/busaco
inferente: studiu de caz
146. expresii de clasă
mai complexe
Dr. Sabin Buragawww.purl.org/net/busaco
inferente: studiu de caz
147. clasa entităților în relație
de rudenie cu un bărbat și
care dețin minim 1 video
exprimarea
cardinalității
Dr. Sabin Buragawww.purl.org/net/busaco
inferente: studiu de caz
149. Fluent Editor permite deducții
pentru ontologii modelate în limbaj natural
Dr. Sabin Buragawww.purl.org/net/busaco
inferente: studiu de caz
“No male is a female”: male ⊑ ¬(female)
150. Implementările actuale bazate pe OWL DL
beneficiază de cercetările
din domeniul logicilor descrierilor
Dr. Sabin Buragawww.purl.org/net/busaco
concluzii
151. Proprietăți formale înțelese în profunzime
(complexitate, decidabilitate)
Algoritmi de raționament automat eficienți
Sisteme de deducție (reasoning)
având implementări optimizate
Dr. Sabin Buragawww.purl.org/net/busaco
concluzii
152. OWL 2
logicile descrierii + baze de cunoștințe
suportul pentru raționamente automate
Dr. Sabin Buragawww.purl.org/net/busaco
rezumat