170
Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea aplicațiilor Web modelarea cunoștințelor la nivel de Web ontologii exprimate prin OWL

WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Embed Size (px)

Citation preview

Page 1: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

Dezvoltarea aplicațiilor Web

Ⰶmodelarea cunoștințelor la nivel de Web

ontologii exprimate prin OWL

Page 2: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

“Cine deschide toate porțile,le poate închide pe toate.”

Antonio Porchia

Page 3: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 4: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

necesitate

Existența unui set comun de constrângeri

Page 5: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

necesitate

Existența unui cadru conceptual unanim acceptatoferind relații între clase

de date/informații/cunoștințe

Page 6: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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)

Page 7: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co:andrei a foaf:Person .

:andrei foaf:givenname "Andrei"@ro .

:andrei :teach :WebLab .

:WebLab :isPartOf :Web .

:Web a :Discipline .

:andrei a :PhDStudent .

:andrei :enrolledAt :PhDSchool .

:PhDSchool 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 .

“Andrei predă laboratorul materiei Tehnologii Web.Andrei e student doctorand în Computer Science.”

Page 8: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co:andrei a foaf:Person .

:andrei foaf:givenname "Andrei"@ro .

:andrei :teach :WebLab .

:WebLab :isPartOf :Web .

:Web a :Discipline .

:andrei a :PhDStudent .

:andrei :enrolledAt :PhDSchool .

:PhDSchool 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 .

“Andrei predă laboratorul materiei Tehnologii Web.Andrei e student doctorand în Computer Science.”

adnotaresemantică(explicită)

Page 9: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

necesitate

Un limbaj de modelare complexă a cunoștințelor gestionate de o aplicație Web

Page 10: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

soluție

Modelarea cunoștințelor via ontologii

Page 11: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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)

Page 12: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 13: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii

Scop:

conceptualizări complexeale unui domeniu de interes

Page 14: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii

Subiectul ontologiei este studiul categoriilorde lucruri (things) care există sau pot exista

în cadrul unui domeniu de interes

John Sowa, 2001

Page 15: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 16: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 17: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 18: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 19: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 20: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

Adam Pease, 2007 citând C.K. Ogden/I.A. Richards (1923)

Page 21: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

rolul ontologiilor (Jerry Hobbs, Eurolan 2003)

Teorie abstractă

Vocabular comun

Aplicația A

Aplicația B

Limbaj(e) de modelare/marcare

Page 22: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

rolul ontologiilor (Jerry Hobbs, Eurolan 2003)

stabilește înțelesulconceptelor (termenilor)

vocabularului comun

Teorie abstractă

Vocabular comun

Aplicația A

Aplicația B

Limbaj(e) de modelare/marcare

Page 23: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 24: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii

Folosind ontologii, asociem semantici„lucrurilor” despre care „vorbim”

descrierile semantice „ajută” calculatoarelesă pară „smart”

Page 25: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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,…

Page 26: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 27: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – tipuri

Ontologii informale versus formale

(de la limbaj natural la logică)

Page 28: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – tipuri

Ontologii formale:

axiomaticesau

bazate pe prototipuri

Page 29: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 30: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – tipuri

Conform nivelului de descriere oferit:

vocabular

de exemplu, specificare via o schemă XML

Page 31: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 32: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 33: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – tipuri

Conform nivelului de descriere oferit:

sistem relațional

schemă de baze de date

Page 34: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 35: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – tipuri

După scopul & contextul utilizării:

ontologii specializate

industria de automobile, aeronautica,biologie (GO – Gene Ontology),

comerț electronic (GoodRelations), muzică (MO – Music Ontology),

ontologia proceselor (serviciilor Web) OWL-Setc.

Page 36: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

modelul conceptual al sistemului GitHub

Page 37: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – tipuri

După scopul & contextul utilizării:

ontologii generale

CycOpenCyc

SUMO (Suggested Upper Merged Ontology)UMBEL (Upper Mapping and Binding Exchange Layer)

Page 38: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – tipuri

După scopul & contextul utilizării:

ontologii intermediare – mid-level

exemplificare: MILO (MId-Level Ontology)

Page 39: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 40: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii

