SlideShare a Scribd company logo
1 of 170
Download to read offline
Dr. Sabin Buragawww.purl.org/net/busaco

Dezvoltarea aplicațiilor Web

modelarea cunoștințelor la nivel de Web
ontologii exprimate prin OWL
Antonio Porchia

Dr. Sabin Buragawww.purl.org/net/busaco

“Cine deschide toate porțile,
le poate închide pe toate.”
Existența unui vocabular partajabil
elementele sintactice (cuvintele, marcatorii etc.)
au același înțeles atât pentru transmițător,
cât și pentru destinatar

Dr. Sabin Buragawww.purl.org/net/busaco

necesitate
Existența unui set comun de constrângeri

Dr. Sabin Buragawww.purl.org/net/busaco

necesitate
Existența unui cadru conceptual comun
oferind relații între clase
de date/informații/cunoștințe

Dr. Sabin Buragawww.purl.org/net/busaco

necesitate
Existența unui cadru conceptual comun
oferind relații între clase
de date/informații/cunoștințe
înțelegerea – automată (de dorit) – a informațiilor
nu va fi influențată de anumite cunoștințe inițiale
(unspecified background knowledge)

Dr. Sabin Buragawww.purl.org/net/busaco

necesitate
“Andrei predă laboratorul materiei Tehnologii Web.
Andrei e student doctorand în Computer Science.”
a
foaf:givenname
:teach
:isPartOf
a
a
:enrolledAt
rdfs:subClassOf
rdfs:subClassOf
:providedBy
a
foaf:homepage
a

foaf:Person .
"Andrei"@ro .
:WebLab .
:Web .
:Discipline .
:PhDStudent .
:PhDSchool .
:PostgradStudies .
:FIIStudies .
:FII .
:Faculty , foaf:Agent .
<http://www.infoiasi.ro> .
skos:Concept .

Dr. Sabin Buragawww.purl.org/net/busaco

:andrei
:andrei
:andrei
:WebLab
:Web
:andrei
:andrei
:PhDSchool
:PostgradStudies
:FIIStudies
:FII
:FII
:Academic
“Andrei predă laboratorul materiei Tehnologii Web.
Andrei e student doctorand în Computer Science.”
a
foaf:givenname
:teach
:isPartOf
a
a
:enrolledAt
rdfs:subClassOf
rdfs:subClassOf
:providedBy
a
foaf:homepage
a

foaf:Person .
"Andrei"@ro .
adnotare
:WebLab . semantică
:Web .
(explicită)
:Discipline .
:PhDStudent .
:PhDSchool .
:PostgradStudies .
:FIIStudies .
:FII .
:Faculty , foaf:Agent .
<http://www.infoiasi.ro> .
skos:Concept .

Dr. Sabin Buragawww.purl.org/net/busaco

:andrei
:andrei
:andrei
:WebLab
:Web
:andrei
:andrei
:PhDSchool
:PostgradStudies
:FIIStudies
:FII
:FII
:Academic
Un limbaj de modelare complexă a cunoștințelor
gestionate de o aplicație Web

Dr. Sabin Buragawww.purl.org/net/busaco

necesitate
Modelarea cunoștințelor via ontologii

Dr. Sabin Buragawww.purl.org/net/busaco

soluție
Ontologia = teorie privitoare la existență
„ramură a filosofiei care studiază
trăsăturile ființei, existența”
(Hoklenium, 1613)
ontos (ființă, existență) + logos (studiu)

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
O ontologie reprezintă conceptualizarea
unui domeniu de cunoaștere
într-un format destinat a fi procesat de calculator,
format modelând
entități, atribute, relații și axiome

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Scop:

conceptualizări complexe
ale unui domeniu de interes

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Subiectul ontologiei este studiul categoriilor
de lucruri (things) care există sau pot exista
în cadrul unui domeniu de interes

John Sowa, 2001

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Dr. Sabin Buragawww.purl.org/net/busaco

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
“Ontology is a set of knowledge terms,
including the vocabulary,
the semantic interconnections,
and some simple rules of inference and logic
for some particular topic.”
James Hendler, 2001

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Dr. Sabin Buragawww.purl.org/net/busaco

ontologii

“A rigorous and exhaustive organization of some
knowledge domain that is usually hierarchical and
contains all the relevant entities and their relations.”
WordNet
Ontologie  catalog de tipuri de lucruri
care se presupune că există într-un domeniu
de interes D (domain) din perspectiva
unei persoane care utilizează un limbaj L
cu scopul de a discuta despre D

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Tipurile din ontologie reprezintă predicatele,
sensurile cuvintelor sau conceptele și
relațiile din cadrul limbajului L,
atunci când este utilizat pentru a discuta
despre domeniul D

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Dr. Sabin Buragawww.purl.org/net/busaco

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

Aplicația
A

Aplicația
B

Limbaj(e) de
modelare/marcare

rolul ontologiilor (Jerry Hobbs, Eurolan 2003)

Dr. Sabin Buragawww.purl.org/net/busaco

Teorie abstractă
Teorie abstractă

Vocabular comun

Aplicația
A

Aplicația
B

Limbaj(e) de
modelare/marcare

rolul ontologiilor (Jerry Hobbs, Eurolan 2003)

Dr. Sabin Buragawww.purl.org/net/busaco

stabilește înțelesul
conceptelor (termenilor)
vocabularului comun
Folosind ontologii, asociem semantici
“lucrurilor” despre care “vorbim”
relație

exemplu: un framework Web este o componentă software
care facilitează dezvoltarea unui sit Web
categorie
(clasă)

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Folosind ontologii, asociem semantici
“lucrurilor” despre care “vorbim”
descrierile semantice “ajută” calculatoarele
să pară “smart”

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Folosind ontologii, asociem semantici
“lucrurilor” despre care “vorbim”
un program “smart” ar trebui să fie capabil să realizeze
aceleași inferențe pe care le fac (unii) oameni

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii

e.g., dacă Meteor este framework Web, atunci este
componentă softwarenecesită un mediu de execuție și
oferă suport pentru diverse tehnologii Web: URI, HTTP,…
Siri – asistent digital personal mobil
(Tom Gruber, 2010; Apple, din 2011)
bazat pe modele semantice privind domenii + activități
recurge la servicii (API-uri) publice de interes
manifestă o interacțiune naturală cu utilizatorul

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – exemplificare
Ontologii informale versus formale
(de la limbaj natural la logică)

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
Ontologii formale:
axiomatice
sau

bazate pe prototipuri

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
Ontologii formale:
axiomatice
disting sub-tipurile prin axiome și definiții
specificate într-un limbaj formal (logic)

bazate pe prototipuri

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri

disting sub-tipurile prin comparația cu un membru tipic
ori specificând un prototip pentru fiecare sub-tip în parte
Conform nivelului de descriere oferit:

vocabular

de exemplu, specificare via o schemă XML

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
Conform nivelului de descriere oferit:

taxonomie – relații de clasificare (is-a)
vedere ierarhică a conceptelor
(clase, sub-clase, supra-clase)
modelare prin RDF Schema
vezi cursul
precedent

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
Conform nivelului de descriere oferit:

lexicon = taxonomie + termeni înrudiți

(via relații de echivalență, ierarhii, asocieri etc.)

modelare prin SKOS
vezi cursul
precedent

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
Conform nivelului de descriere oferit:

sistem relațional

schemă de baze de date

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
Conform nivelului de descriere oferit:

teorie axiomatică

(constrângeri  axiome)

axiomă  enunț logic ce nu poate fi dedus din altele,
dar poate fi folosit pentru demonstrarea altora

Dr. Sabin Buragawww.purl.org/net/busaco

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-S
etc.

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
modelul conceptual al sistemului GitHub
Dr. Sabin Buragawww.purl.org/net/busaco
După scopul & contextul utilizării:
ontologii generale
Cyc
OpenCyc
SUMO (Suggested Upper Merged Ontology)
UMBEL (Upper Mapping and Binding Exchange Layer)
…

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
După scopul & contextul utilizării:
ontologii intermediare – mid-level
exemplificare:
MILO (MId-Level Ontology)

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri
De nivel cel mai înalt
(top-level, upper-level) – cele mai generale

Specifice unui domeniu
(domain-related) – verticale

Specifice unor sarcini
(task-related) – orizontale

Specifice unei aplicații
(application-related) – apelează la ontologii verticale
și/sau orizontale

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – tipuri (Guarino, 1998)
Aspecte de interes – inginerie
(Gasevic, Djuric & Devedzic, 2009)

modelare
colaborare
interoperabilitate
educație
detalii în
viitoarele cursuri

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
Dr. Sabin Buragawww.purl.org/net/busaco

ontologii

YAGO (Yet Another Great Ontology)
modelează entități (abstracte); utilizare în cadrul DBpedia
http://yago-knowledge.org/
o reprezentare SVG a unei resurse YAGO (versiunea 2)
inclusiv specificarea de relații via RDFS și SKOS

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii
necesitatea dezambiguizării
(e.g., Paris poate fi
o localitate din USA)

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – alte exemple
Componente distincte:
nume privind cele mai importante concepte
ale domeniului de cunoaștere modelat
cunoștințe anterioare – de “background” –
sau constrângeri ale domeniului
(eventual, specificate cu ajutorul axiomelor)

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Crocodil reprezintă un concept având ca membri
animale ce prezintă anumite caracteristici
Ierbivor este un concept privitor la
animale care consumă doar plante ori părți de plante
Orice membru al clasei Crocodil este vorace

