SlideShare a Scribd company logo
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Dezvoltarea aplicațiilor Web
Ѻ
modelarea cunoștințelor la nivel de Web
ontologii exprimate prin OWL
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
„Cine deschide toate porțile,
le poate închide pe toate.”
Antonio Porchia
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
necesitate
Existența unui vocabular partajabil
elementele sintactice (cuvintele, marcatorii etc.)
au același înțeles atât pentru transmițător,
cât și pentru destinatar
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
necesitate
Existența unui set comun de constrângeri
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
necesitate
Existența unui cadru conceptual unanim acceptat
oferind relații între clase
de date/informații/cunoștințe
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
necesitate
Existența unui cadru conceptual unanim acceptat
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.SabinBuragaprofs.info.uaic.ro/~busaco
:alecsandru a foaf:Person .
:alecsandru foaf:givenname "Alecsandru"@ro .
:alecsandru :teach :HCILab .
:HCILab :isPartOf :HCI .
:HCI a :Discipline .
:alecsandru a :MScGraduate .
:alecsandru :graduated :SoftSysEng .
:SoftSysEng rdfs:subClassOf :PostgradStudies .
:PostgradStudies rdfs:subClassOf :FIIStudies .
:FIIStudies :providedBy :FII .
:FII a :Faculty , foaf:Agent .
:FII foaf:homepage <http://www.infoiasi.ro> .
:Academic a skos:Concept .
„Alecsandru predă laboratorul la disciplina HCI.
Alecsandru are studii de master în software engineering.”
adnotare
semantică
(explicită)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
necesitate
Un limbaj de modelare complexă a cunoștințelor
gestionate de o aplicație Web
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
soluție
Modelarea cunoștințelor via ontologii
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
Ontologia = teorie privitoare la existență
„ramură a filosofiei care studiază
trăsăturile ființei, existența”
(Hoklenium, 1613)
ontos (ființă, existență) + logos (studiu)
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
Scop:
conceptualizări complexe
ale unui domeniu de interes
Tom Gruber, “Toward Principles for the Design of Ontologies
Used for Knowledge Sharing”, Human-Computer Studies (1993)
tomgruber.org/writing/onto-design.htm
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
“Ontology is a set of knowledge terms,
including the vocabulary,
the semantic interconnections,
and some simple rules of inference and logic
for some particular topic.”
James Hendler, 2001
Dr.SabinBuragaprofs.info.uaic.ro/~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
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
Adam Pease, 2007 citând C.K. Ogden/I.A. Richards (1923)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
Folosind ontologii, asociem semantici
„lucrurilor” despre care „vorbim”
exemplu: un framework Web este o componentă software
care facilitează dezvoltarea unui sit Web
categorie
(clasă)
relație
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
Folosind ontologii, asociem semantici
„lucrurilor” despre care „vorbim”
descrierile semantice „ajută” calculatoarele
să pară „smart”
Dr.SabinBuragaprofs.info.uaic.ro/~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
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,…
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – exemplificare
Siri – asistent digital personal mobil
(Tom Gruber, 2010; Apple, din 2011)
bazat pe modele semantice privind domenii + activități
recurge la servicii (API-uri) publice de interes
manifestă o interacțiune naturală cu utilizatorul
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri
Ontologii informale versus formale
(de la limbaj natural la logică)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri
Ontologii formale:
axiomatice
sau
bazate pe prototipuri
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri
Ontologii formale:
axiomatice
disting sub-tipurile prin axiome și definiții
specificate într-un limbaj formal (logic)
bazate pe prototipuri
disting sub-tipurile prin comparația cu un membru tipic
ori specificând un prototip pentru fiecare sub-tip în parte
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri
Conform nivelului de descriere oferit:
vocabular
de exemplu, specificare via o schemă XML
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri
Conform nivelului de descriere oferit:
sistem relațional
schemă de baze de date
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri
După scopul & contextul utilizării:
ontologii specializate
biologie (GO – Gene Ontology)
comerț electronic (GoodRelations)
muzică (MO – Music Ontology)
ontologia proceselor (serviciilor Web) OWL-S
etc.
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
modelul conceptual al sistemului GitHub
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri
După scopul & contextul utilizării:
ontologii generale
Cyc
DOLCE (Descriptive Ontology for Linguistic
and Cognitive Engineering)
PROTON (PROTo ONtology)
SUMO (Suggested Upper Merged Ontology)
UMBEL (Upper Mapping and Binding Exchange Layer)
…
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri
După scopul & contextul utilizării:
ontologii intermediare – mid-level
exemplificare:
MILO (MId-Level Ontology)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri (Guarino, 1998)
De nivel cel mai înalt
(top-level, upper-level) – cele mai generale
Specifice unui domeniu
(domain-related) – verticale
Specifice unor sarcini
(task-related) – orizontale
Specifice unei aplicații
(application-related) – apelează la ontologii verticale
și/sau orizontale
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – tipuri (Schaffert et al., 2005)
clasificare după scop (model scope), expresivitate (level
of expressiveness) și utilizare efectivă (model acceptance)
https://blog.semantic-web.at/2015/04/21/classifying-knowledge-organisation-systems/
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
Aspecte de interes – inginerie
(Gasevic, Djuric & Devedzic, 2009)
modelare
colaborare
interoperabilitate
educație
detalii în
viitoarele cursuri
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
YAGO (Yet Another Great Ontology) – versiunea 3 (2015)
modelează entități (abstracte); utilizare în cadrul DBpedia
github.com/yago-naga/yago3
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii
spotlx – interfață Web de interogare YAGO
https://gate.d5.mpi-inf.mpg.de/webyagospotlx/WebInterface
în acest caz: lista oamenilor de știință născuți după 1933
aproape de orașul Paris care au primit premiul Nobel în chimie
necesitatea dezambiguizării
(e.g., Paris poate fi
o localitate din USA)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – alte exemple
ODOL (Object-oriented software Design Ontology)
folosită la reprezentarea șabloanelor de proiectare
www-ist.massey.ac.nz/Projects/wop/odol.html
PersonaOnto (Ș. Negru & S. Buraga, 2012, 2014)
modelează personas
blankdots.com/open/personasonto.html
Ontologiile BBC din domeniul mass-media
www.bbc.co.uk/ontologies
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
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.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare: exemplu (1)
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.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare: exemplu (2)
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.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
O ontologie va include:
categoriile, clasele, conceptele fundamentale
proprietățile asociate conceptelor
relațiile dintre concepte
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Specificarea categoriilor/conceptelor
criteriile de stabilire a conceptelor sunt complexe
experiența are un rol foarte important
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Clasele (categoriile) de nivel cel mai înalt ale ontologiei Cyc
Noy & Hafner, 1997
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Categorii de nivel înalt – cazul SUMO (Adam Pease, 2007)
Entity
Physical
Object
SelfConnectedObject
Substance
CorpuscularObject
Region
Collection
Process
Abstract
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Specificarea proprietăților
proprietate  atribut
proprietate  slot/frame
în inteligența artificială
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Specificarea proprietăților
proprietate = relație binară care poate preciza fapte
privitoare la membrii unei clase (indivizi)
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Specificarea proprietăților
o proprietate se poate referi la:
tipuri de date – datatype property
sau
obiecte – object property
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Specificarea proprietăților – exemplu de frame
Alex: Person
vârstă
ocupație
23
MScStudent
cardinality: 1
ocupație WebDeveloper
… …
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Specificarea proprietăților – exemplu de frame
Alex: Person
vârstă
ocupație
23
MScStudent
cardinality: 1
ocupație WebDeveloper
… …
datatype
property
object
property
o persoană are o singură vârstă,
dar poate avea
un număr arbitrar de ocupații
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Modalități de reprezentare vizuală:
modelul de date (abstract)
bazat pe RDF Schema/OWL
instanțe (aici, adoptând
vocabularul DCMI,
pe baza modelului RDF)
Resursă
subiect
Resursă
obiect
Proprietate
WWW
tim-
berners-lee
dc:Creator
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Specificarea relațiilor
pentru organizarea/ilustrarea categoriilor
se folosesc arborii și grafurile
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii – specificare
Specificarea relațiilor – cazul WordNet
relațiile pot fi de:
hiperonimie – „general-specific”
meronimie – „parte-întreg”
antonimie
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
ontologii vs. limbaj vs. cunoștințe
Ontologie
expandabilă
independentă de limbaj
procesabilă de către mașină
Limbaj (natural)
înțeles de oameni
ambiguu
Cunoștințe
se modifică rapid („perisabile”)
pot exprima local un „lucru”
conform Adam Pease (2007)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Cum exprimăm ontologiile la nivel de Web?
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
Web Ontology Language
scop:
facilitarea interpretării de către software
a conținutului informațional
utilizează modelul RDF și RDF Schema
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL 1: niveluri
OWL Lite
folosit pentru exprimarea ierarhiilor de clasificare și
a unor constrângeri de bază
facilitează realizarea de raționamente simple
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL 1: niveluri
OWL DL (Description Logics)
oferă maximum de expresivitate,
fără pierderea completitudinii și decidabilității
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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)
detalii în
viitorul curs
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL 1: niveluri
OWL Lite  OWL DL  OWL Full
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
Sintaxă:
documente RDF
se folosesc formate precum RDF/XML sau Turtle
ușor de procesat, stocat, interogat
(API-uri RDF, triple stores, SPARQL,…)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
Sintaxă:
„abstractă”
corespunde modelului logicilor descrierii
e.g., sintaxa funcțională, sintaxa Manchester
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
O ontologie OWL este compusă în principal din:
clase
proprietăți
relații
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
eventual, pot fi precizate:
instanțe de clase
axiome
adnotări și importuri
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
Fiecare ontologie va fi identificată de un URI unic
Cell Ontology: http://purl.obolibrary.org/obo/cl.owl
FOAF: http://xmlns.com/foaf/0.1/
Getty Voc. Program Ontology: http://vocab.getty.edu/ontology
Music Ontology: http://purl.org/ontology/mo/
PersonasOnto: http://blankdots.com/open/personasonto.owl
Sport Ontology: http://www.bbc.co.uk/ontologies/sport/
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
Multimedia
Audio Video
Proprietar
anca eugenancuta
the_eye
zidul
detine
rdfs:subClassOf rdfs:subClassOf
rdf:type rdf:type
owl:sameAs rudaCu
detine
detinutDe
detinutDe
rdf:type
detinutDe
nivelul datelor (indivizi)
nivelul conceptual (cunoștințe)
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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
Dr.SabinBuragaprofs.info.uaic.ro/~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
clasa cea mai generală, a tuturor indivizilor: owl:Thing
clasa vidă: owl:Nothing
Dr.SabinBuragaprofs.info.uaic.ro/~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 owl:Class ;
rdfs:subClassOf :Multimedia .
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea claselor
Exemplu:
resursele video nu sunt lumi virtuale, nici executabile
Class: Video
SubClassOf: Multimedia
DisjointWith: LumiVirtuale
DisjointWith: Executabile
sintaxa
Manchester
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea claselor
Implicit, OWL se aliniază ipotezei lumii deschise
în unele cazuri, putem specifica exact membrii unei clase,
adoptând – local – ipoteza lumii închise (closed world)
Dr.SabinBuragaprofs.info.uaic.ro/~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
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea claselor
inspectarea claselor cu instrumentul Protégé
protege.stanford.edu
Dr.SabinBuragaprofs.info.uaic.ro/~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 .
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea claselor
Având două clase echivalente,
înseamnă că vor avea doar aceeași membri
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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 owl:ObjectProperty ;
rdfs:domain :Multimedia ;
rdfs:range :SitMultimedia .
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea proprietăților
Proprietățile pot include
sub-proprietăți (specializări)
…și pot avea specificate caracteristici „speciale”
definite
via RDF Schema
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea proprietăților
De remarcat faptul că unele dintre proprietățile
specificate de OWL – e.g., owl:equivalentClass –
sunt simetrice
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea proprietăților
ReviewerOf este sub-proprietate a lui foaf:knows și
este inversa proprietății ReviewedBy
(Ciprian Amariei, 2007)
Dr.SabinBuragaprofs.info.uaic.ro/~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:
foaf:knows
sintaxa
Manchester
Dr.SabinBuragaprofs.info.uaic.ro/~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
A p C .
se recurge la owl:TransitiveProperty
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea proprietăților
Definirea unei proprietăți tranzitive – exemplu:
:utilizează a owl:TransitiveProperty ,
owl:ObjectProperty ;
owl:inverseOf :utilizatDe .
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea proprietăților
O proprietate mai poate fi definită ca fiind:
invers funcțională
anti-simetrică
reflexivă
anti-reflexivă
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea proprietatilor
relația rudaCu este simetrică și reflexivă
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea proprietăților
Folosind owl:equivalentProperty se poate defini
că două proprietăți sunt echivalente
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea indivizilor
Un individ (membru) al unei clase
se declară ca aparținând clasei respective
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea indivizilor
Echivalența între indivizi se realizează
prin owl:sameAs
se poate folosi și owl:differentFrom
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
:ancuta rudaCu :eugen .
:ancuta owl:sameAs :anca .
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea indivizilor
Exemplu: specificarea a doi indivizi distincți
<owl:Thing rdf:ID="zidul">
<rdfs:comment>Un film din România</rdfs:comment>
</owl:Thing>
<rdf:Description rdf:about="#zidul">
<owl:differentFrom rdf:resource="#the_wall"/>
<rdfs:comment>
Nu are legătură cu 'The Wall'
</rdfs:comment>
<rdf:type rdf:resource="#Video" />
</rdf:Description>
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea indivizilor
Pentru a defini colecții de indivizi distincți,
se utilizează owl:distinctMembers
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
Câteva exemplificări concrete?
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – schema.org
Modelul conceptual schema.org exprimat în OWL:
diverse clase de entități intangibile
schema:Service
rdf:type owl:Class ;
rdfs:subClassOf schema:Intangible .
schema:Intangible
rdf:type owl:Class ;
rdfs:subClassOf owl:Thing .
schema:LoanOrCredit
rdf:type owl:Class ;
rdfs:comment "A financial product for
the loaning of an amount of money." ;
rdfs:label "Loan or credit" ;
rdfs:subClassOf
schema:FinancialProduct .
schema:FinancialProduct
rdf:type owl:Class ;
rdfs:subClassOf schema:Service .
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – schema.org
Modelul conceptual schema.org exprimat în OWL:
specificarea unei proprietăți generice
schema:requiredCollateral
rdf:type rdf:Property ;
rdfs:comment "Assets required to secure loan or credit repayments.
It may take form of third party pledge, goods, financial instruments" ;
rdfs:domain schema:LoanOrCredit ;
rdfs:range [ rdf:type owl:Class ;
owl:unionOf ( xsd:string owl:Thing ) ;
] .
intervalul valorilor reprezintă
o reuniune de clase
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – schema.org
Modelul conceptual schema.org exprimat în OWL:
definirea unei proprietăți obiectuale cu restricții aferente
schema:sender
rdf:type owl:ObjectProperty ;
rdfs:comment "A sub property of participant.
The participant who is at the sending end of the action." ;
rdfs:domain [ rdf:type owl:Class ;
owl:unionOf ( schema:Message schema:ReceiveAction ) ;
] ;
rdfs:range [ rdf:type owl:Class ;
owl:unionOf ( schema:Organization schema:Person ) ;
] ;
rdfs:subPropertyOf schema:participant .
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – schema.org
Modelul conceptual schema.org exprimat în OWL:
definirea unor proprietăți vizând tipurile de date
schema:episodeNumber
rdf:type owl:DatatypeProperty ;
rdfs:comment "Position of the episode
within an ordered group of episodes." ;
rdfs:domain schema:Episode ;
rdfs:range [ rdf:type owl:Class ;
owl:unionOf ( xsd:integer xsd:string ) ;
] ;
rdfs:subPropertyOf schema:position .
schema:position
rdf:type owl:DatatypeProperty ;
rdfs:domain [
owl:unionOf ( schema:ListItem
schema:CreativeWork ) ;
] ;
rdfs:range [
rdf:type owl:Class ;
owl:unionOf ( xsd:integer
xsd:string ) ;
] .
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – FOAF
Specificarea în OWL a vocabularului FOAF
(Dan Brickley & Libby Miller, 2014)
http://xmlns.com/foaf/spec/
Dr.SabinBuragaprofs.info.uaic.ro/~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 owl:Class .
foaf:Person rdfs:subClassOf foaf:Agent .
foaf:Group rdfs:subClassOf foaf:Agent .
foaf:Organizationrdfs:subClassOf foaf:Agent .
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – FOAF
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – FOAF
Lista claselor FOAF
Agent Document Group Image OnlineAccount
OnlineChatAccount OnlineEcommerceAccount
OnlineGamingAccount Organization Person
PersonalProfileDocument Project
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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 rdfs:domain foaf:Person .
foaf:publications rdfs:range foaf:Document .
Dr.SabinBuragaprofs.info.uaic.ro/~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 .
idem, pentru foaf:homepage, foaf:jabberID, foaf:weblog,…
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – FOAF
Lista proprietăților vizând informații personale
weblog knows interest currentProject pastProject plan
based_near workplaceHomepage workInfoHomepage
schoolHomepage topic_interest publications geekcode
myersBriggs dnaChecksum
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – Common Tag
Model conceptual simplu privind termenii de conținut
(tag-urile), cu scopul de a fi utilizat în cadrul RDFa
http://readwrite.com/2009/06/10/common_tag_brings_standards_to_metadata
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – Common Tag
Clasa Tag cu sub-clasele AuthorTag, ReaderTag, AutoTag
proprietăți: means tagged taggingDate label
ctag:means a owl:ObjectProperty ;
rdf:domain ctag:Tag ;
rdf:range rdf:Resource .
Dr.SabinBuragaprofs.info.uaic.ro/~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://viaf.org/viaf/122443074/"
property="ctag:label"
content="Portishead"/>
</div>
<img id="resursa" src="…" alt="Formația Portishead" />
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – Common Tag
înțelesul termenului „Portishead” e dat
de web-ul (modelul conceptual) al VIAF
– Virtual International Authority File
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
Cum sunt modelate resursele Wikipedia,
disponibile în RDF prin intermediul DBpedia?
Dr.SabinBuragaprofs.info.uaic.ro/~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
amănunte de interes:
wiki.dbpedia.org/services-resources/datasets/dbpedia-datasets
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
YAGO – Yet Another Great Ontology
pe baza asocierii dintre categoriile-frunză Wikipedia și
mulțimile de sinonime (synsets) WordNet
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
YAGO – Yet Another Great Ontology
J. Hoffart et al., “YAGO2: A Spatially and Temporally Enhanced
Knowledge Base from Wikipedia”, AI Journal (2012)
http://tinyurl.com/azkqee7
F. Mahdisoltani et al., “YAGO3: A Knowledge Base
from Multilingual Wikipedias”, CIDR 2015
https://suchanek.name/work/publications/cidr2015.pdf
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
UMBEL (Upper Mapping and Binding Exchange Layer)
umbel.org
ontologie creată cu scopul interconectării datelor
disponibile pe Web, derivată din OpenCyc
34 de mii de concepte organizate în 32 de „super” tipuri
65 de mii de relații
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
UMBEL – model conceptual facilitând interoperabilitatea
acces via servicii Web REST
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
4 scheme de clasificare:
DBpedia Ontology – a shallow, cross-domain ontology
identificată de URL-ul http://dbpedia.org/ontology/
685 de clase, 2795 de proprietăți
peste 4.2 milioane de instanțe (entități descrise)
model creat manual pe baza Wikipedia
detalii la wiki.dbpedia.org/services-resources/ontology
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – FOAF
C. Bizer et al., “DBpedia – A Crystallization Point for the Web of Data” (2009)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
proprietăți ce relaționează o clasă
(aici, Device) de alte clase sau literali
de explorat
mappings.dbpedia.org/server/ontology/classes/
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
diverse meta-date
privitoare la ontologia
DBpedia (fragment)
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
Interconectarea datelor via owl:sameAs
SELECT ?res
WHERE {
<http://dbpedia.org/resource/Romania> owl:sameAs ?res
}
obținerea resurselor privitoare la Romania
pe baza unei interogări SPARQL
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: studiu de caz – DBpedia
Interconectarea datelor via owl:sameAs
<http://dbpedia.org/resource/Romania> owl:sameAs
<https://www.wikidata.org/wiki/Q218> ;
<http://sws.geonames.org/798549/> ;
…
<http://eurostat.linked-statistics.org/dic/c_ctrl#RO> ;
<http://gadm.geovocab.org/id/0_189> ;
<http://ko.dbpedia.org/resource/루마니아> .
Wikidata
Eurostat
astfel, pot fi realizate reconcilieri între modele conceptuale
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Putem impune restricții suplimentare
modelului de cunoștințe descrise în OWL?
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea restricțiilor
Restricțiile sunt considerate clase
definite prin descrierea proprietăților indivizilor
pe care-i pot include
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea restricțiilor
Restricțiile impuse proprietăților
trebuie să apară în cadrul elementelor
owl:Restriction și owl:onProperty
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea restricțiilor
Tipuri de restricții:
asupra valorilor
allValuesFrom, someValuesFrom, hasValue
privitoare la cardinalitate
cardinality, minCardinality, maxCardinality
Dr.SabinBuragaprofs.info.uaic.ro/~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:Restriction ;
owl:onProperty p ;
owl:someValuesFrom C ]
Dr.SabinBuragaprofs.info.uaic.ro/~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"/>
</owl:onProperty>
<owl:hasValue
rdf:resource="#Feminin"/>
</owl:Restriction>
[ a owl:Restriction ;
owl:onProperty :areGen ;
owl:hasValue :Feminin ]
Dr.SabinBuragaprofs.info.uaic.ro/~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"/>
</owl:onProperty>
<owl:someValuesFrom
rdf:resource="#Persoana"/>
</owl:Restriction>
[ a owl:Restriction ;
owl:onProperty :areCopil ;
owl:someValuesFrom :Persoana ]
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL: specificarea restricțiilor
Exemplu: clasa persoanelor vegetariene
știind că Dan este vegetarian și consumă spanac
:dan a :Vegetarian .
:dan :consuma :spanac .
…se poate deduce faptul că spanacul
aparține clasei vegetalelor:
:spanac a :Vegetala .
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~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:Restriction ;
owl:onProperty p ;
owl:cardinality n ] .
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Exemplu: o resursă audio poate fi stocată
măcar de un sit Web multimedia
<owl:Class rdf:ID="Audio">
<rdfs:subClassOf rdf:resource="#Multimedia" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#stocat">
<!-- indicăm cardinalitatea minimă -->
<owl:minCardinality rdf:datatype="xsd:nonNegativeInteger">
1
</owl:minCardinality>
</owl:onProperty>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
fiecare instanță din clasa Audio trebuie să apară
măcar în cel puțin o relație „stocat”
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
Aspect important:
verificarea consistenței și coerenței ontologiei
inclusiv verificarea consistenței aserțiunilor
privind indivizii
care populează domeniul modelat de ontologie
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
Aspect important:
clasele și proprietățile pot avea „definiții” multiple
AAA – Anyone can say Anything about Any topic
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
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.SabinBuragaprofs.info.uaic.ro/~busaco
OWL
editare
colaborativă
a ontologiilor
WebProtégé
protegewiki.stanford.edu/wiki/WebProtege
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
OWL 1: privire de ansamblu
Antet:
Ontology
Clase (concepte):
Class, rdfs:subClassOf, intersectionOf
Proprietăți:
rdfs:Property, rdfs:subPropertyOf, rdfs:domain, rdfs:range
(In)egalități:
equivalentClass, equivalentProperty,
sameAs, differentFrom, allDifferent
Dr.SabinBuragaprofs.info.uaic.ro/~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.SabinBuragaprofs.info.uaic.ro/~busaco
rezumat
Ѻ
modelarea cunoștințelor
ontologii specificate în OWL 1.0
Dr.SabinBuragaprofs.info.uaic.ro/~busaco
episodul viitor: OWL 2.0
formalizare + raționamente automate