Aspecte de interes – inginerie(Gasevic, Djuric & Devedzic, 2009)

modelarecolaborare

interoperabilitateeducație

detalii în viitoarele cursuri

Page 41: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii

YAGO (Yet Another Great Ontology)modelează entități (abstracte); utilizare în cadrul DBpedia

http://yago-knowledge.org/

Page 42: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii

o reprezentare SVG a unei resurse YAGO (versiunea 2)inclusiv specificarea de relații via RDFS și SKOS

Page 43: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii

spotpx – interfață Web de interogare YAGOîn acest caz: lista oamenilor de știință născuți după 1933 în jurul orașului Paris care au primit premiul Nobel în chimie

necesitatea dezambiguizării(e.g., Paris poate fi

o localitate din USA)

Page 44: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – alte exemple

ODOL (Object-oriented software Design Ontology)folosită la reprezentarea șabloanelor de proiectare

PersonaOnto (Ș. Negru & S. Buraga, 2012)modelează personas

http://blankdots.com/open/personasonto.html

Ontologiile BBC din domeniul mass-mediahttp://www.bbc.co.uk/ontologies

Page 45: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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)

Page 46: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 47: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 48: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

O ontologie va include:

categoriile, clasele, conceptele fundamentale

proprietățile asociate conceptelor

relațiile dintre concepte

Page 49: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 50: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 51: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Specificarea categoriilor/conceptelor

criteriile de stabilire a conceptelor sunt complexe

experiența are un rol foarte important

Page 52: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Clasele (categoriile)de nivel cel mai înalt

ale ontologiei Cyc

Noy & Hafner, 1997

Page 53: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Categorii de nivel înalt – cazul SUMO (Adam Pease, 2007)Entity

Physical

Object

SelfConnectedObject

Substance

CorpuscularObject

Region

Collection

Process

Abstract

Page 54: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Specificarea proprietăților

proprietate atribut

proprietate slot/frameîn inteligența artificială

Page 55: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Specificarea proprietăților

proprietate = relație binară care poate preciza fapteprivitoare la membrii unei clase (indivizi)

Page 56: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 57: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Specificarea proprietăților

o proprietate se poate referi la:

tipuri de date – datatype property

sau

obiecte – object property

Page 58: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Specificarea proprietăților – exemplu de frame

Claudia: Person

vârstă

ocupație

25

PhDStudent

cardinality: 1

ocupație WebDeveloper

… …

Page 59: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Specificarea proprietăților – exemplu de frame

Claudia: Person

vârstă

ocupație

25

PhDStudent

cardinality: 1

ocupație WebDeveloper

… …

datatypeproperty

objectproperty

o persoană are o singură vârstă, dar poate avea

un număr arbitrar de ocupații

Page 60: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

web.htmlpurl.org/net

/busaco

dc:Creator

Page 61: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Specificarea relațiilor

pentru organizarea/ilustrarea categoriilorse folosesc arborii și grafurile

Page 62: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

ontologii – specificare

Specificarea relațiilor – cazul WordNet

relațiile pot fi de:hiperonimie – „general-specific”

meronimie – „parte-întreg”antonimie

Page 63: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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)

Page 64: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

Cum exprimăm ontologiile la nivel de Web?

Page 65: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 66: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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/

Page 67: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 68: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL 1: niveluri

OWL DL (Description Logics)

oferă maximum de expresivitate,fără pierderea completitudinii și decidabilității

Page 69: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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ă

Page 70: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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)

Page 71: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 72: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL 1: niveluri

OWL Lite OWL DL OWL Full

Page 73: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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,…)

Page 74: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL

Sintaxă:

„abstractă”

corespunde modelului logicilor descrierii

e.g., sintaxa funcțională, sintaxa Manchester

Page 75: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL

O ontologie OWL este compusă în principal din:

clase

proprietăți

relații

Page 76: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

eventual, pot fi precizate:instanțe de clase

axiomeadnotări și importuri

Page 77: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL

Fiecare ontologie va fi identificată de un URI unic

FOAF: http://xmlns.com/foaf/0.1/

Gene Ontology: http://purl.org/obo/owl/GO

Music Ontology: http://purl.org/ontology/mo/