Un animal nu poate fi simultan Ierbivor și Carnivor

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare: exemplu (1)
Warrior desemnează un concept privitor
la un anumit tip de personaj al unui joc electronic
Human referă un personaj uman având o anumită rasă
– disjunct de Elf, Goblin și Orc – și care poate utiliza
doar arme dintr-o anumită categorie
Orice membru al clasei Warrior poate folosi MagicPotion
Echipamentul purtat de personajele din clasa Orc
include instanțe ale clasei BarbarianEquipment

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare: exemplu (2)
O ontologie va include:
categoriile, clasele, conceptele fundamentale
proprietățile asociate conceptelor
relațiile dintre concepte

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Reprezentări uzuale ale ontologiilor:
limbaje logice: Prolog & familia (Golog, ConGolog)
KIF (Knowledge Interchange Format)
CL (Common Logic)
diagrame UML
DL (logici ale descrierii – description logics)
limbaje utilizate în contextul Web: RDFS, OWL
specificații vizuale

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea categoriilor/conceptelor
categorie  domeniu
în teoria bazelor de date
categorie  tip/sort
în inteligența artificială
categorie  clasă
în cazul ontologiilor Web

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea categoriilor/conceptelor
criteriile de stabilire a conceptelor sunt complexe
experiența are un rol foarte important

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Clasele (categoriile)
de nivel cel mai înalt
ale ontologiei Cyc

Noy & Hafner, 1997

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Categorii de nivel înalt – cazul SUMO (Adam Pease, 2007)
Entity
Physical
Object
SelfConnectedObject
Substance
CorpuscularObject
Region
Collection
Process
Abstract
Specificarea proprietăților
proprietate  atribut
proprietate  slot/frame
în inteligența artificială

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea proprietăților
proprietate = relație binară care poate preciza fapte
privitoare la membrii unei clase (indivizi)

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea proprietăților
proprietate = relație binară care poate preciza fapte
privitoare la membrii unei clase (indivizi)

diferențiază un concept de altul
în unele cazuri, pot fi definite și sub-proprietăți

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea proprietăților
o proprietate se poate referi la:
tipuri de date – datatype property
sau

obiecte – object property

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea proprietăților – exemplu de frame
Claudia: Person

vârstă
ocupație

25 cardinality: 1
PhDStudent

ocupație

WebDeveloper

…

…

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea proprietăților – exemplu de frame
Claudia: Person
datatype
property

vârstă
ocupație

25 cardinality: 1
PhDStudent

object
property

ocupație

WebDeveloper

…

…
o persoană are o singură vârstă,
dar poate avea
un număr arbitrar de ocupații

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Modalități de reprezentare vizuală:
Resursă
subiect

Proprietate

dc:Creator
web.html

Resursă
obiect

modelul de date (abstract)
bazat pe RDF Schema/OWL

purl.org/net
/busaco

instanțe (aici, adoptând
vocabularul DCMI,
pe baza modelului RDF)

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea relațiilor
pentru organizarea/ilustrarea categoriilor
se folosesc arborii și grafurile

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Specificarea relațiilor – cazul WordNet
relațiile pot fi de:
hiperonimie – “general-specific”
meronimie – “parte-întreg”
antonimie

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii – specificare
Ontologie

Limbaj (natural)

expandabilă
independentă de limbaj
procesabilă de către mașină

înțeles de oameni
ambiguu

Cunoștințe
se modifică rapid (“perisabile”)
pot exprima local un “lucru”
conform Adam Pease (2007)

Dr. Sabin Buragawww.purl.org/net/busaco

ontologii vs. limbaj vs. cunoștințe
Dr. Sabin Buragawww.purl.org/net/busaco

Cum exprimăm ontologiile la nivel de Web?
Web Ontology Language
scop:
facilitarea interpretării de către software
a conținutului informațional
utilizează modelul RDF și RDF Schema

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
OWL 1.0
recomandare W3C (2004) – 6 părți
www.w3.org/TR/owl-guide/

OWL 2.0
recomandare W3C (2009, 2012) – 13 părți
www.w3.org/TR/owl2-overview/
www.w3.org/TR/owl2-primer/

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
OWL Lite
folosit pentru exprimarea ierarhiilor de clasificare și
a unor constrângeri de bază
facilitează realizarea de raționamente simple

Dr. Sabin Buragawww.purl.org/net/busaco

OWL 1: niveluri
OWL DL (Description Logics)
oferă maximum de expresivitate,
fără pierderea completitudinii și decidabilității

Dr. Sabin Buragawww.purl.org/net/busaco

OWL 1: niveluri
OWL DL (Description Logics)
oferă maximum de expresivitate,
fără pierderea completitudinii și decidabilității
completitudine = orice propoziție supusă regulilor de
deducție poate fi demonstrată
decidabilitate = mulțimea formulelor (teoremelor)
unui sistem logic poate fi efectiv determinată

Dr. Sabin Buragawww.purl.org/net/busaco

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)

Dr. Sabin Buragawww.purl.org/net/busaco

OWL 1: niveluri
OWL Full
oferă maximum de expresivitate și flexibilitate,
fără a se pune problema completitudinii
permite modificarea vocabularelor RDF și OWL

Dr. Sabin Buragawww.purl.org/net/busaco

OWL 1: niveluri
OWL Lite  OWL DL  OWL Full

Dr. Sabin Buragawww.purl.org/net/busaco

OWL 1: niveluri
Sintaxă:
documente RDF
se folosesc formate precum RDF/XML sau Turtle

ușor de procesat, stocat, interogat
(API-uri RDF, triple stores, SPARQL,…)

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
Sintaxă:
“abstractă”
corespunde modelului logicilor descrierii

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

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
O ontologie OWL este compusă în principal din:
clase
proprietăți
relații

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
Dr. Sabin Buragawww.purl.org/net/busaco

eventual, pot fi precizate:
instanțe de clase
axiome
adnotări & importuri
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

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
Fiecare ontologie va fi identificată de un URI unic
URI-ul ontologiei demonstrative utilizate la acest curs:
http://www.semanticweb.org/ontologies/2008/10/SWOnto.owl

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
nivelul conceptual (cunoștințe)

Multimedia
detinutDe

Audio

rdfs:subClassOf

Video

detine
Proprietar

rdf:type

rdf:type
rdf:type

detinutDe

the_eye

detinutDe
detine

ancuta

anca
owl:sameAs

zidul

Dr. Sabin Buragawww.purl.org/net/busaco

rdfs:subClassOf

eugen
rudaCu
nivelul datelor (indivizi)
Nu se impune a-priori o cunoaștere completă
a domeniului de interes
ipoteza lumii deschise
(open world assumption)

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
Nu se impune a-priori o cunoaștere completă
a domeniului de interes
ipoteza lumii deschise
(open world assumption)
unele definiții vor fi considerate “parțiale”

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
O clasă se specifică prin owl:Class
desemnează colecții de indivizi – obiecte, things,... –
în vederea descrierii unei lumi (un web)
reprezintă un “obiect” (“thing”) al lumii

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
O clasă se specifică prin owl:Class
desemnează colecții de indivizi – obiecte, things,... –
în vederea descrierii unei lumi (un web)
reprezintă un “obiect” (“thing”) al lumii

cea mai generală clasă este owl:Thing

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Relația de derivare a claselor
se exprimă via rdfs:subClassOf de la RDF Schema
<owl:Class rdf:ID="Audio">
<rdfs:subClassOf rdf:resource="#Multimedia" />
</owl:Class>
:Audio

a
rdfs:subClassOf

owl:Class ;
:Multimedia .

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Expresii de clasă (class expressions):
reuniune – owl:unionOf
intersecție – owl:intersectionOf
complementară – owl:complementOf
disjuncție – owl:disjointWith

semantica operațiilor e conformă cu teoria mulțimilor

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Expresii de clasă (class expressions):
reuniune – owl:unionOf
intersecție – owl:intersectionOf
complementară – owl:complementOf
disjuncție – owl:disjointWith

se utilizează pentru specificarea unor clase

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Exemplu:
resursele video nu sunt lumi virtuale, nici executabile
<owl:Class rdf:ID="Video">
<rdfs:subClassOf rdf:resource="#Multimedia" />
<owl:disjointWith rdf:resource="#LumiVirtuale" />
<owl:disjointWith rdf:resource="#Executabile" />
</owl:Class>

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Exemplu:
resursele video nu sunt lumi virtuale, nici executabile
Class: Video
SubClassOf:
DisjointWith:
DisjointWith:

Multimedia
LumiVirtuale
Executabile

sintaxa
Manchester

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Implicit, OWL se aliniază ipotezei lumii deschise
cu implicații majore în ceea ce privește
operațiile dintre clase și
realizarea inferențelor referitoare la cardinalitate

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Implicit, OWL se aliniază ipotezei lumii deschise

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor

în unele cazuri, putem specifica exact membrii unei clase,
adoptând – local – ipoteza lumii închise (closed world)
Exemplu: determinarea albumului deținut de o persoană

:AlbumePortishead a owl:Class ;
owl:oneOf ( :Dummy :Portishead :Third ) .
fiecare instanță specificată via owl:oneOf
este membră a clasei respective

Dr. Sabin Buragawww.purl.org/net/busaco

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:oneOf
este membră a clasei respective
știind că :me voc:detine :AlbumePortishead .
se poate deduce faptul că entitatea desemnată de :me
posedă măcar unul dintre ele

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Astfel, o clasă se poate defini
doar prin enumerarea membrilor ei:
<owl:Class rdf:ID="Gen">
<owl:oneOf rdf:parseType="Collection">
<Gen rdf:about="#Masculin"/>
<Gen rdf:about="#Feminin" />
</owl:oneOf>
</owl:Class>

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor

inspectarea claselor cu instrumentul Protégé
http://protege.stanford.edu/
Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Specificarea echivalenței claselor se poate realiza
recurgând la owl:equivalentClass
<owl:Class rdf:ID="Designer">
<owl:equivalentClass rdf:resource="#Proiectant" />
</owl:Class>

