dezvoltarea aplicațiilor web (10/12): specificarea ontologiilor via owl 2. logicile descrierii....

153
Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea aplica ț iilor Web Ontologii în contextul WWW OWL 2 de la formalizare la realizarea raționamentelor

Upload: sabin-buraga

Post on 27-May-2015

167 views

Category:

Technology


2 download

DESCRIPTION

Dezvoltarea aplicațiilor Web (10/12) — detalii la http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html

TRANSCRIPT

Page 1: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Dezvoltarea aplicațiilor Web

Ontologii în contextul WWWOWL 2

de la formalizare la realizarea raționamentelor

Page 2: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

“O hartă nu înseamnă teritoriul.”

Alfred Korzybski

Page 3: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

realități

Page 4: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

realități

Ontologiile au drept scopmodelarea unei (părți a unei) lumi

termenii limbajului de modelare folositcorespund entităților din cadrul lumii

Page 5: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

În unele cazuri, modelarea unor domeniinecesită expresivități care nu sunt oferite

de limbajul OWL 1.0

Page 6: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Extinderea OWL cu noi construcții care însăsă păstreze proprietățile din cadrul OWL DL

OWL 2

Page 7: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Expresivitate ridicată

de exemplu:restricții de cardinalitate calificate,

restricții privind reflexivitatea,înlănțuirea proprietăților (property chains)

etc.

Page 8: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL 2 oferă putere de expresivitate mai mare(Horrocks, 2009):

restricții de cardinalitate calificate

e.g., persoane care au 2 prieteni vegetarieni

Page 9: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL 2 oferă putere de expresivitate mai mare(Horrocks, 2009):

restricții privind reflexivitatea locală

exemplu: “narcissists love themselves”

Page 10: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL 2 oferă putere de expresivitate mai mare(Horrocks, 2009):

exprimarea de proprietăți anti-reflexive sau asimetrice

exemplificare: “nothing can be a proper part of itself” (proprietate anti-reflexivă)

Page 11: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL 2 oferă putere de expresivitate mai mare(Horrocks, 2009):

modelarea proprietăților disjuncte

e.g., o persoană nu poate fi simultan părinte și fiuai unei persoane date

Page 12: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL 2 oferă putere de expresivitate mai mare(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

Page 13: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Exprimarea facilă a reuniunilor disjuncte(disjoint unions)

Element DisjointUnion Earth Wind Fire Water

syntactic sugar

Page 14: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Exprimarea negațiilor

iPad is not a device owned by Ana33 is not the age of Dan

syntactic sugar

Page 15: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Meta-modelare în OWL2

o resursă poate fi modelată simultan ca individ și clasă

SnowLeopard subClassOf BigCat – clasăSnowLeopard type EndangeredSpecies – individ

Page 16: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Suport pentru adnotări

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.

Page 17: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Asocierea de profile

stabilirea construcțiilor OWL 2 ce corespundunei anumite complexități computaționale

în vederea efectuării raționamentelor automate

Page 18: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Profile OWL 2:

raționamente pentru ontologii largi: ELinterogări asupra unui volum mare de instanțe: QLraț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

Page 19: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL EL

oferă suport pentru efectuarea de raționamenteîn timp polinomial pentru ontologii cu număr mare

de clase și/sau proprietăți

Page 20: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL EL

utilizare uzuală:ontologii din domeniul științelor vieții

care vizează mai ales scalabilitatea

Page 21: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL EL

nu pot fi folosite:calificări universale – e.g., AllValuesFrom

restricții vizând cardinalitateadisjuncții la nivel de clase, proprietăți sau obiecte

enumerări ce implică mai mult de un individproprietăți obiectuale inverse, (a)simetrice, funcționale

Page 22: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL QL

suport pentru efectuarea de interogări (optimizate)în stilul bazelor de date convenționale

se pretează pentru ontologiiavând un volum mare de fapte (indivizi)

logspace

Page 23: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL QL

ofera expresivitatea necesară specificării de lexicoanesau de scheme de tip UML ori ER (entity-relation)

similar cu OWL Lite – versiunea 1

Page 24: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL QL

se poate baza pe rescrierea interogărilorconform tehnicilor de raționament automat

Page 25: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL QL

nu pot fi utilizate:calificări existențiale – e.g., SomeValuesFrom

calificări universale – e.g., AllValuesFromenumerări de indivizi/literali

restricții privind cardinalitateadisjuncția

proprietăți (invers) funcționale și tranzitiveaserțiuni privind egalitatea indivizilor (SameIndividual)

Page 26: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL RL

permite exprimarea regulilor în cadrul ontologiilor

poate fi implementat în cadrul sistemelor convenționalede baze de date relaționale

complexitatepolinomială

Page 27: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL RL

soluție complementară la limbajele de specificare a regulilor la nivel de Web

RIF – Rule Interschange Format

Page 28: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Specificarea regulilor pentru procesarea în Jena(exemplu realizat de Sergiu Bursuc, absolvent FII)

# 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) ] ]

Page 29: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Pentru detalii sintactice, a se consulta:

Sandro Hawke, OWL 2 Reference Card, W3C, 2009www.w3.org/2007/OWL/refcard

Page 30: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Instrumente oferind suport pentru OWL 2

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.

Page 31: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

În ce manieră exprimăm – formal – înțelesul(meaning) construcțiilor modelate?

Page 32: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

entailment

Date o mulțime de enunțuri RDF privitoarela un graf A și o mulțime de enunțuri referitoare

la un graf B, atunci A determină (entails) Bdacă fiecare enunț din B este adevărat și în A

Page 33: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

entailment

Date o mulțime de enunțuri RDF privitoarela un graf A și o mulțime de enunțuri referitoare

la un graf B, atunci A determină (entails) Bdacă 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ță)