PersonasOnto: http://blankdots.com/open/personasonto.owl

Sport Ontology: http://www.bbc.co.uk/ontologies/sport/

Page 78: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 79: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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)

Page 80: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL

Nu se impune a-priori o cunoaștere completăa domeniului de interes

ipoteza lumii deschise(open world assumption)

Page 81: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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”

Page 82: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 83: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 84: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 .

Page 85: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 86: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 87: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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>

Page 88: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea claselor

Exemplu:resursele video nu sunt lumi virtuale, nici executabile

Class: Video

SubClassOf: Multimedia

DisjointWith: LumiVirtuale

DisjointWith: Executabile

sintaxaManchester

Page 89: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 90: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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)

Page 91: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 92: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 93: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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>

Page 94: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea claselor

inspectarea claselor cu instrumentul Protégéhttp://protege.stanford.edu/

Page 95: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 .

Page 96: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea claselor

Având două clase echivalente, înseamnă că vor avea doar aceeași membri

Page 97: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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)

Page 98: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietăților

Proprietăți = relații binare ce specifică fapteprivitoare la membrii unei clase sau la indivizi

Page 99: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 100: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 101: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 .

Page 102: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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>

Page 103: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 104: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietăților

Proprietățile pot includesub-proprietăți (specializări)

definitevia RDF Schema

Page 105: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietăților

Proprietățile pot includesub-proprietăți (specializări)

…și pot avea specificate caracteristici „speciale”

definitevia RDF Schema

Page 106: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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.”

Page 107: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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ă.”

Page 108: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietăților

De remarcat faptul că unele dintre proprietățilespecificate de OWL – e.g., owl:equivalentClass –

sunt simetrice

Page 109: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 110: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietăților

ReviewerOf este sub-proprietate a lui foaf:knows șieste inversa proprietății ReviewedBy

(Ciprian Amariei, 2007)

Page 111: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 112: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 113: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietăților

Definirea unei proprietăți tranzitive – exemplu:

:utilizează a owl:TransitiveProperty ,

owl:ObjectProperty ;

owl:inverseOf :utilizatDe .

Page 114: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietăților

O proprietate mai poate fi definită ca fiind:invers funcțională

anti-simetricăreflexivă

anti-reflexivă

Page 115: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietatilor

relația rudaCu este simetrică și reflexivă

Page 116: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea proprietăților

Folosind owl:equivalentProperty se poate defini că două proprietăți sunt echivalente

Page 117: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea indivizilor

Un individ (membru) al unei clasese declară ca aparținând clasei respective

Page 118: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 119: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 .

Page 120: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea indivizilor

Echivalența între indivizi se realizeazăprin owl:sameAs

se poate folosi și owl:differentFrom

Page 121: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

:ancuta rudaCu :eugen .

:ancuta owl:sameAs :anca .

Page 122: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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>

Page 123: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea indivizilor

Pentru a defini colecții de indivizi distincți, se utilizează owl:distinctMembers

Page 124: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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>

Page 125: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – FOAF

Specificarea în OWL a vocabularului FOAFhttp://xmlns.com/foaf/spec/

Page 126: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 .

Page 127: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – FOAF

Page 128: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – FOAF

Lista claselor FOAF(Dan Brickley & Libby Miller, 2014)

Agent Document Group Image OnlineAccount

OnlineChatAccount OnlineEcommerceAccount

OnlineGamingAccount Organization Person

PersonalProfileDocument Project

Page 129: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 .

Page 130: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 .

Page 131: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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,…

Page 132: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – FOAF

Lista proprietăților vizând informații personale(Dan Brickley & Libby Miller, 2014)

weblog knows interest currentProject pastProject plan

based_near workplaceHomepage workInfoHomepage

schoolHomepage topic_interest publications geekcode

myersBriggs dnaChecksum

Page 133: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

www.commontag.org

Page 134: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 135: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 136: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 .

Page 137: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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://seevl.fm/entity/3v2HbhVZ"

property="ctag:label" content="Portishead"/>

</div>

<img id="resursa" src="…" alt="Formația Portishead" />