:Designer a
owl:Class ;
owl:equivalentClass :Proiectant .
Având două clase echivalente,
înseamnă că vor avea doar aceeași membri

Dr. Sabin Buragawww.purl.org/net/busaco

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

alte proprietăți asociate claselor sunt proprii fiecăreia
(de exemplu, rdfs:label ori rdfs:comment)

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea claselor
Proprietăți = relații binare ce specifică fapte
privitoare la membrii unei clase sau la indivizi

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Proprietăți = relații binare ce specifică fapte
privitoare la membrii unei clase sau la indivizi
se referă la tipurile de date – datatype property
sau
vizează obiectele – object property

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Proprietăți = relații binare ce specifică fapte
privitoare la membrii unei clase sau la indivizi
se referă la tipurile de date – datatype property
sau
vizează obiectele – object property
văzute drept colecții de relații între indivizi/date

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Exemplu: definirea unei proprietăți privitoare la obiecte
care 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
rdfs:domain
rdfs:range

owl:ObjectProperty ;
:Multimedia ;
:SitMultimedia .

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Exemplificare: definirea unei proprietăți datatype pentru
a desemna relația între resurse și literali
(e.g., valori de date aparținând unor tipuri XML Schema)
<owl:DatatypeProperty rdf:ID="dimensiune">
<rdfs:domain rdf:resource="#Multimedia" />
<rdfs:range rdf:resource=
"http://www.w3.org/2001/XMLSchema#unsignedLong" />
</owl:DatatypeProperty>

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Exemplificare: definirea unei proprietăți datatype pentru
a desemna relația între resurse și literali
(e.g., valori de date aparținând unor tipuri XML Schema)
DataProperty: dimensiune
Domain:
Multimedia
Range:
unsignedLong

sintaxa
Manchester

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Proprietățile pot include
sub-proprietăți (specializări)
definite
via RDF Schema

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Proprietățile pot include
sub-proprietăți (specializări)
definite
via RDF Schema

…și pot avea specificate caracteristici “speciale”

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
O proprietate care nu are decât o singură valoare
pentru fiecare individ – valoarea ei este unică –
se numește proprietate funcțională
<owl:FunctionalProperty rdf:ID="areGen">
<rdfs:domain rdf:resource="#Persoana" />
<rdfs:range rdf:resource="#Gen"
/>
</owl:FunctionalProperty>
„O persoană are doar un singur gen.”

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Dacă resursa A este în relația p cu B și
B este în relația p cu A,
atunci p este o proprietate simetrică
<owl:SymmetricProperty rdf:ID="rudaCu">
<rdfs:domain rdf:resource="#Persoana" />
<rdfs:range rdf:resource="#Persoana" />
</owl:SymmetricProperty>
„Relația de rudenie între persoane este simetrică.”

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
De remarcat faptul că unele dintre proprietățile
specificate de OWL – e.g., owl:equivalentClass –
sunt simetrice

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Proprietăți inverse
dacă proprietatea p este inversa lui q
și A este în relația p cu B,
atunci se poate deduce că B este în relația q cu A
se folosește construcția owl:inverseOf

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
ReviewerOf este sub-proprietate a lui foaf:knows și
este inversa proprietății ReviewedBy
(Ciprian Amariei, 2007)

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
ObjectProperty: ReviewerOf
Annotations:
rdfs:comment "Relația de recenzent (inspector)…"@ro
Domain:
foaf:Person
Range:
foaf:Person
InverseOf:
ReviewedBy
SubPropertyOf:
sintaxa
foaf:knows
Manchester

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Proprietăți tranzitive
dată fiind proprietatea p tranzitivă,
dacă există A p B . și B p C .
atunci se poate deduce
ApC.

se recurge la owl:TransitiveProperty

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Definirea unei proprietăți tranzitive – exemplu:
:utilizează a

owl:TransitiveProperty ,
owl:ObjectProperty ;
owl:inverseOf :utilizatDe .

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
O proprietate mai poate fi definită ca fiind:
invers funcțională
anti-simetrică
reflexivă
anti-reflexivă

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietatilor

relația rudaCu este simetrică și reflexivă
Folosind owl:equivalentProperty se poate defini
că două proprietăți sunt echivalente

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea proprietăților
Un individ (membru) al unei clase
se declară ca aparținând clasei respective

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea indivizilor
Un individ (membru) al unei clase
se 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 date
via proprietăți

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea indivizilor
<!-- definim individul -->
<owl:Thing rdf:ID="the_wall">
<rdfs:comment xml:lang="ro">
Un film de Pink Floyd</rdfs:comment>
</owl:Thing>
<!-- ulterior, specificăm tipul lui (plus proprietăți/meta-date) -->
<owl:Thing rdf:about="#the_wall">
<rdf:type rdf:resource="#Video" />
</owl:Thing>
:the_wall a
:Video ;
rdfs:comment "Un film…"@ro .

Dr. Sabin Buragawww.purl.org/net/busaco

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

se poate folosi și owl:differentFrom

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea indivizilor
Dr. Sabin Buragawww.purl.org/net/busaco

:ancuta rudaCu :eugen .
:ancuta owl:sameAs :anca .
Exemplu: specificarea a doi indivizi distincți
<owl:Thing rdf:ID="zidul">
<rdfs:comment>Un film din România</rdfs:comment>
</owl:Thing>
<rdf:Description rdf:about="#zidul">
<owl:differentFrom rdf:resource="#the_wall"/>
<rdfs:comment>
Nu are legătură cu 'The Wall'
</rdfs:comment>
<rdf:type rdf:resource="#Video" />
</rdf:Description>

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea indivizilor
Exemplu:
specificarea în termeni fuzzy a localizării unei resurse
<owl:AllDifferent>
<owl:distinctMembers rdf:parseType="Collection">
<localizare rdf:about="#local" />
<localizare rdf:about="#intranet" />
<localizare rdf:about="#extranet" />
</owl:distinctMembers>
</owl:AllDifferent>

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea indivizilor
Specificarea în OWL a vocabularului FOAF
http://xmlns.com/foaf/spec/

Dr. Sabin Buragawww.purl.org/net/busaco

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
foaf:Person
rdfs:subClassOf
foaf:Group
rdfs:subClassOf
foaf:Organizationrdfs:subClassOf

owl:Class .
foaf:Agent .
foaf:Agent .
foaf:Agent .

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – FOAF
Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – FOAF
Lista claselor FOAF
(Dan Brickley & Libby Miller, 2010)

Agent Document Group Image OnlineAccount
OnlineChatAccount OnlineEcommerceAccount
OnlineGamingAccount Organization Person
PersonalProfileDocument Project

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – FOAF
Pentru o persoană, sunt definite diverse proprietăți:
foaf:name, foaf:surname, foaf:nick etc.
foaf:name
rdfs:domain
owl:Thing .
foaf:name
rdfs:subPropertyOf
rdfs:label .
foaf:surname owl:equivalentProperty foaf:family_name .

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – FOAF
Fiecare agent (persoană, organizație,…) poate crea
resurse (“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
foaf:publications

rdfs:domain
rdfs:range

foaf:Person .
foaf:Document .

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – FOAF
Exprimarea constrângerilor:
de exemplu, o persoană este identificată unic
prin adresa ei de e-maildouă persoane care au aceeași
adresă de e-mail reprezintă în fapt o singură persoană

foaf:mbox rdf:type owl:InverseFunctionalProperty .

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – FOAF

idem, pentru foaf:homepage, foaf:jabberID, foaf:weblog,…
Lista proprietăților vizând informații personale
(Dan Brickley & Libby Miller, 2010)
weblog knows interest currentProject pastProject plan
based_near workplaceHomepage workInfoHomepage
schoolHomepage topic_interest publications geekcode
myersBriggs dnaChecksum

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – FOAF
Model conceptual simplu privind termenii de conținut
(tag-urile), cu scopul de a fi utilizat în cadrul RDFa

www.commontag.org

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – Common Tag
O resursă de interes adresabilă via un URI
are asociat (tagged) un număr de instanțe de tip Tag

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – Common Tag
Fiecare tag poate conține o referință (“pointer”)
spre o altă resursă
ce identifică neambiguu acel concept descris de conținut

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – Common Tag
Clasa Tag cu sub-clasele AuthorTag, ReaderTag, AutoTag

proprietăți: means tagged taggingDate label

ctag:means a
rdf:domain
rdf:range

owl:ObjectProperty ;
ctag:Tag ;
rdf:Resource .

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – Common Tag
Cum sunt modelate resursele Wikipedia,
disponibile în RDF prin intermediul DBpedia?

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – DBpedia
4 scheme de clasificare:
categorii de articole Wikipedia exprimate
prin SKOS (Simple Knowledge Organizational System),
sub controlul exercitat de editorii Wikipedia

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – DBpedia
4 scheme de clasificare:
UMBEL (Upper Mapping and Binding Exchange Layer)
ontologie creată cu scopul interconectării datelor
disponibile pe Web, derivată din OpenCyc

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – DBpedia
Dr. Sabin Buragawww.purl.org/net/busaco

UMBEL – model conceptual facilitând interoperabilitatea
http://umbel.org/
4 scheme de clasificare:
DBpedia Ontology – http://dbpedia.org/ontology/
529 clase + 2333 proprietăți
3220000 de instanțe
model creat manual pe baza template-urilor Wikipedia
detalii la http://wiki.dbpedia.org/Ontology

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – DBpedia
Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – FOAF

C. Bizer et al., “DBpedia – A Crystallization Point for the Web of Data” (2009)
lista claselor specificate
de ontologia DBpedia
(fragment)

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – DBpedia
lista proprietăților
DBPedia (fragment)

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

Dr. Sabin Buragawww.purl.org/net/busaco

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 Romania
pe baza unei interogări SPARQL

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – DBpedia
Interconectarea datelor via owl:sameAs
<http://dbpedia.org/resource/Romania> owl:sameAs
Freebase
<http://rdf.freebase.com/ns/m.06c1y> ;
<http://linkedgeodata.org/triplify/node432425064> ;
Eurostat
<http://eurostat.linked-statistics.org/dic/c_ctrl#RO> ;
<http://sw.cyc.com/concept/Mx4rvViC8ZwpEbGdrcN5Y29ycA> .
OpenCyc

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: studiu de caz – DBpedia

astfel, pot fi realizate reconcilieri între modele conceptuale
Dr. Sabin Buragawww.purl.org/net/busaco

Putem impune restricții suplimentare
modelului de cunoștințe descrise în OWL?
Restricțiile sunt considerate clase
definite prin descrierea proprietăților indivizilor
pe care-i pot include

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Restricțiile sunt considerate clase
definite prin descrierea proprietăților indivizilor
pe care-i pot include

specificând o mulțime de indivizi în termeni de clase
cunoscute (proprietăți comune), putem folosi această
descriere pentru a defini o nouă clasă – mai restrictivă

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Restricțiile impuse proprietăților
trebuie să apară în cadrul elementelor
owl:Restriction și owl:onProperty

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Tipuri de restricții:
asupra valorilor
allValuesFrom, someValuesFrom, hasValue

privitoare la cardinalitate
cardinality, minCardinality, maxCardinality

Dr. Sabin Buragawww.purl.org/net/busaco

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:onProperty
owl:someValuesFrom

owl:Restriction ;
p;
C]

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Exemplu: clasa mamelor reprezintă intersecția
clasei 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"/>
[ a owl:Restriction ;
</owl:onProperty>
owl:onProperty :areGen ;
<owl:hasValue
owl:hasValue :Feminin ]
rdf:resource="#Feminin"/>
</owl:Restriction>

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Exemplu: clasa mamelor reprezintă intersecția
clasei 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"/>
[a
owl:Restriction ;
</owl:onProperty>
owl:onProperty :areCopil ;
<owl:someValuesFrom
rdf:resource="#Persoana"/> owl:someValuesFrom :Persoana ]
</owl:Restriction>

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Prin owl:allValuesFrom specificăm restricția:
“toți indivizii pentru care toate valorile
proprietății p provin din clasa C”
[a
owl:Restriction ;
owl:onProperty
p;
owl:allValuesFrom C ]

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Exemplu: clasa persoanelor vegetariene
<owl:Class rdf:about="#Vegetarian">
<rdfs:subClassOf rdf:resource="#Persoana" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty
rdf:resource="#consuma"/>
<owl:allValuesFrom rdf:resource="#Vegetala" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>