Page 34: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

entailment

OWL Full entailment

OWL DL entailment

OWL Lite entailment

RDFS entailment

RDF entailment

adaptare după (Hebeler et al., 2009)

util în realizarea interogărilor SPARQLla nivel de indivizi

Page 35: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Înțelesul (meaning) e dat de asocierea unui formalism

un model teoretic oferă un mecanism de asocierede relații între sintaxă și interpretări

Page 36: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Intelesul (meaning) e dat de asocierea unui formalism

un model teoretic oferă un mecanism de asocierede relații între sintaxă și interpretări

e.g., logica de ordin I (FOL – First Order Logic)

Page 37: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.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”

Page 38: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Modelele se presupune că sunt analoageunei (părți a unei) lumi

elementele modelului corespund obiectelor lumii

Page 39: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Trebuie specificată o relație formalăîntre sintaxă și modele

structura modelelor reflectă relațiile specificateîn cadrul sintaxei

utilizarea unei/unor logici

Page 40: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Logici

limbaje formalizate menite a reprezenta cunoștințecu scopul de a putea fi deduse concluzii

Page 41: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Logici

sintaxa exprimă propozițiile (sentences)în cadrul limbajului folosit

semantica definește înțelesul – formal – al propozițiilori.e., specifică adevărul (truth) unei propoziții

în cadrul lumii modelate

Page 42: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Exemplu: limbajul aritmeticx + 33 > y este o propoziție; x33 + y > nu e propoziție

x + 33 > y este adevărată (true) iffnumă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

Page 43: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Logicile sunt caracterizatede ceea ce exprimă (commit) ca “primitive”

Page 44: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Logicile sunt caracterizatede ceea ce exprimă (commit) ca “primitive”

declarații ontologice – exprimă ce anume există:fapte (facts), lucruri (things), timp (time), credințe (beliefs)

declarații epistemologice – exprimă care este stareacunoașterii acumulate

Page 45: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Limbaj (logic)

Declarații ontologice(ce anume există)

Declarații epistemologice (ce cunoaște o entitate/agent)

Logica prop. fapte (facts) true / false / unknown

Logica de ordin I (FOL)

fapte, obiecte, relații true / false / unknown

Logica temporală

fapte, obiecte, relații, timp

true / false / unknown

Teoria probab.

faptegrade de cunoaștere (belief)

0..1

Logica fuzzy grade de adevărgrade de cunoaștere (belief)

0..1

conform (Enrico Franconi, 2003)

Page 46: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Modele

lumi având o anumită structurăîn care adevărul poate fi evaluat (dedus)

Page 47: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Modele

lumi având o anumită structurăîn care adevărul poate fi evaluat (dedus)