înțelesul termenului „Portishead”este cel dat de situl seevl.fm

Page 138: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – DBpedia

Cum sunt modelate resursele Wikipedia,disponibile în RDF prin intermediul DBpedia?

Page 139: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 140: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – DBpedia

4 scheme de clasificare:

YAGO – Yet Another Great Ontology (versiunea 2)pe baza asocierii dintre categoriile-frunză Wikipedia și

mulțimile de sinonime (synsets) WordNet

J. Hoffart et al., “YAGO2: A Spatially and Temporally Enhanced Knowledge Base from Wikipedia”, AI Journal (2012) – http://tinyurl.com/azkqee7

Page 141: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – DBpedia

4 scheme de clasificare:

UMBEL (Upper Mapping and Binding Exchange Layer)http://umbel.org/

ontologie creată cu scopul interconectării datelordisponibile pe Web, derivată din OpenCyc

28 de mii de concepte organizate în 33 de „super” tipuri60 de mii de relații

Page 142: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

UMBEL – model conceptual facilitând interoperabilitateaacces via API-uri Clojure/Java

Page 143: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – DBpedia

4 scheme de clasificare:

DBpedia Ontology – http://dbpedia.org/ontology/

685 de clase + 2795 de proprietăți4233000 de instanțe

model creat manual pe baza template-urilor Wikipedia

detalii la http://wiki.dbpedia.org/Ontology

Page 144: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – FOAF

C. Bizer et al., “DBpedia – A Crystallization Point for the Web of Data” (2009)

Page 145: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – DBpedialista claselor specificate

de ontologia DBpedia(fragment)

Page 146: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – DBpedia

lista proprietăților DBPedia (fragment)

detalii la http://wiki.dbpedia.org/Datasets/Properties

Page 147: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – DBpedia

Interconectarea datelor via owl:sameAs

SELECT ?resursa

WHERE {

<http://dbpedia.org/resource/Romania> owl:sameAs ?resursa

}

obținerea resurselor privitoare la Romaniape baza unei interogări SPARQL

Page 148: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: studiu de caz – DBpedia

Interconectarea datelor via owl:sameAs

<http://dbpedia.org/resource/Romania> owl:sameAs

<http://rdf.freebase.com/ns/m.06c1y> ;

<http://linkedgeodata.org/triplify/node432425064> ;

<http://eurostat.linked-statistics.org/dic/c_ctrl#RO> ;

<http://sw.cyc.com/concept/Mx4rvViC8ZwpEbGdrcN5Y29ycA> .

Freebase

Eurostat

OpenCyc

astfel, pot fi realizate reconcilieri între modele conceptuale

Page 149: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

Putem impune restricții suplimentaremodelului de cunoștințe descrise în OWL?

Page 150: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea restricțiilor

Restricțiile sunt considerate clasedefinite prin descrierea proprietăților indivizilor

pe care-i pot include

Page 151: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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ă

Page 152: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea restricțiilor

Restricțiile impuse proprietățilortrebuie să apară în cadrul elementelor

owl:Restriction și owl:onProperty

Page 153: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea restricțiilor

Tipuri de restricții:

asupra valorilorallValuesFrom, someValuesFrom, hasValue

privitoare la cardinalitatecardinality, minCardinality, maxCardinality

Page 154: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 ]

Page 155: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 ]

Page 156: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 ]

Page 157: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 ]

Page 158: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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>

Page 159: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL: specificarea restricțiilor

Exemplu: clasa persoanelor vegetariene

știind că Alex este vegetarian și consumă spanac:alex a :Vegetarian .

:alex :consuma :spanac .

…se poate deduce faptul că spanaculaparține clasei vegetalelor:

:spanac a :Vegetala .

Page 160: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 161: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 162: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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 ] .

Page 163: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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”

Page 164: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 165: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

OWL

Aspect important:clasele și proprietățile pot avea „definiții” multiple

AAA – Anyone can say Anything about Any topic

Page 166: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 167: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 168: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/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

Page 169: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

rezumat

Ⰶmodelarea cunoștințelor

ontologii specificate în OWL 1.0

Page 170: WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

episodul viitor: OWL 2.0

+formalizare și baze de cunoștințe