Dr. Sabin Buragawww.purl.org/net/busaco

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ă spanacul
aparține clasei vegetalelor:
:spanac a :Vegetala .

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
În cazul someValuesFrom, trebuie să existe
măcar un membru al clasei
pentru care are loc o proprietate dată
aceasta implică faptul că
trebuie să existe un astfel de membru

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Restricția allValuesFrom înseamnă “dacă există membri,
atunci ei toți trebuie să aibă acea proprietate”

aceasta nu implică faptul că
trebuie să existe de fapt membrii corespunzători

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
Via restricții privind cardinalitatea, poate fi stabilit
numărul – minim/maxim – de valori distincte
pe care o proprietate le poate avea
[a
owl:onProperty
owl:cardinality

owl:Restriction ;
p;
n].

Dr. Sabin Buragawww.purl.org/net/busaco

OWL: specificarea restricțiilor
<owl:Class rdf:ID="Audio">
<rdfs:subClassOf rdf:resource="#Multimedia" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#stocat">
<!-- indicăm cardinalitatea minimă -->
<owl:minCardinality rdf:datatype="xsd:nonNegativeInteger">
1
</owl:minCardinality>
</owl:onProperty>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>

fiecare instanță din clasa Audio trebuie să apară
măcar în cel puțin o relație “stocat”

Dr. Sabin Buragawww.purl.org/net/busaco

Exemplu: o resursă audio poate fi stocată
măcar de un sit Web multimedia
Aspect important:
verificarea consistenței și coerenței ontologiei
inclusiv verificarea consistenței aserțiunilor
privind indivizii
care populează domeniul modelat de ontologie

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
Dr. Sabin Buragawww.purl.org/net/busaco

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

AAA – Anyone can say Anything about Any topic
Aspect important:
declarațiile privitoare la indivizi
nu trebuie obligatoriu să fie stocate
în cadrul aceluiași document
uzual, modelul ontologic este separat
de aserțiunile privind indivizii
separation
of concerns

Dr. Sabin Buragawww.purl.org/net/busaco

OWL
Antet:
Ontology
Clase (concepte):
Class, rdfs:subClassOf, intersectionOf
Proprietăți:
rdfs:Property, rdfs:subPropertyOf, rdfs:domain, rdfs:range
(In)egalități:
equivalentClass, equivalentProperty,
sameAs, differentFrom, allDifferent

Dr. Sabin Buragawww.purl.org/net/busaco

OWL 1: privire de ansamblu
Caracteristici ale proprietăților:
inverseOf, TransitiveProperty, SymmetricProperty,
FunctionalProperty, InverseFunctionalProperty
Restricții de tip asupra proprietăților:
allValuesFrom, someValuesFrom
Restricții de cardinalitate:
minCardinality, maxCardinality, cardinality

Dr. Sabin Buragawww.purl.org/net/busaco

OWL 1: privire de ansamblu
modelarea cunoștințelor
ontologii specificate în OWL 1.0

Dr. Sabin Buragawww.purl.org/net/busaco

rezumat
Dr. Sabin Buragawww.purl.org/net/busaco

episodul viitor:
OWL 2.0
+
formalizare și baze de cunoștințe

More Related Content

Viewers also liked

Tendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor WebTendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor WebSabin Buraga
 
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6Sabin Buraga
 
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...Sabin Buraga
 
Specificarea interfetei unui joc electronic folosind UsiXML si UIML
Specificarea interfetei unui joc electronic folosind UsiXML si UIMLSpecificarea interfetei unui joc electronic folosind UsiXML si UIML
Specificarea interfetei unui joc electronic folosind UsiXML si UIMLSabin Buraga
 
Interactiune om-calculator (Interactiuni neconventionale)
Interactiune om-calculator (Interactiuni neconventionale)Interactiune om-calculator (Interactiuni neconventionale)
Interactiune om-calculator (Interactiuni neconventionale)Sabin Buraga
 
Peter Barta Prezentare Brasov Ro
Peter Barta Prezentare Brasov RoPeter Barta Prezentare Brasov Ro
Peter Barta Prezentare Brasov RoClaudiu Gamulescu
 
CLIW 2015-2016 (2/13) Arhitectura navigatorului Web
CLIW 2015-2016 (2/13) Arhitectura navigatorului WebCLIW 2015-2016 (2/13) Arhitectura navigatorului Web
CLIW 2015-2016 (2/13) Arhitectura navigatorului WebSabin Buraga
 
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de cazCLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de cazSabin Buraga
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...Sabin Buraga
 
Prezentare Etapele 4+5
Prezentare Etapele 4+5Prezentare Etapele 4+5
Prezentare Etapele 4+5guest5d8981aa
 
Web in 3 Dimensiuni (Web in 3D)
Web in 3 Dimensiuni (Web in 3D)Web in 3 Dimensiuni (Web in 3D)
Web in 3 Dimensiuni (Web in 3D)Sabin Buraga
 
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluCLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluSabin Buraga
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientSabin Buraga
 
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...Sabin Buraga
 
Sistem distribuit pentru optimizarea simularilor
Sistem distribuit pentru optimizarea simularilorSistem distribuit pentru optimizarea simularilor
Sistem distribuit pentru optimizarea simularilorAlin Vulparu
 
Informe final de servicio comunitario pdf
Informe final de servicio comunitario pdfInforme final de servicio comunitario pdf
Informe final de servicio comunitario pdfArcangel Campos
 

Viewers also liked (20)

Tendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor WebTendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor Web
 
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
 
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
 
Corpul uman-1
Corpul uman-1Corpul uman-1
Corpul uman-1
 
Specificarea interfetei unui joc electronic folosind UsiXML si UIML
Specificarea interfetei unui joc electronic folosind UsiXML si UIMLSpecificarea interfetei unui joc electronic folosind UsiXML si UIML
Specificarea interfetei unui joc electronic folosind UsiXML si UIML
 
Interactiune om-calculator (Interactiuni neconventionale)
Interactiune om-calculator (Interactiuni neconventionale)Interactiune om-calculator (Interactiuni neconventionale)
Interactiune om-calculator (Interactiuni neconventionale)
 
Peter Barta Prezentare Brasov Ro
Peter Barta Prezentare Brasov RoPeter Barta Prezentare Brasov Ro
Peter Barta Prezentare Brasov Ro
 
2014_Prezentare_PhD_AB_v03
2014_Prezentare_PhD_AB_v032014_Prezentare_PhD_AB_v03
2014_Prezentare_PhD_AB_v03
 
CLIW 2015-2016 (2/13) Arhitectura navigatorului Web
CLIW 2015-2016 (2/13) Arhitectura navigatorului WebCLIW 2015-2016 (2/13) Arhitectura navigatorului Web
CLIW 2015-2016 (2/13) Arhitectura navigatorului Web
 
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de cazCLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
 
Prezentare Etapele 4+5
Prezentare Etapele 4+5Prezentare Etapele 4+5
Prezentare Etapele 4+5
 