m este model pentru o propoziție pdacă p este true în cadrul modelului m

M (p) reprezintă mulțimea tuturor modelelor lui p

Page 48: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Baza de cunoștințe (KB – knowledge base)

mulțime de propoziții descrise într-un limbaj formalizat

teorie logică

Page 49: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

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)

Page 50: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

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)

Page 51: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

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 KBde către procedura (algoritmul) i

Page 52: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Soundness

i este sounddacă având KB ⊦i p atunci e adevărat că KB ⊨ p

Page 53: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesitatea folosirii unei/unor logici

Completeness

i este completedacă KB ⊨ p implică faptul că KB ⊦i p

Page 54: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Domeniul modelat – partea lumii modelate de ontologie – este interpretat ca o mulțime (set)

Page 55: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Obiectele (entitățile, things) lumiisunt interpretate ca fiind elemente ale lui

Page 56: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Obiectele (entitățile, things) lumiisunt 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

Page 57: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

De exemplu, relația subClassOf dintre clasepoate fi interpretată ca o incluziune de mulțimi

de revizitatteoria mulțimilor

Page 58: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

adaptare după (Sean Bechhofer, 2004)

Page 59: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Un vocabular este o mulțime de nume utilizateîn cadrul lumii modelate

{ Tux, Pinguin, Animal, Anamaria, Persoana,

Computer, detine,... }

Page 60: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

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 deschise.g., DCMI, FOAF etc.

Page 61: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Înțelesul constrângerilor (Enrico Franconi, 2003):

relația de tip isA: AreaManager ⊆ Managerdisjuncția claselor: AreaManager ⋂ TopManager = ∅

Manager ⊆ AreaManager ⋃ TopManager

Page 62: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Înțelesul relațiilor (Enrico Franconi, 2003):

Page 63: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Înțelesul cardinalităților (Enrico Franconi, 2003):

mulțimea tuturorinstanțelor

Page 64: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

O interpretare I a vocabularului e un tuplu , ⋅I

domeniul este reprezentat de mulțimea

asocierea dintre sintaxă și semantică e dată de ⋅I

Page 65: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

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ă

Page 66: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Ontologiile modelează în special clase

formează terminologiace trebuie să fie adevărat în legătură cu fiecare concept

din cadrul ontologiei

Page 67: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Ontologiile modelează în special clase

formează terminologiace 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)

Page 68: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Ontologiile oferă un mecanism limitat deexprimare a indivizilor – instanțe ale claselor

descrierea indivizilor se poate faceprin baze de date, fișiere JSON,

microdate HTML5, triple (RDF/RDFa) etc.

Page 69: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Ontologiile oferă un mecanism limitat deexprimare a indivizilor – instanțe ale claselor

descrierea indivizilor se poate faceprin baze de date, fișiere JSON,

microdate HTML5, triple (RDF/RDFa) etc.

formal, ABox – datele, assertions

Page 70: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

Din punct de vedere computațional,raționamentele privitoare la indivizi

sunt intractabile în general

F. Baader et al., 2002

Page 71: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare

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

Page 72: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare: description logics