More Related Content

Similar to WADe 2017-2018 (9/12) Specifying Ontologies in OWL (Web Ontology Language)

WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
Sabin 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
 
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
 
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
Sabin 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 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 (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
 
Tema10 iliuta-stoica-ontologies-web-semantics
Tema10 iliuta-stoica-ontologies-web-semanticsTema10 iliuta-stoica-ontologies-web-semantics
Tema10 iliuta-stoica-ontologies-web-semantics
Iliuta Stoica
 
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
 
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
 
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
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
 
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
 
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
 
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
 

Similar to WADe 2017-2018 (9/12) Specifying Ontologies in OWL (Web Ontology Language) (15)

WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
 
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...
 
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...
 
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 (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 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 (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...
 
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 (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...
 
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...
 
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
 
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...
 
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...
 
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...
 
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...
 

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 arhitecturale
Sabin 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 Web
Sabin 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 Web
Sabin 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 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 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
Sabin 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 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
Sabin 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ţiale
Sabin 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 Web
Sabin 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ţiale
Sabin 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.js
Sabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
Sabin 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-uri
Sabin 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 JavaScript
Sabin 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 HTML5
Sabin 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 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 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 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)
 

WADe 2017-2018 (9/12) Specifying Ontologies in OWL (Web Ontology Language)