Web in 3 Dimensiuni (Web in 3D)
Web in 3 Dimensiuni (Web in 3D)Web in 3 Dimensiuni (Web in 3D)
Web in 3 Dimensiuni (Web in 3D)
 
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluCLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
 
Era informationala
Era informationalaEra informationala
Era informationala
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
 
Presentation2
Presentation2Presentation2
Presentation2
 
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
 
Sistem distribuit pentru optimizarea simularilor
Sistem distribuit pentru optimizarea simularilorSistem distribuit pentru optimizarea simularilor
Sistem distribuit pentru optimizarea simularilor
 
Informe final de servicio comunitario pdf
Informe final de servicio comunitario pdfInforme final de servicio comunitario pdf
Informe final de servicio comunitario pdf
 

Similar to Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limbajul OWL

Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelorDezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelorSabin Buraga
 
WADe 2014—2015 (11/12): Semantic Web—Inginerie ontologică: Management de cuno...
WADe 2014—2015 (11/12): Semantic Web—Inginerie ontologică: Management de cuno...WADe 2014—2015 (11/12): Semantic Web—Inginerie ontologică: Management de cuno...
WADe 2014—2015 (11/12): Semantic Web—Inginerie ontologică: Management de cuno...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...Sabin Buraga
 
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...Sabin Buraga
 
WADe 2017-2018 (11/12) Ontology Engineering: Knowledge Management. Methodolog...
WADe 2017-2018 (11/12) Ontology Engineering: Knowledge Management. Methodolog...WADe 2017-2018 (11/12) Ontology Engineering: Knowledge Management. Methodolog...
WADe 2017-2018 (11/12) Ontology Engineering: Knowledge Management. Methodolog...Sabin Buraga
 
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneWADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneSabin Buraga
 
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...Sabin Buraga
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Sabin Buraga
 
Tema10 iliuta-stoica-ontologies-web-semantics
Tema10 iliuta-stoica-ontologies-web-semanticsTema10 iliuta-stoica-ontologies-web-semantics
Tema10 iliuta-stoica-ontologies-web-semanticsIliuta Stoica
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Sabin Buraga
 
WADe 2014—2015 (07/12): Semantic Web—Arhitectura aplicaţiilor RDF. Iniţiativa...
WADe 2014—2015 (07/12): Semantic Web—Arhitectura aplicaţiilor RDF. Iniţiativa...WADe 2014—2015 (07/12): Semantic Web—Arhitectura aplicaţiilor RDF. Iniţiativa...
WADe 2014—2015 (07/12): Semantic Web—Arhitectura aplicaţiilor RDF. Iniţiativa...Sabin Buraga
 
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...Sabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...Sabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...Sabin Buraga
 
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...Sabin Buraga
 
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de numeWeb 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de numeSabin Buraga
 
CLIW 2014—2015 (1/12): Interacţiune Web: concepte, context, studii de caz
CLIW 2014—2015 (1/12): Interacţiune Web: concepte, context, studii de cazCLIW 2014—2015 (1/12): Interacţiune Web: concepte, context, studii de caz
CLIW 2014—2015 (1/12): Interacţiune Web: concepte, context, studii de cazSabin Buraga
 

Similar to Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limbajul OWL (20)

Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
 
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelorDezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
 
WADe 2014—2015 (11/12): Semantic Web—Inginerie ontologică: Management de cuno...
WADe 2014—2015 (11/12): Semantic Web—Inginerie ontologică: Management de cuno...WADe 2014—2015 (11/12): Semantic Web—Inginerie ontologică: Management de cuno...
WADe 2014—2015 (11/12): Semantic Web—Inginerie ontologică: Management de cuno...
 
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
 
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
 
WADe 2017-2018 (11/12) Ontology Engineering: Knowledge Management. Methodolog...
WADe 2017-2018 (11/12) Ontology Engineering: Knowledge Management. Methodolog...WADe 2017-2018 (11/12) Ontology Engineering: Knowledge Management. Methodolog...
WADe 2017-2018 (11/12) Ontology Engineering: Knowledge Management. Methodolog...
 
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneWADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
 
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
 
Tema10 iliuta-stoica-ontologies-web-semantics
Tema10 iliuta-stoica-ontologies-web-semanticsTema10 iliuta-stoica-ontologies-web-semantics
Tema10 iliuta-stoica-ontologies-web-semantics
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...
 
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
 
WADe 2014—2015 (07/12): Semantic Web—Arhitectura aplicaţiilor RDF. Iniţiativa...
WADe 2014—2015 (07/12): Semantic Web—Arhitectura aplicaţiilor RDF. Iniţiativa...WADe 2014—2015 (07/12): Semantic Web—Arhitectura aplicaţiilor RDF. Iniţiativa...
WADe 2014—2015 (07/12): Semantic Web—Arhitectura aplicaţiilor RDF. Iniţiativa...
 
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
 
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
 
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de numeWeb 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
 
CLIW 2014—2015 (1/12): Interacţiune Web: concepte, context, studii de caz
CLIW 2014—2015 (1/12): Interacţiune Web: concepte, context, studii de cazCLIW 2014—2015 (1/12): Interacţiune Web: concepte, context, studii de caz
CLIW 2014—2015 (1/12): Interacţiune Web: concepte, context, studii de caz
 

More from Sabin Buraga

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)Sabin Buraga
 