Semantica formală e dată de logicile descrierii(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

Page 73: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare: description logics

Părți decidabile din logica de ordin IFOL – First Order Logic

constructori pentru definirea de clase și proprietăți(eventual, pe baza celor deja existente)

pot fi exprimate axiome specificând fapte despreconcepte (clase), roluri (proprietăți) și indivizi (instanțe)

Page 74: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare: description logics

Proprietăți dezirabile în contextul Web-ului(Ian Horrocks, 2009)

decidabilitate

complexitate scăzută

important!

Page 75: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare: reasoning

Pun la dispoziție sisteme de inferență (reasoners)

proceduri sound & complete pentru luarea deciziilorprivind anumite probleme

pot fi deduse constrângeri suplimentaree.g., o entitate e sub-entitate a alteia, în cazul în care

cea de a doua reprezintă o submultime a primei entități

Page 76: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

formalizare: reasoning

Implementări optimizate (pentru OWL 1 și/sau 2)FaCT++

HermiT (oferit implicit de mediul Protégé)PelletRacer

Snorocket (pentru OWL EL)TrOWL

www.cs.man.ac.uk/~sattler/reasoners.html

Page 77: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Familie de formalisme logicefolosite pentru reprezentarea cunoștințelor

Page 78: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Cea mai simplă DL e ALC (închisă propozițional)

Attributive Language with Complements

AL specificată de (Schmidt-Schauß & Smolka, 1991)

Page 79: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Cea mai simplă DL e ALC (închisă propozițional)

concepte construite folosind booleeni ⊓, ⊔, plus cuantificatorii ,

rolurile (proprietățile) pot fi atomice

Page 80: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Exemplu: “tații fericiți” (Ian Horrocks, 2004)

HappyFather Man ⊓ hasChild.Female ⊓ hasChild.Male ⊓ hasChild.(Rich ⊔ Happy)

un tată fericit este un bărbatcare are drept copii – bogați sau fericiți –

măcar o fată și un băiat

Page 81: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Exemplu: specificarea unor concepte privindorganismul uman (Ian Horrocks, 2009)

Heart ⊆ MuscularOrgan ⊓

isPartOf.CirculatorySystem

HeartDisease Disease ⊓ affects.Heart

VascularDisease Disease ⊓ affects.( isPartOf.CirculatorySystem)

Page 82: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – extensii

S proprietățile sunt tranzitiveH 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

Page 83: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – extensii

S proprietățile sunt tranzitiveH 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

Page 84: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

vezi Evgeny Zolin – http://www.cs.man.ac.uk/~ezolin/dl/

Page 85: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Baza de cunoștințe (KB) e compusă din2 mulțimi de axiome:

TBox descrie structura domeniului – schema conceptuală

ABox descrie o situație concretă – datele, instanțele

Page 86: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Baza de cunoștințe (KB) e compusă din2 mulțimi de axiome:

TBox descrie structura domeniului – schema conceptualăSuperStud ⊑ WebDeveloper ⊓ Masterand ⊓ Eminent

HappyFather Man ⊓ hasChild.Female ⊓ …transitive (rudaCu)

ABox descrie o situație concretă – datele, instanțeleRadu: HappyFather

<Radu, Andreea>: hasChild

Page 87: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Knowledge Base

TBox (schema)

ABox (data)

Man Human ⊓ Male

HappyFather Man ⊓hasChild.Female ⊓ …

Radu : HappyFather

<Radu, Andreea>: hasChild

Infe

ren

ce S

yst

em

Inte

rfa

ce

Page 88: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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

Page 89: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Pentru OWL 1 – nivelul DL, modelul formal este specificat

de logica descrierii de tip SHIQ

Page 90: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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/

Page 91: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

OWL Full OWL DL OWL Lite

se permite“orice”

definițiileRDFS

se pot mixacu celeOWL

nu se poate folosiowl:cardinality pentru

TransitiveProperty

o ontologie OWL DL nu poate importa una

OWL Full

nu se poate definio clasă ca membră

a alteiaFunctionalProperty si

InverseFunctionalPropertyse pot utiliza doar

pentru ObjectProperty

se mențin restricțiileOWL DL, plus:

owl:minCardinality șiowl:maxCardinality

nu se pot folosi

pentru owl:cardinality

valorile permise sunt 0 și 1

nu se pot utiliza: owl:hasValue,

owl:disjointWith, owl:oneOf, owl:complementOf și

owl:unionOf

OWL Full e ne-

decidabilă

Page 92: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Pentru OWL, constructorii DL sunt:

se permite și folosirea tipurilor de date XML Schemaun exemplu: areAni.byte

Page 93: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Î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)

Page 94: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

O ontologie OWL se poate asociaunei baze de cunoștințe DL notată K = <T, A>T TBox – mulțime de axiome de forma:

C ⊑ D incluziunea claselor (conceptelor)C D echivalența claselorP ⊑ Q incluziunea proprietăților (rolurilor)P Q echivalența proprietățilorP+ ⊑ P tranzitivitatea proprietăților

A ABox – mulțime de axiome de forma:x C instanțierea unui concept/clase<x, y> P instanțierea unui proprietăți

Page 95: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Exemplu de TBox (Ian Horrocks)

Page 96: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Exemplu de ABox (Ian Horrocks)

o ontologie OWL e echivalentă cu o bază de cunoștințe DL TBox + ABox

Page 97: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Axiomele TBox sunt de două tipuri:

“definiții”

C ⊑ D sau C D, unde C reprezintă un nume de concept

Page 98: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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)

Page 99: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

O interpretare I satisface – modelează – o axiomă AI ⊨ A dacă:

Page 100: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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

Page 101: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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 ∅

Page 102: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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

Page 103: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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

Page 104: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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

Page 105: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

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ă laconsistența conceptelor (concept consistency)

Page 106: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Verificarea formală a consistenței e utilă pentru

proiectarea și mentenanța de ontologii

semnificative – toate clasele pot avea indivizicorecte – exprimă intuițiile experților domeniului

minimal redundante – nu există sinonime nedoriteaxiomatizate – există (suficiente) descrieri detaliate

conform Horrocks (2005)

Page 107: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Verificarea formală a consistenței e utilă pentru

oferirea de răspunsuri privind clasele/indivizii

găsirea claselor mai generale/particulareextragerea de indivizi conform unei interogări date

conform Horrocks (2005)

Page 108: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Pentru verificarea satisfiabilității (consistenței) se pot utiliza algoritmi de tip tablou

(tableaux algorithms)

Francesco M. Donini & Fabio Massacci, 2000Jan Hladik & Jörg Model, 2004

Ian Horrocks & Ulrike Sattler, 2005

Page 109: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.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

Page 110: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Conceptul C este descompus la nivel sintactic

se folosesc conceptele complexe și axiomele din TBox

Page 111: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Se aplică regulile de expandare a tabloului(tableau expansion rules)

se deduc constrângerile asupra elementelor modelului

Page 112: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Regulile de tip tabloucorespund constructorilor din logică

de exemplu: ⊓, ⊔ etc.

unele reguli sunt nedeterministe – e.g., ⊔, ≤

în practică, aceasta înseamnă căutare

Page 113: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

Ne oprim când nu mai pot fi aplicate reguli oriapare un conflict (clash)

conflictul reprezintă o contradicție evidentă

de exemplu: A(x), ¬ A(x)

pentru terminare, poate fi necesarăverificarea ciclurilor (blocarea – blocking)

Page 114: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics

C este satisfiabil iffregulile pot fi aplicate astfel încât

este construit un arbore complet expandatfără conflicte

Page 115: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – exemplu (Horrocks)

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 }

Page 116: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – exemplu

fapte privitoarela indivizi

Page 117: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – exemplu

expandare

Page 118: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – exemplu

expandare

Page 119: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – exemplu

conflict!

Page 120: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – exemplu

pentru a nu exista contradicții, înseamnă că Mary trebuie să aibă un copil doctor

Page 121: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Person ⊓ hasChild.(Doctor ⊔ hasChild.Doctor)

<owl:Class><owl:intersectionOf rdf:parseType="Collection"><owl:Class rdf:about="#Person"/><owl:Restriction>

<owl:onProperty rdf:resource="#hasChild"/><owl:toClass rdf:resource="#PersonWithChildDoctor"/>

</owl:Restriction></owl:intersectionOf></owl:Class>

<owl:Class rdf:ID="DoctorWithChildDoctor"><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Doctor"/><owl:Restriction>

<owl:onProperty rdf:resource="#hasChild"/><owl:hasClass rdf:resource="#Doctor" />

</owl:Restriction></owl:unionOf>

</owl:Class>de la formule exprimate via logicile descrierii

la sintaxa XML a limbajului OWL

Page 122: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Person ⊓ hasChild.(Doctor ⊔ hasChild.Doctor)

<owl:Class><owl:intersectionOf rdf:parseType="Collection"><owl:Class rdf:about="#Person"/><owl:Restriction>

<owl:onProperty rdf:resource="#hasChild"/><owl:toClass rdf:resource="#PersonWithChildDoctor"/>

</owl:Restriction></owl:intersectionOf></owl:Class>

<owl:Class rdf:ID="DoctorWithChildDoctor"><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Doctor"/><owl:Restriction>

<owl:onProperty rdf:resource="#hasChild"/><owl:hasClass rdf:resource="#Doctor" />

</owl:Restriction></owl:unionOf>

</owl:Class>de la formule exprimate via logicile descrierii

la sintaxa XML a limbajului OWL

Page 123: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – exemplificare