More from Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
 

Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limbajul OWL

  • 1. Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea aplicațiilor Web modelarea cunoștințelor la nivel de Web ontologii exprimate prin OWL
  • 2. Antonio Porchia Dr. Sabin Buragawww.purl.org/net/busaco “Cine deschide toate porțile, le poate închide pe toate.”
  • 3. Existența unui vocabular partajabil elementele sintactice (cuvintele, marcatorii etc.) au același înțeles atât pentru transmițător, cât și pentru destinatar Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  • 4. Existența unui set comun de constrângeri Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  • 5. Existența unui cadru conceptual comun oferind relații între clase de date/informații/cunoștințe Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  • 6. Existența unui cadru conceptual comun oferind relații între clase de date/informații/cunoștințe înțelegerea – automată (de dorit) – a informațiilor nu va fi influențată de anumite cunoștințe inițiale (unspecified background knowledge) Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  • 7. “Andrei predă laboratorul materiei Tehnologii Web. Andrei e student doctorand în Computer Science.” a foaf:givenname :teach :isPartOf a a :enrolledAt rdfs:subClassOf rdfs:subClassOf :providedBy a foaf:homepage a foaf:Person . "Andrei"@ro . :WebLab . :Web . :Discipline . :PhDStudent . :PhDSchool . :PostgradStudies . :FIIStudies . :FII . :Faculty , foaf:Agent . <http://www.infoiasi.ro> . skos:Concept . Dr. Sabin Buragawww.purl.org/net/busaco :andrei :andrei :andrei :WebLab :Web :andrei :andrei :PhDSchool :PostgradStudies :FIIStudies :FII :FII :Academic
  • 8. “Andrei predă laboratorul materiei Tehnologii Web. Andrei e student doctorand în Computer Science.” a foaf:givenname :teach :isPartOf a a :enrolledAt rdfs:subClassOf rdfs:subClassOf :providedBy a foaf:homepage a foaf:Person . "Andrei"@ro . adnotare :WebLab . semantică :Web . (explicită) :Discipline . :PhDStudent . :PhDSchool . :PostgradStudies . :FIIStudies . :FII . :Faculty , foaf:Agent . <http://www.infoiasi.ro> . skos:Concept . Dr. Sabin Buragawww.purl.org/net/busaco :andrei :andrei :andrei :WebLab :Web :andrei :andrei :PhDSchool :PostgradStudies :FIIStudies :FII :FII :Academic
  • 9. Un limbaj de modelare complexă a cunoștințelor gestionate de o aplicație Web Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  • 10. Modelarea cunoștințelor via ontologii Dr. Sabin Buragawww.purl.org/net/busaco soluție
  • 11. Ontologia = teorie privitoare la existență „ramură a filosofiei care studiază trăsăturile ființei, existența” (Hoklenium, 1613) ontos (ființă, existență) + logos (studiu) Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 12. O ontologie reprezintă conceptualizarea unui domeniu de cunoaștere într-un format destinat a fi procesat de calculator, format modelând entități, atribute, relații și axiome Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 13. Scop: conceptualizări complexe ale unui domeniu de interes Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 14. Subiectul ontologiei este studiul categoriilor de lucruri (things) care există sau pot exista în cadrul unui domeniu de interes John Sowa, 2001 Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 15. Dr. Sabin Buragawww.purl.org/net/busaco 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
  • 16. “Ontology is a set of knowledge terms, including the vocabulary, the semantic interconnections, and some simple rules of inference and logic for some particular topic.” James Hendler, 2001 Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 17. Dr. Sabin Buragawww.purl.org/net/busaco ontologii “A rigorous and exhaustive organization of some knowledge domain that is usually hierarchical and contains all the relevant entities and their relations.” WordNet
  • 18. Ontologie  catalog de tipuri de lucruri care se presupune că există într-un domeniu de interes D (domain) din perspectiva unei persoane care utilizează un limbaj L cu scopul de a discuta despre D Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 19. Tipurile din ontologie reprezintă predicatele, sensurile cuvintelor sau conceptele și relațiile din cadrul limbajului L, atunci când este utilizat pentru a discuta despre domeniul D Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 20. Dr. Sabin Buragawww.purl.org/net/busaco Adam Pease, 2007 citând C.K. Ogden/I.A. Richards (1923)
  • 21. Vocabular comun Aplicația A Aplicația B Limbaj(e) de modelare/marcare rolul ontologiilor (Jerry Hobbs, Eurolan 2003) Dr. Sabin Buragawww.purl.org/net/busaco Teorie abstractă
  • 22. Teorie abstractă Vocabular comun Aplicația A Aplicația B Limbaj(e) de modelare/marcare rolul ontologiilor (Jerry Hobbs, Eurolan 2003) Dr. Sabin Buragawww.purl.org/net/busaco stabilește înțelesul conceptelor (termenilor) vocabularului comun
  • 23. Folosind ontologii, asociem semantici “lucrurilor” despre care “vorbim” relație exemplu: un framework Web este o componentă software care facilitează dezvoltarea unui sit Web categorie (clasă) Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 24. Folosind ontologii, asociem semantici “lucrurilor” despre care “vorbim” descrierile semantice “ajută” calculatoarele să pară “smart” Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 25. Folosind ontologii, asociem semantici “lucrurilor” despre care “vorbim” un program “smart” ar trebui să fie capabil să realizeze aceleași inferențe pe care le fac (unii) oameni Dr. Sabin Buragawww.purl.org/net/busaco ontologii e.g., dacă Meteor este framework Web, atunci este componentă softwarenecesită un mediu de execuție și oferă suport pentru diverse tehnologii Web: URI, HTTP,…
  • 26. Siri – asistent digital personal mobil (Tom Gruber, 2010; Apple, din 2011) bazat pe modele semantice privind domenii + activități recurge la servicii (API-uri) publice de interes manifestă o interacțiune naturală cu utilizatorul Dr. Sabin Buragawww.purl.org/net/busaco ontologii – exemplificare
  • 27. Ontologii informale versus formale (de la limbaj natural la logică) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 28. Ontologii formale: axiomatice sau bazate pe prototipuri Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 29. Ontologii formale: axiomatice disting sub-tipurile prin axiome și definiții specificate într-un limbaj formal (logic) bazate pe prototipuri Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri disting sub-tipurile prin comparația cu un membru tipic ori specificând un prototip pentru fiecare sub-tip în parte
  • 30. Conform nivelului de descriere oferit: vocabular de exemplu, specificare via o schemă XML Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 31. Conform nivelului de descriere oferit: taxonomie – relații de clasificare (is-a) vedere ierarhică a conceptelor (clase, sub-clase, supra-clase) modelare prin RDF Schema vezi cursul precedent Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 32. Conform nivelului de descriere oferit: lexicon = taxonomie + termeni înrudiți (via relații de echivalență, ierarhii, asocieri etc.) modelare prin SKOS vezi cursul precedent Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 33. Conform nivelului de descriere oferit: sistem relațional schemă de baze de date Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 34. Conform nivelului de descriere oferit: teorie axiomatică (constrângeri  axiome) axiomă  enunț logic ce nu poate fi dedus din altele, dar poate fi folosit pentru demonstrarea altora Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 35. 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-S etc. Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 36. modelul conceptual al sistemului GitHub Dr. Sabin Buragawww.purl.org/net/busaco
  • 37. După scopul & contextul utilizării: ontologii generale Cyc OpenCyc SUMO (Suggested Upper Merged Ontology) UMBEL (Upper Mapping and Binding Exchange Layer) … Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 38. După scopul & contextul utilizării: ontologii intermediare – mid-level exemplificare: MILO (MId-Level Ontology) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  • 39. De nivel cel mai înalt (top-level, upper-level) – cele mai generale Specifice unui domeniu (domain-related) – verticale Specifice unor sarcini (task-related) – orizontale Specifice unei aplicații (application-related) – apelează la ontologii verticale și/sau orizontale Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri (Guarino, 1998)
  • 40. Aspecte de interes – inginerie (Gasevic, Djuric & Devedzic, 2009) modelare colaborare interoperabilitate educație detalii în viitoarele cursuri Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 41. Dr. Sabin Buragawww.purl.org/net/busaco ontologii YAGO (Yet Another Great Ontology) modelează entități (abstracte); utilizare în cadrul DBpedia http://yago-knowledge.org/
  • 42. o reprezentare SVG a unei resurse YAGO (versiunea 2) inclusiv specificarea de relații via RDFS și SKOS Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  • 43. necesitatea dezambiguizării (e.g., Paris poate fi o localitate din USA) Dr. Sabin Buragawww.purl.org/net/busaco 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
  • 44. 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 Dr. Sabin Buragawww.purl.org/net/busaco ontologii – alte exemple
  • 45. Componente distincte: nume privind cele mai importante concepte ale domeniului de cunoaștere modelat cunoștințe anterioare – de “background” – sau constrângeri ale domeniului (eventual, specificate cu ajutorul axiomelor) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 46. Crocodil reprezintă un concept având ca membri animale ce prezintă anumite caracteristici Ierbivor este un concept privitor la animale care consumă doar plante ori părți de plante Orice membru al clasei Crocodil este vorace Un animal nu poate fi simultan Ierbivor și Carnivor Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare: exemplu (1)
  • 47. Warrior desemnează un concept privitor la un anumit tip de personaj al unui joc electronic Human referă un personaj uman având o anumită rasă – disjunct de Elf, Goblin și Orc – și care poate utiliza doar arme dintr-o anumită categorie Orice membru al clasei Warrior poate folosi MagicPotion Echipamentul purtat de personajele din clasa Orc include instanțe ale clasei BarbarianEquipment Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare: exemplu (2)
  • 48. O ontologie va include: categoriile, clasele, conceptele fundamentale proprietățile asociate conceptelor relațiile dintre concepte Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 49. Reprezentări uzuale ale ontologiilor: limbaje logice: Prolog & familia (Golog, ConGolog) KIF (Knowledge Interchange Format) CL (Common Logic) diagrame UML DL (logici ale descrierii – description logics) limbaje utilizate în contextul Web: RDFS, OWL specificații vizuale Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 50. Specificarea categoriilor/conceptelor categorie  domeniu în teoria bazelor de date categorie  tip/sort în inteligența artificială categorie  clasă în cazul ontologiilor Web Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 51. Specificarea categoriilor/conceptelor criteriile de stabilire a conceptelor sunt complexe experiența are un rol foarte important Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 52. Clasele (categoriile) de nivel cel mai înalt ale ontologiei Cyc Noy & Hafner, 1997 Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 53. Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare Categorii de nivel înalt – cazul SUMO (Adam Pease, 2007) Entity Physical Object SelfConnectedObject Substance CorpuscularObject Region Collection Process Abstract
  • 54. Specificarea proprietăților proprietate  atribut proprietate  slot/frame în inteligența artificială Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 55. Specificarea proprietăților proprietate = relație binară care poate preciza fapte privitoare la membrii unei clase (indivizi) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 56. Specificarea proprietăților proprietate = relație binară care poate preciza fapte privitoare la membrii unei clase (indivizi) diferențiază un concept de altul în unele cazuri, pot fi definite și sub-proprietăți Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 57. Specificarea proprietăților o proprietate se poate referi la: tipuri de date – datatype property sau obiecte – object property Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 58. Specificarea proprietăților – exemplu de frame Claudia: Person vârstă ocupație 25 cardinality: 1 PhDStudent ocupație WebDeveloper … … Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 59. Specificarea proprietăților – exemplu de frame Claudia: Person datatype property vârstă ocupație 25 cardinality: 1 PhDStudent object property ocupație WebDeveloper … … o persoană are o singură vârstă, dar poate avea un număr arbitrar de ocupații Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 60. Modalități de reprezentare vizuală: Resursă subiect Proprietate dc:Creator web.html Resursă obiect modelul de date (abstract) bazat pe RDF Schema/OWL purl.org/net /busaco instanțe (aici, adoptând vocabularul DCMI, pe baza modelului RDF) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 61. Specificarea relațiilor pentru organizarea/ilustrarea categoriilor se folosesc arborii și grafurile Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 62. Specificarea relațiilor – cazul WordNet relațiile pot fi de: hiperonimie – “general-specific” meronimie – “parte-întreg” antonimie Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  • 63. Ontologie Limbaj (natural) expandabilă independentă de limbaj procesabilă de către mașină înțeles de oameni ambiguu Cunoștințe se modifică rapid (“perisabile”) pot exprima local un “lucru” conform Adam Pease (2007) Dr. Sabin Buragawww.purl.org/net/busaco ontologii vs. limbaj vs. cunoștințe
  • 64. Dr. Sabin Buragawww.purl.org/net/busaco Cum exprimăm ontologiile la nivel de Web?
  • 65. Web Ontology Language scop: facilitarea interpretării de către software a conținutului informațional utilizează modelul RDF și RDF Schema Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 66. OWL 1.0 recomandare W3C (2004) – 6 părți www.w3.org/TR/owl-guide/ OWL 2.0 recomandare W3C (2009, 2012) – 13 părți www.w3.org/TR/owl2-overview/ www.w3.org/TR/owl2-primer/ Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 67. OWL Lite folosit pentru exprimarea ierarhiilor de clasificare și a unor constrângeri de bază facilitează realizarea de raționamente simple Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  • 68. OWL DL (Description Logics) oferă maximum de expresivitate, fără pierderea completitudinii și decidabilității Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  • 69. OWL DL (Description Logics) oferă maximum de expresivitate, fără pierderea completitudinii și decidabilității completitudine = orice propoziție supusă regulilor de deducție poate fi demonstrată decidabilitate = mulțimea formulelor (teoremelor) unui sistem logic poate fi efectiv determinată Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  • 70. 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) Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  • 71. OWL Full oferă maximum de expresivitate și flexibilitate, fără a se pune problema completitudinii permite modificarea vocabularelor RDF și OWL Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  • 72. OWL Lite  OWL DL  OWL Full Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  • 73. Sintaxă: documente RDF se folosesc formate precum RDF/XML sau Turtle ușor de procesat, stocat, interogat (API-uri RDF, triple stores, SPARQL,…) Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 74. Sintaxă: “abstractă” corespunde modelului logicilor descrierii e.g., sintaxa funcțională, sintaxa Manchester Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 75. O ontologie OWL este compusă în principal din: clase proprietăți relații Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 76. Dr. Sabin Buragawww.purl.org/net/busaco eventual, pot fi precizate: instanțe de clase axiome adnotări & importuri
  • 77. 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 Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 78. Fiecare ontologie va fi identificată de un URI unic URI-ul ontologiei demonstrative utilizate la acest curs: http://www.semanticweb.org/ontologies/2008/10/SWOnto.owl Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 80. Nu se impune a-priori o cunoaștere completă a domeniului de interes ipoteza lumii deschise (open world assumption) Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 81. Nu se impune a-priori o cunoaștere completă a domeniului de interes ipoteza lumii deschise (open world assumption) unele definiții vor fi considerate “parțiale” Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 82. O clasă se specifică prin owl:Class desemnează colecții de indivizi – obiecte, things,... – în vederea descrierii unei lumi (un web) reprezintă un “obiect” (“thing”) al lumii Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 83. O clasă se specifică prin owl:Class desemnează colecții de indivizi – obiecte, things,... – în vederea descrierii unei lumi (un web) reprezintă un “obiect” (“thing”) al lumii cea mai generală clasă este owl:Thing Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 84. Relația de derivare a claselor se exprimă via rdfs:subClassOf de la RDF Schema <owl:Class rdf:ID="Audio"> <rdfs:subClassOf rdf:resource="#Multimedia" /> </owl:Class> :Audio a rdfs:subClassOf owl:Class ; :Multimedia . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 85. Expresii de clasă (class expressions): reuniune – owl:unionOf intersecție – owl:intersectionOf complementară – owl:complementOf disjuncție – owl:disjointWith semantica operațiilor e conformă cu teoria mulțimilor Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 86. Expresii de clasă (class expressions): reuniune – owl:unionOf intersecție – owl:intersectionOf complementară – owl:complementOf disjuncție – owl:disjointWith se utilizează pentru specificarea unor clase Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 87. Exemplu: resursele video nu sunt lumi virtuale, nici executabile <owl:Class rdf:ID="Video"> <rdfs:subClassOf rdf:resource="#Multimedia" /> <owl:disjointWith rdf:resource="#LumiVirtuale" /> <owl:disjointWith rdf:resource="#Executabile" /> </owl:Class> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 88. Exemplu: resursele video nu sunt lumi virtuale, nici executabile Class: Video SubClassOf: DisjointWith: DisjointWith: Multimedia LumiVirtuale Executabile sintaxa Manchester Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 89. Implicit, OWL se aliniază ipotezei lumii deschise cu implicații majore în ceea ce privește operațiile dintre clase și realizarea inferențelor referitoare la cardinalitate Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 90. Implicit, OWL se aliniază ipotezei lumii deschise Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor în unele cazuri, putem specifica exact membrii unei clase, adoptând – local – ipoteza lumii închise (closed world)
  • 91. Exemplu: determinarea albumului deținut de o persoană :AlbumePortishead a owl:Class ; owl:oneOf ( :Dummy :Portishead :Third ) . fiecare instanță specificată via owl:oneOf este membră a clasei respective Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 92. Exemplu: determinarea albumului deținut de o persoană :AlbumePortishead a owl:Class ; owl:oneOf ( :Dummy :Portishead :Third ) . fiecare instanță specificată via owl:oneOf este membră a clasei respective știind că :me voc:detine :AlbumePortishead . se poate deduce faptul că entitatea desemnată de :me posedă măcar unul dintre ele Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 93. Astfel, o clasă se poate defini doar prin enumerarea membrilor ei: <owl:Class rdf:ID="Gen"> <owl:oneOf rdf:parseType="Collection"> <Gen rdf:about="#Masculin"/> <Gen rdf:about="#Feminin" /> </owl:oneOf> </owl:Class> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 94. Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor inspectarea claselor cu instrumentul Protégé http://protege.stanford.edu/
  • 95. Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor Specificarea echivalenței claselor se poate realiza recurgând la owl:equivalentClass <owl:Class rdf:ID="Designer"> <owl:equivalentClass rdf:resource="#Proiectant" /> </owl:Class> :Designer a owl:Class ; owl:equivalentClass :Proiectant .
  • 96. Având două clase echivalente, înseamnă că vor avea doar aceeași membri Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 97. Având două clase echivalente, înseamnă că vor avea doar aceeași membri alte proprietăți asociate claselor sunt proprii fiecăreia (de exemplu, rdfs:label ori rdfs:comment) Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  • 98. Proprietăți = relații binare ce specifică fapte privitoare la membrii unei clase sau la indivizi Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 99. Proprietăți = relații binare ce specifică fapte privitoare la membrii unei clase sau la indivizi se referă la tipurile de date – datatype property sau vizează obiectele – object property Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 100. Proprietăți = relații binare ce specifică fapte privitoare la membrii unei clase sau la indivizi se referă la tipurile de date – datatype property sau vizează obiectele – object property văzute drept colecții de relații între indivizi/date Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 101. Exemplu: definirea unei proprietăți privitoare la obiecte care 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 rdfs:domain rdfs:range owl:ObjectProperty ; :Multimedia ; :SitMultimedia . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 102. Exemplificare: definirea unei proprietăți datatype pentru a desemna relația între resurse și literali (e.g., valori de date aparținând unor tipuri XML Schema) <owl:DatatypeProperty rdf:ID="dimensiune"> <rdfs:domain rdf:resource="#Multimedia" /> <rdfs:range rdf:resource= "http://www.w3.org/2001/XMLSchema#unsignedLong" /> </owl:DatatypeProperty> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 103. Exemplificare: definirea unei proprietăți datatype pentru a desemna relația între resurse și literali (e.g., valori de date aparținând unor tipuri XML Schema) DataProperty: dimensiune Domain: Multimedia Range: unsignedLong sintaxa Manchester Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 104. Proprietățile pot include sub-proprietăți (specializări) definite via RDF Schema Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 105. Proprietățile pot include sub-proprietăți (specializări) definite via RDF Schema …și pot avea specificate caracteristici “speciale” Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 106. O proprietate care nu are decât o singură valoare pentru fiecare individ – valoarea ei este unică – se numește proprietate funcțională <owl:FunctionalProperty rdf:ID="areGen"> <rdfs:domain rdf:resource="#Persoana" /> <rdfs:range rdf:resource="#Gen" /> </owl:FunctionalProperty> „O persoană are doar un singur gen.” Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 107. Dacă resursa A este în relația p cu B și B este în relația p cu A, atunci p este o proprietate simetrică <owl:SymmetricProperty rdf:ID="rudaCu"> <rdfs:domain rdf:resource="#Persoana" /> <rdfs:range rdf:resource="#Persoana" /> </owl:SymmetricProperty> „Relația de rudenie între persoane este simetrică.” Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 108. De remarcat faptul că unele dintre proprietățile specificate de OWL – e.g., owl:equivalentClass – sunt simetrice Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 109. Proprietăți inverse dacă proprietatea p este inversa lui q și A este în relația p cu B, atunci se poate deduce că B este în relația q cu A se folosește construcția owl:inverseOf Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 110. ReviewerOf este sub-proprietate a lui foaf:knows și este inversa proprietății ReviewedBy (Ciprian Amariei, 2007) Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 111. ObjectProperty: ReviewerOf Annotations: rdfs:comment "Relația de recenzent (inspector)…"@ro Domain: foaf:Person Range: foaf:Person InverseOf: ReviewedBy SubPropertyOf: sintaxa foaf:knows Manchester Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 112. Proprietăți tranzitive dată fiind proprietatea p tranzitivă, dacă există A p B . și B p C . atunci se poate deduce ApC. se recurge la owl:TransitiveProperty Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 113. Definirea unei proprietăți tranzitive – exemplu: :utilizează a owl:TransitiveProperty , owl:ObjectProperty ; owl:inverseOf :utilizatDe . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 114. O proprietate mai poate fi definită ca fiind: invers funcțională anti-simetrică reflexivă anti-reflexivă Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 115. Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietatilor relația rudaCu este simetrică și reflexivă
  • 116. Folosind owl:equivalentProperty se poate defini că două proprietăți sunt echivalente Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  • 117. Un individ (membru) al unei clase se declară ca aparținând clasei respective Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  • 118. Un individ (membru) al unei clase se 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 date via proprietăți Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  • 119. <!-- definim individul --> <owl:Thing rdf:ID="the_wall"> <rdfs:comment xml:lang="ro"> Un film de Pink Floyd</rdfs:comment> </owl:Thing> <!-- ulterior, specificăm tipul lui (plus proprietăți/meta-date) --> <owl:Thing rdf:about="#the_wall"> <rdf:type rdf:resource="#Video" /> </owl:Thing> :the_wall a :Video ; rdfs:comment "Un film…"@ro . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  • 120. Echivalența între indivizi se realizează prin owl:sameAs se poate folosi și owl:differentFrom Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  • 121. Dr. Sabin Buragawww.purl.org/net/busaco :ancuta rudaCu :eugen . :ancuta owl:sameAs :anca .
  • 122. Exemplu: specificarea a doi indivizi distincți <owl:Thing rdf:ID="zidul"> <rdfs:comment>Un film din România</rdfs:comment> </owl:Thing> <rdf:Description rdf:about="#zidul"> <owl:differentFrom rdf:resource="#the_wall"/> <rdfs:comment> Nu are legătură cu 'The Wall' </rdfs:comment> <rdf:type rdf:resource="#Video" /> </rdf:Description> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  • 123. Pentru a defini colecții de indivizi distincți, se utilizează owl:distinctMembers Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  • 124. Exemplu: specificarea în termeni fuzzy a localizării unei resurse <owl:AllDifferent> <owl:distinctMembers rdf:parseType="Collection"> <localizare rdf:about="#local" /> <localizare rdf:about="#intranet" /> <localizare rdf:about="#extranet" /> </owl:distinctMembers> </owl:AllDifferent> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  • 125. Specificarea în OWL a vocabularului FOAF http://xmlns.com/foaf/spec/ Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  • 126. Se definesc clasele foaf:Person, foaf:Group, foaf:Organization ca fiind sub-clase ale foaf:Agent foaf:Agent rdf:type foaf:Person rdfs:subClassOf foaf:Group rdfs:subClassOf foaf:Organizationrdfs:subClassOf owl:Class . foaf:Agent . foaf:Agent . foaf:Agent . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  • 128. Lista claselor FOAF (Dan Brickley & Libby Miller, 2010) Agent Document Group Image OnlineAccount OnlineChatAccount OnlineEcommerceAccount OnlineGamingAccount Organization Person PersonalProfileDocument Project Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  • 129. Pentru o persoană, sunt definite diverse proprietăți: foaf:name, foaf:surname, foaf:nick etc. foaf:name rdfs:domain owl:Thing . foaf:name rdfs:subPropertyOf rdfs:label . foaf:surname owl:equivalentProperty foaf:family_name . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  • 130. Fiecare agent (persoană, organizație,…) poate crea resurse (“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 foaf:publications rdfs:domain rdfs:range foaf:Person . foaf:Document . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  • 131. Exprimarea constrângerilor: de exemplu, o persoană este identificată unic prin adresa ei de e-maildouă persoane care au aceeași adresă de e-mail reprezintă în fapt o singură persoană foaf:mbox rdf:type owl:InverseFunctionalProperty . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF idem, pentru foaf:homepage, foaf:jabberID, foaf:weblog,…
  • 132. Lista proprietăților vizând informații personale (Dan Brickley & Libby Miller, 2010) weblog knows interest currentProject pastProject plan based_near workplaceHomepage workInfoHomepage schoolHomepage topic_interest publications geekcode myersBriggs dnaChecksum Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  • 133. Model conceptual simplu privind termenii de conținut (tag-urile), cu scopul de a fi utilizat în cadrul RDFa www.commontag.org Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  • 134. O resursă de interes adresabilă via un URI are asociat (tagged) un număr de instanțe de tip Tag Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  • 135. Fiecare tag poate conține o referință (“pointer”) spre o altă resursă ce identifică neambiguu acel concept descris de conținut Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  • 136. Clasa Tag cu sub-clasele AuthorTag, ReaderTag, AutoTag proprietăți: means tagged taggingDate label ctag:means a rdf:domain rdf:range owl:ObjectProperty ; ctag:Tag ; rdf:Resource . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  • 137. <!-- 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 Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  • 138. Cum sunt modelate resursele Wikipedia, disponibile în RDF prin intermediul DBpedia? Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  • 139. 4 scheme de clasificare: categorii de articole Wikipedia exprimate prin SKOS (Simple Knowledge Organizational System), sub controlul exercitat de editorii Wikipedia Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  • 140. 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 Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  • 141. 4 scheme de clasificare: UMBEL (Upper Mapping and Binding Exchange Layer) ontologie creată cu scopul interconectării datelor disponibile pe Web, derivată din OpenCyc Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  • 142. Dr. Sabin Buragawww.purl.org/net/busaco UMBEL – model conceptual facilitând interoperabilitatea http://umbel.org/
  • 143. 4 scheme de clasificare: DBpedia Ontology – http://dbpedia.org/ontology/ 529 clase + 2333 proprietăți 3220000 de instanțe model creat manual pe baza template-urilor Wikipedia detalii la http://wiki.dbpedia.org/Ontology Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  • 144. Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF C. Bizer et al., “DBpedia – A Crystallization Point for the Web of Data” (2009)
  • 145. lista claselor specificate de ontologia DBpedia (fragment) Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  • 146. lista proprietăților DBPedia (fragment) detalii la http://wiki.dbpedia.org/Datasets/Properties Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  • 147. Interconectarea datelor via owl:sameAs SELECT ?resursa WHERE { <http://dbpedia.org/resource/Romania> owl:sameAs ?resursa } obținerea resurselor privitoare la Romania pe baza unei interogări SPARQL Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  • 148. Interconectarea datelor via owl:sameAs <http://dbpedia.org/resource/Romania> owl:sameAs Freebase <http://rdf.freebase.com/ns/m.06c1y> ; <http://linkedgeodata.org/triplify/node432425064> ; Eurostat <http://eurostat.linked-statistics.org/dic/c_ctrl#RO> ; <http://sw.cyc.com/concept/Mx4rvViC8ZwpEbGdrcN5Y29ycA> . OpenCyc Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia astfel, pot fi realizate reconcilieri între modele conceptuale
  • 149. Dr. Sabin Buragawww.purl.org/net/busaco Putem impune restricții suplimentare modelului de cunoștințe descrise în OWL?
  • 150. Restricțiile sunt considerate clase definite prin descrierea proprietăților indivizilor pe care-i pot include Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 151. Restricțiile sunt considerate clase definite prin descrierea proprietăților indivizilor pe care-i pot include specificând o mulțime de indivizi în termeni de clase cunoscute (proprietăți comune), putem folosi această descriere pentru a defini o nouă clasă – mai restrictivă Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 152. Restricțiile impuse proprietăților trebuie să apară în cadrul elementelor owl:Restriction și owl:onProperty Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 153. Tipuri de restricții: asupra valorilor allValuesFrom, someValuesFrom, hasValue privitoare la cardinalitate cardinality, minCardinality, maxCardinality Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 154. Prin owl:someValuesFrom specificăm restricția: “indivizii pentru care măcar o valoare a proprietății p provine din clasa C” [a owl:onProperty owl:someValuesFrom owl:Restriction ; p; C] Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 155. Exemplu: clasa mamelor reprezintă intersecția clasei 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"/> [ a owl:Restriction ; </owl:onProperty> owl:onProperty :areGen ; <owl:hasValue owl:hasValue :Feminin ] rdf:resource="#Feminin"/> </owl:Restriction> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 156. Exemplu: clasa mamelor reprezintă intersecția clasei 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"/> [a owl:Restriction ; </owl:onProperty> owl:onProperty :areCopil ; <owl:someValuesFrom rdf:resource="#Persoana"/> owl:someValuesFrom :Persoana ] </owl:Restriction> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 157. Prin owl:allValuesFrom specificăm restricția: “toți indivizii pentru care toate valorile proprietății p provin din clasa C” [a owl:Restriction ; owl:onProperty p; owl:allValuesFrom C ] Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 158. Exemplu: clasa persoanelor vegetariene <owl:Class rdf:about="#Vegetarian"> <rdfs:subClassOf rdf:resource="#Persoana" /> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#consuma"/> <owl:allValuesFrom rdf:resource="#Vegetala" /> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 159. Exemplu: clasa persoanelor vegetariene știind că Alex este vegetarian și consumă spanac :alex a :Vegetarian . :alex :consuma :spanac . …se poate deduce faptul că spanacul aparține clasei vegetalelor: :spanac a :Vegetala . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 160. În cazul someValuesFrom, trebuie să existe măcar un membru al clasei pentru care are loc o proprietate dată aceasta implică faptul că trebuie să existe un astfel de membru Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 161. Restricția allValuesFrom înseamnă “dacă există membri, atunci ei toți trebuie să aibă acea proprietate” aceasta nu implică faptul că trebuie să existe de fapt membrii corespunzători Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 162. Via restricții privind cardinalitatea, poate fi stabilit numărul – minim/maxim – de valori distincte pe care o proprietate le poate avea [a owl:onProperty owl:cardinality owl:Restriction ; p; n]. Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  • 163. <owl:Class rdf:ID="Audio"> <rdfs:subClassOf rdf:resource="#Multimedia" /> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#stocat"> <!-- indicăm cardinalitatea minimă --> <owl:minCardinality rdf:datatype="xsd:nonNegativeInteger"> 1 </owl:minCardinality> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> </owl:Class> fiecare instanță din clasa Audio trebuie să apară măcar în cel puțin o relație “stocat” Dr. Sabin Buragawww.purl.org/net/busaco Exemplu: o resursă audio poate fi stocată măcar de un sit Web multimedia
  • 164. Aspect important: verificarea consistenței și coerenței ontologiei inclusiv verificarea consistenței aserțiunilor privind indivizii care populează domeniul modelat de ontologie Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 165. Dr. Sabin Buragawww.purl.org/net/busaco OWL Aspect important: clasele și proprietățile pot avea “definiții” multiple AAA – Anyone can say Anything about Any topic
  • 166. Aspect important: declarațiile privitoare la indivizi nu trebuie obligatoriu să fie stocate în cadrul aceluiași document uzual, modelul ontologic este separat de aserțiunile privind indivizii separation of concerns Dr. Sabin Buragawww.purl.org/net/busaco OWL
  • 167. Antet: Ontology Clase (concepte): Class, rdfs:subClassOf, intersectionOf Proprietăți: rdfs:Property, rdfs:subPropertyOf, rdfs:domain, rdfs:range (In)egalități: equivalentClass, equivalentProperty, sameAs, differentFrom, allDifferent Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: privire de ansamblu
  • 168. Caracteristici ale proprietăților: inverseOf, TransitiveProperty, SymmetricProperty, FunctionalProperty, InverseFunctionalProperty Restricții de tip asupra proprietăților: allValuesFrom, someValuesFrom Restricții de cardinalitate: minCardinality, maxCardinality, cardinality Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: privire de ansamblu
  • 169. modelarea cunoștințelor ontologii specificate în OWL 1.0 Dr. Sabin Buragawww.purl.org/net/busaco rezumat
  • 170. Dr. Sabin Buragawww.purl.org/net/busaco episodul viitor: OWL 2.0 + formalizare și baze de cunoștințe