Specificarea grafică a unei ontologii (Franconi, 2003):

Page 124: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

description logics – exemplificare

“Rescrierea” ontologiei în termeni logici:

Page 125: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

Sistemele de reasoning bazate pe logicile descrieriioferă premisele realizării de inferențe

în mod automat

Page 126: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

Exemplul 1 – hoțul și călătorul fără biletprimul 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>

] .

Page 127: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

Exemplul 1 – hoțul și călătorul fără biletalt 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>

] .

Page 128: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

Exemplul 1 – hoțul și călătorul fără biletpoliț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 ;

rdfs:domain :Infractiune ; rdfs:range :Suspect .

:Suspect rdfs:subClassOf :Cetatean .

:Cetatean rdfs:subClassOf foaf:Person .

<http://www.persoane.ro#LödiGogo"> a foaf:Person ;

owl:sameAs <http://www.persoane.ro#JustinBip"> .

TBox

ABox

Page 129: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

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ă posibilitateade a exprima faptul că două resurse – e.g., clase,

proprietăți, instanțe – sunt identice

Page 130: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

Exemplul 2 – achiziționarea unui aparat foto

Aplicație Web recomandândcumpărături

online

“Trimite-mi catalogulde produse”

<Nikon_D7000> a :DSLR ;

:sensor "16.2"^^xsd:float ;

:lens [ :min "18"^^units:mm ;

:max "55"^^units:mm ] ;

gr:hasPriceSpecification …

Can a take a photo with this?

“Iată catalogul...”(date RDF)

inspirat de (Costello et al., 2003)

1

2

3

situl Web al magazinului

Page 131: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

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 .

<Nikon_D7000> a :DSLR .

Camera

DSLR Point-and-Shot Analogue

Page 132: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

Exemplul 2 – achiziționarea unui aparat foto

ontologiile exprimate în OWL pot conduce ladescoperirea 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

Page 133: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

Exemplul 3 – locul de naștere a regelui Kamehamehafapt: î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>

Page 134: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe

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 uneirelații dintre o resursă și o alta – în acest caz, exact una

Page 135: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe: studiu de caz

Recurgerea la un reasoner– e.g., FaCT++ sau HermiT incluse în Protégé –pentru deducția diverselor aspecte privitoare

la un model conceptual

Page 136: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

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): ABox

nivelul conceptual (cunoștințe): TBox

Page 137: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

deduceri automate pe baza faptelor exprimate

Page 138: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferențe: studiu de caz

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/

Page 139: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de caz

deducerea faptelor referitoare la clasa Proprietar

(aici, supraclasele și indivizii aparținând clasei)

Page 140: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de caz

obținerea claselor complementare cu una specificată

clasa entităților carenu aparțin clasei Femeie

Page 141: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busacoentitățile care sunt rude cu măcar o femeie

deducțiipe baza relațiilor

Page 142: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de caz

exprimareaintersecțiilor de clase

clasa entităților ce dețin măcar o resursă

multimedia și sunt femei

Page 143: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de cazclasa entităților care dețin

măcar o resursămultimedia și sunt bărbați

Page 144: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de caz

exprimarea intervalului(range-ului) unei relații

clasa resurselormultimedia

deținute de o femeie

Page 145: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de caz

specificarea de valoriîn contextul relațiilor

clasa resurselormultimedia

deținute de Anca

Page 146: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de caz

expresii de clasămai complexe

Page 147: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de caz

exprimarea cardinalității

clasa entităților în relațiede rudenie cu un bărbat șicare dețin minim 1 video

Page 148: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de caz

clasa entităților deținute de un individsau care aparțin unei clase date

Page 149: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

inferente: studiu de cazFluent Editor permite deducții

pentru ontologii modelate în limbaj natural

“No male is a female”: male ⊑ ¬(female)

Page 150: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

concluzii

Implementările actuale bazate pe OWL DLbeneficiază de cercetările

din domeniul logicilor descrierilor

Page 151: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

concluzii

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

Page 152: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rezumat

OWL 2logicile descrierii + baze de cunoștințe

suportul pentru raționamente automate

Page 153: Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Logicile descrierii. Raţionamente automate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

❄❄

❄❄

❄❄

episodul viitor: vacanța de iarnă ☃