STAW 08/12: Programare Web. Suita de tehnologii HTML5
Web08 Semantic Web: Inginerie Ontologica (I)
1. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Web semantic
Dr. SabinCorneliu Buraga
Facultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.purl.org/net/busaco
3. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
“It is not the strongest of the species
that survive, nor the most intelligent,
but the ones most responsive to change.”
Charles Darwin
Dr. Sabin Buraga http://www.purl.org/net/busaco
4. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
intro
Folosind ontologiile, putem modela cunostintele
knowledge modeling
Apare necesitatea managementului acestora
knowledge management
Dr. Sabin Buraga http://www.purl.org/net/busaco
6. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Achizitia (acquiring)
aplicatiile Web trebuie sa preia cunostinte,
nu date brute, fara semnificatie
e.g., texte (formatate) preluate din formulare
utilizatorii obisnuiti nu vor marca datele
in XML, RDF sau OWL
conceptele trebuie stocate ca informatii structurate
Dr. Sabin Buraga http://www.purl.org/net/busaco
7. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Modelarea (modelling)
ideal, fiecare fragment de informatie trebuie modelat
riguros la nivel semantic
in practica, acest aspect este aproape imposibil
vezi dificultatile de dezambiguizare a limbajului natural
pasi de urmat: identificarea claselor,
definirea proprietatilor, completarea datelor despre
indivizi (input explicit, tagging, microformate etc.)
Dr. Sabin Buraga http://www.purl.org/net/busaco
8. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Reutilizarea (reusing)
fiecare entitate trebuie definita doar o singura data
informatiile trebuie sa poata fi accesate
la nivel global (eventual, via politici de acces)
facilitarea reutilizarii este data de usurinta utilizarii
sistemului (e.g., sintaxa simpla, asistenti digitali,
flexibilitate etc.)
Dr. Sabin Buraga http://www.purl.org/net/busaco
9. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Preluarea (retrieving)
mecanisme de interogare si filtrare a cunostintelor
oferirea de suport pentru efectuarea de agregari, procesari
si extrageri de informatii, in maniera (semi)automata,
pe baza meta‐datelor si relatiilor dintre entitati
exemplu: extragerea intereselor comune
ale membrilor unui grup dintr‐o retea sociala
Dr. Sabin Buraga http://www.purl.org/net/busaco
10. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Publicarea (publishing)
cunostintele trebuie sa poata fi publicate
in formate standardizate,
care sa incurajeze refolosirea in alte contexte
accesul la cunostinte are in vedere
atit utilizatorii umani, cit si aplicatiile
Dr. Sabin Buraga http://www.purl.org/net/busaco
11. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Publicarea (publishing)
cunostintele trebuie sa fie usor redate,
conform necesitatilor si preferintelor utilizatorilor
depozitele de cunostinte trebuie sa ofere export
in formate consacrate (RDF, OWL)
Dr. Sabin Buraga http://www.purl.org/net/busaco
12. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Mentinerea (maintaining)
necesitatea existentei unor servicii care sa asigure
consistenta cunostintelor
un suport manual poate fi oferit de wiki‐uri
serviciile automate se pot baza pe reasoners
Dr. Sabin Buraga http://www.purl.org/net/busaco
13. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Adaptare dupa Horrocks & Rector, 2004
Ontologiile pot fi considerate drept
lego‐uri conceptuale (Conceptual Lego)
Masterand
urm(ar)ind
cursul
Agent Web
“Semantic
Web”
Dr. Sabin Buraga http://www.purl.org/net/busaco
14. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Ontologiile pot proveni din sau pot fi salvate sub forma de:
scheme XML,
scheme de baze de date,
diagrame UML,
spreadsheets,
alte specificatii
Dr. Sabin Buraga http://www.purl.org/net/busaco
15. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
managementul cunostintelor
Probleme:
Crearea de ontologii din diverse surse
Managementul versiunilor
Realizarea colectiilor de ontologii (asocieri,
comparatii, reconcilieri, validari, conversii,...)
Obtinerea, organizarea & vizualizarea domeniului de
cunoastere inainte si in timpul crearii unei ontologii
Utilizarea ontologiilor in functie de context
Dr. Sabin Buraga http://www.purl.org/net/busaco
16. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
necesitate
Existenta unor metodologii de inginerie
a cunostintelor
(knowledge engineering methodologies)
procesul prin care experti ai domeniului si ingineri
vor constitui o baza de cunostinte, specificata de un limbaj
de reprezentare a cunostintelor si
de o suita de instrumente aditionale
procesele, limbajele si instrumentele care pot fi folosite
se bazeaza pe diverse paradigme de reprezentare
a cunostintelor
Dr. Sabin Buraga http://www.purl.org/net/busaco
17. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
abordari
Traditionale din ingineria software clasica
(knowledge engineering)
CommonKADS (Scheriber et al., 2000)
Agile (mai flexibile & facile)
eXtreme Programming
XP.K (Knublauch, 2002),
RapidOWL (Auer, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
18. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
observatii
Dezvoltarea unei ontologii implica
partajarea de informatii si colaborare
“Knowledge is fractal” (Alan Rector, 2004)
ontologiile prezinta aceeasi structura la fiecare nivel
de granularitate (detaliu)
Atentie la dezvoltarile exponentiale ale ontologiei!
fenomenul “exploding bicycle”
Dr. Sabin Buraga http://www.purl.org/net/busaco
19. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie
Complicatii:
necunoasterea apriori a dimensiunii ontologiei
numarul persoanelor implicate
utilizarea ontologiei de catre utilizatori
care nu sunt experti
natural laziness ☺
...
Dr. Sabin Buraga http://www.purl.org/net/busaco
20. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: dificultati
Conflicte privitoare la intuitii
intuitiile sunt dificil de formalizat
expertii in domeniu sunt condusi de obisnuinte si practica
(sabloane de proiectare) prototipuri & generalizari
logicienii sunt motivati de logica si computabilitate
definitii & operatori universali
Dr. Sabin Buraga http://www.purl.org/net/busaco
21. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: dificultati
Transparenta & predictibilitate
versus rigoare & completitudine
Utilizatorii fara experienta
Dr. Sabin Buraga http://www.purl.org/net/busaco
22. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: dificultati
Studiu de caz – Peter Morville, 2007
alergia la alune (peanut allergy):
Acces urgent la informatii exacte & utile
Credibilitatea surselor este esentiala
Orice cautare pe Google esueaza
(popularitate ≠ autoritate in domeniu)
Cunostintele trebuie sa poate fi regasite pe Web
(necesita expertiza in domeniu + abilitati avansate de
cautare via motoare)
Context: Information Architecture (IA)
Dr. Sabin Buraga http://www.purl.org/net/busaco
23. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: dificultati
Modelarea
Semantica (meaning): corectitudinea clasificarilor
& extragerii cunostintelor
Indexarea: desfasurarea activitatilor de
descoperire, cautare si gasire a cunostintelor
Utilizarea: introducerea datelor, luarea de decizii,...
Achizitia: capt(ur)area cunoasterii
Dr. Sabin Buraga http://www.purl.org/net/busaco
24. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: dificultati
Asigurarea calitatii & managementul modificarilor
Calitatea:
stabilirea de criterii privitoare la ceea ce este “corect”
Evolutia:
luarea in calcul a schimbarilor viitoare ale ontologiei
Testarea:
controlul modificarilor, asigurarea calitatii (QA)
Dr. Sabin Buraga http://www.purl.org/net/busaco
25. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: dificultati
Privitoare la persoanele implicate
Aparitia confuziilor privitoare la termeni
si la utilizarea ontologiei
Persoane provenind din medii eterogene
filosofie, interactiune om‐calculator, inginerie software,
lingvistica, stiinte cognitive,...
Recurgerea la sintaxe diferite
Dr. Sabin Buraga http://www.purl.org/net/busaco
26. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: realitati
Gasirea dificila unor criterii formale
(consistenta, completitudine, concizie,...)
Dr. Sabin Buraga http://www.purl.org/net/busaco
27. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: realitati
Generarea manuala a ontologiilor
taxonomii navigabile: Open Directory, Yahoo!,...
folksonomii
ontologii publice – de exemplu, Gene Ontology
ontologii interne – e.g., Daimler‐Chrysler
Dr. Sabin Buraga http://www.purl.org/net/busaco
28. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: realitati
Ontologiile generale (toplevel) nu sunt cu adevarat
utile in practica
Dr. Sabin Buraga http://www.purl.org/net/busaco
29. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: realitati
Apar probleme teoretice/practice privind:
asigurarea coerentei,
facilitarea procesarii,
folosirea surselor de date multiple
Dr. Sabin Buraga http://www.purl.org/net/busaco
30. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: realitati
Diferite vocabulare in vigoare
clasa ≈ concept ≈ categorie ≈ tip
instanta ≈ individ
entitate ≈ obiect (clasa/individ)
proprietate ≈ slot ≈ relatie ≈ atribut ≈
≈ rol ≈ legatura semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
31. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
inginerie: realitati
Diferite sintaxe existente:
sintaxa abstracta,
N3,
XML/RDF,
logica de ordin I,
formatul Protégé,
limbaj natural (parafraza),
...
Dr. Sabin Buraga http://www.purl.org/net/busaco
32. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie (Noy & McGuinness, 2003)
Stabilirea domeniului de cunoastere
Organizarea ontologiei
“Umplerea” ontologiei
Verificarea ontologiei
Publicarea ontologiei
Dr. Sabin Buraga http://www.purl.org/net/busaco
33. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Stabilirea domeniului de cunoastere
asamblarea resurselor de informatie si expertiza
a ceea ce vor deveni concepte (things)
ale domeniului de interes
se vor asigura consensul si consistenta
Dr. Sabin Buraga http://www.purl.org/net/busaco
34. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Organizarea ontologiei
proiectarea pe ansamblu a structurii conceptuale:
Identificarea principalelor concepte concrete
si a proprietatilor acestora
Identificarea relatiilor dintre concepte
Crearea conceptelor abstracte
Identificarea instantelor
Referentierea/includerea altor ontologii
...
Dr. Sabin Buraga http://www.purl.org/net/busaco
35. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
“Umplerea” ontologiei
adaugarea conceptelor
inserarea relatiilor/constringerilor
adaugarea indivizilor
…la nivelul de detaliere necesar
pentru realizarea scopurilor ontologiei
Dr. Sabin Buraga http://www.purl.org/net/busaco
36. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Verificarea ontologiei
reconcilierea inconsistentelor dintre elemente,
la nivel sintactic, logic & semantic
verificarea consistentei poate implica o clasificare
automata, rezultind noi concepte bazate
pe proprietati individuale sau relatii intre clase
Dr. Sabin Buraga http://www.purl.org/net/busaco
37. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Publicarea ontologiei
verificarea finala de catre experti ai domeniului
publicarea in cadrul comunitatii de practica
Dr. Sabin Buraga http://www.purl.org/net/busaco
38. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Procesul ideal de dezvoltare a unei ontologii:
determine consider enumerate define define define create
scope reuse terms classes properties constraints instances
Dr. Sabin Buraga http://www.purl.org/net/busaco
39. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Procesul realist de dezvoltare a unei ontologii:
determine consider enumerate consider define enumerate define
scope reuse terms reuse classes terms classes
define define define define create define create
properties classes properties constraints instances classes instances
consider define define create
reuse properties constraints instances
Dr. Sabin Buraga http://www.purl.org/net/busaco
40. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie (Rector & Horrocks, 2004)
Stabilirea scopului
Colectarea cunostintelor
(la nivel informal ori semi‐formal)
Rafinarea cerintelor & testarea
Implementarea (modelarea propriu‐zisa)
Evaluarea & asigurarea calitatii
Monitorizarea utilizarii si a evolutiei
Dr. Sabin Buraga http://www.purl.org/net/busaco
41. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Stabilirea scopului
cerinte,
evaluare,
reutilizare,
…
Dr. Sabin Buraga http://www.purl.org/net/busaco
42. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Colectarea cunostintelor
la nivel informal ori semi‐formal
Stabilirea termenilor
Organizarea informala a termenilor
Parafrazarea si clarificarea termenilor
definitii informale ale conceptelor
Realizarea de diagrame informale
Rafinarea cerintelor & testarea
Dr. Sabin Buraga http://www.purl.org/net/busaco
43. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Implementarea – modelarea propriu‐zisa
Parafrazare & comentare la fiecare faza
Dezvoltarea unei scheme normalizate si
a unui “schelet” de ontologie
Implementarea unui prototip
(consemnind intentiile)
Verificarea scalabilitatii
Popularea ontologiei – text mining,
procesare a limbajului uman, microformate,
XHTML/XML structurat (semantic) etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
44. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Evaluarea si asigurarea calitatii
Urmarirea scopului initial
Includerea de verificari privind evolutia ontologiei
si ajustarea manierei de management al ei
Proiectarea de teste si “probe”
in mod similar testarii aplicatiilor software
Dr. Sabin Buraga http://www.purl.org/net/busaco
45. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
metodologie
Monitorizarea utilizarii si a evolutiei
(mentenanta)
“Process not product” (Alan Rector, 2004)
Dr. Sabin Buraga http://www.purl.org/net/busaco
46. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Rationamentul lumilor inchise vs. deschise
lumi deschise (open world reasoning)
Negatia reprezinta contradictie (orice poate fi adevarat
pina cind se poate demonstra ca e fals)
Se rationeaza in maniera:
“orice alta lume poate fi consistenta cu aceasta”
lumi inchise (close world reasoning)
Negatia inseamna esec (orice nu poate fi gasit este fals)
“Totul este valabil numai in aceasta lume”
Dr. Sabin Buraga http://www.purl.org/net/busaco
47. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Rationamentul lumilor inchise vs. deschise
ontologiile sunt considerate lumi deschise,
iar bazele de date lumi inchise
Dr. Sabin Buraga http://www.purl.org/net/busaco
48. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Knowledge Base vs. Data Base
O baza de cunostinte (knowledge base) nu defineste
un model unic, ci reprezinta un set de constringeri
care pot defini o multime de modele posibile
nici o constringere orice model e posibil
cu cit exista mai multe constringeri,
cu atit numarul modelelor posibile scade
Dr. Sabin Buraga http://www.purl.org/net/busaco
49. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Knowledge Base vs. Data Base
O baza de date defineste un model unic
numele diferite sunt interpretate ca indivizi distincti
domeniul e compus numai din indivizii numiti in cadrul
bazei de date (modelul lumii inchise)
extensiile sunt cit mai reduse posibil
Dr. Sabin Buraga http://www.purl.org/net/busaco
50. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Knowledge Base vs. Data Base
Modelul unic (Bechhofer, 2004):
expresivitate redusa – nu exista negatii/disjunctii
nu poate captura informatii incomplete
non‐monoton – adaugarea de informatii
nu pastreaza adevarul
procesul de reasoning (interogare) este facil si rapid
Dr. Sabin Buraga http://www.purl.org/net/busaco
51. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Knowledge Base vs. Data Base
Modelele multiple (Bechhofer, 2004):
expresivitate ridicata – conectori booleeni, reuniune,...
poate captura/exprima informatii incomplete
monotonic – adaugarea de informatii pastreaza adevarul
procesul de reasoning (interogare) este dificil si lent
Dr. Sabin Buraga http://www.purl.org/net/busaco
52. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Activitatea de reasoning
poate fi realizata automat de un reasoner
clasificarea conceptelor – rezultind:
un arbore (ierarhie stricta, taxonomie)
un digraf aciclic – DAG (poli‐ierarhie, graf conceptual)
normalizare = separarea conceptelor de baza
in arbori disjuncti, arborii avind legaturi intre ei
via definitii si restrictii
Dr. Sabin Buraga http://www.purl.org/net/busaco
53. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Exemplu: o ontologie privitoare la animale
Inainte de clasificare Dupa clasificare
Arbore de concepte DAG
Dr. Sabin Buraga http://www.purl.org/net/busaco
54. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Dezvoltarea unei ontologii normalizate presupune:
Identificarea conceptelor de baza de sine‐statoare
Separarea conceptelor in arbori de concepte
Identificarea relatiilor
Crearea descrierilor & definitiilor
Identificarea modului in care elementele‐cheie
trebuie clasificate
Utilizarea clasificatorului pentru a forma DAG‐ul
Verificarea satisfacerii testelor
Dr. Sabin Buraga http://www.purl.org/net/busaco
55. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
aspecte importante
Dezvoltarea unei ontologii normalizate presupune:
Identificarea conceptelor de baza de sine‐statoare
(cu comentarea celor mai putin evidente)
Separarea conceptelor in arbori de concepte
(poate implica specific. unor proprietati/concepte auxiliare)
Identificarea relatiilor
(comentarea acelor relatii care nu sunt evidente)
Crearea descrierilor & definitiilor
(cu oferirea de parafraze pentru fiecare)
Identificarea modului in care elementele‐cheie trebuie clasificate
(crearea unor teste de regresie)
Utilizarea clasificatorului pentru a forma DAG‐ul
Verificarea satisfacerii testelor
Dr. Sabin Buraga http://www.purl.org/net/busaco
56. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Modelarea unei ontologii privitoare la animale
adaptare dupa (Rector, 2004)
Dr. Sabin Buraga http://www.purl.org/net/busaco
57. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Intentii & scopuri:
realizarea unui index al unei carti despre animale,
oferind informatii precum:
locul unde traiesc
ce consuma (carnivore, ierbivore, omnivore)
cit de periculoase pot fi
ce anatomie de baza au – e.g., numarul picioarelor,...
ce greutate au
...
Dr. Sabin Buraga http://www.purl.org/net/busaco
58. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Colectarea conceptelor:
se pot folosi carduri de concepte
se lucreaza in grupuri mici de persoane
se pot atrage experti ai domeniului
Dr. Sabin Buraga http://www.purl.org/net/busaco
59. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Dog Dangerous
Carnivore
Cat Pet
Plant
Cow Domestic animal
Animal
Person Farm animal
Fur
Tree Food animal
Child
Grass Fish
Parent
Herbivore Goldfish
Mother
Male
Father Clase
Female
posibile
Dr. Sabin Buraga http://www.purl.org/net/busaco
60. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz: organizarea conceptelor
Carnivore
Dog
Dangerous
Plant
Cat
Pet
Animal
Cow
Domestic
Fur
Person
animal
Tree Child
Farm animal
Grass Parent Food animal
Herbivore Mother Fish
Male Father Goldfish
Female
Dr. Sabin Buraga http://www.purl.org/net/busaco
61. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Extinderea conceptelor
gruparea unor concepte
si determinarea caracteristicilor comune:
Plant, Animal ↦ Living Thing
ar putea fi adaugati ulterior si termeni ca Bacteria, Fungi,…
Cat, Dog, Cow, Person ↦ Mammal
alti candidati ar putea fi Goat, Sheep, Horse
etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
62. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Pentru facilitarea clasificarii, colectiile de subclase
trebuie declarate explicit disjuncte
Plant disjointWith Animal
Dr. Sabin Buraga http://www.purl.org/net/busaco
63. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Alegerea unor axe conceptuale
Adaugarea de termeni abstracti
De exemplu: “Living thing”
Identificarea relatiilor
De exemplu: “eats”, “owns”, “parent of”
Identificarea entitatilor ce pot fi definite
E.g., “child”, “parent”, “Mother”, “Father”
Numirea explicita a conceptelor
Utilizarea cunostintelor anterioare
(background knowledge) – axiome
Dr. Sabin Buraga http://www.purl.org/net/busaco
64. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz Relations
Living Thing eats
owns
Modifiers
Animal parent‐of
Domestic
Mammal …
Pet
Cat Farmed
Dog Food
Definables
Cow Wild
Person Carnivore
Health
Fish healthy Herbivore
sick
Goldfish
Child
Gender
Plant Parent
Male
Tree Mother
Female
Grass Age Father
Adult
Fruit Food Animal
Child
Dr. Sabin Buraga http://www.purl.org/net/busaco
65. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Stabilirea entitatilor de sine‐statatoare:
“Lucruri” ce exista conform substantivelor lor
Oameni, animale, case, actiuni, procese,…
Se utilizeaza majoritatea substantivelor
Modificatori (modifiers)
“Lucruri” ce se pot preschimba in altele
Se folosesc adjectivele si adverbele
Dr. Sabin Buraga http://www.purl.org/net/busaco
66. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Reorganizam conceptele, grupind entitatile
care pot fi definite in arbori separati
constituirea conceptelor de baza (primitives)
Dr. Sabin Buraga http://www.purl.org/net/busaco
67. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Relations
Self_standing eats
Modifiers
Living Thing owns
Domestication parent‐of
Animal Domestic
…
Mammal Wild
Use
Cat
Definables
Food
Dog
Pet Carnivore
Cow
Risk
Herbivore
Person Dangerous
Fish Child
Safe
Gold Gender Parent
Male
fish
Mother
Female
Plant Age Father
Tree Adult
Food Animal
Grass Child
Fruit
Dr. Sabin Buraga http://www.purl.org/net/busaco
68. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Self_standing
Living Thing Concept abstract incluzind toate entitatile vii
Animal – restrictionat la plante si animale in acest moment
Mammal
Cat
Dog
Cow
Person
Fish
Gold
fish
Adaugarea comentariilor
Plant
clarificatoare (parafraze)
Tree
Grass
Fruit
Dr. Sabin Buraga http://www.purl.org/net/busaco
69. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Identificarea constringerilor privitoare la domeniu
(domain) si interval (range) pentru fiecare proprietate:
Animal eats Living_thing
eats domain: Animal
range: Living_thing
Person owns Living_thing except Person
owns domain: Person
range: Living_thing and not Person
Living_thing parent_of Living_thing
parent_of domain: Animal
range: Animal
Dr. Sabin Buraga http://www.purl.org/net/busaco
70. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Pentru entitatile ce pot fi definite trebuie comentate si
formalizate definitiile acestora in termeni de primitive,
relatii si alte entitati ce pot fi definite
Dr. Sabin Buraga http://www.purl.org/net/busaco
71. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Exemplul 1: “A ‘Parent’ is an animal that is the parent of
some other animal” (Ignore plants for now)
Parent = Animal and parent_of some Animal
Exemplul 2: “A ‘Herbivore’ is an animal that eats
only plants” (NB: All animals eat some living thing)
Herbivore = Animal and eats only Plant
Dr. Sabin Buraga http://www.purl.org/net/busaco
72. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Stabilirea proprietatilor ce pot aparea
la nivel de clasa
Ce se poate afirma privitor la toti membrii clasei?
exemplu: eats
All cows eat some plants
All cats eat some animals
All pigs eat some animals and eat some plants
Dr. Sabin Buraga http://www.purl.org/net/busaco
73. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Verificarea clasificarii
“Cows should be Herbivores”
Cows are animals and, amongst other things,
eat some grass and
eat some leafy_plants
Dr. Sabin Buraga http://www.purl.org/net/busaco
74. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Verificarea clasificarii
Trebuie specificata axioma de inchidere (closure axiom)
Cows are animals and, amongst other things,
eat some plants and
eat only plants
Dr. Sabin Buraga http://www.purl.org/net/busaco
75. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Verificarea clasificarii (aici, in Protégé):
Dr. Sabin Buraga http://www.purl.org/net/busaco
76. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Examinarea listei de modificatori
identificarea modificatorilor
care au valori mutual exclusive
Domestication, Risk, Gender, Age
precizarea mai precisa a unora
Age ↦ Age_group
Dr. Sabin Buraga http://www.purl.org/net/busaco
77. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Modifiers
Domestication
Domestic
Wild
Feral
Risk
Dangerous
Risky
Safe
Gender
Male
Female
Age
Infant
Toddler
Child
Noua lista de modificatori
Adult
Elderly
Dr. Sabin Buraga http://www.purl.org/net/busaco
78. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Specificarea valorilor (solutia 1)
partitii de valori: clase care partitioneaza o calitate
Dangerousness cu sub‐calitatile disjuncte
Dangerous, Risky, Safe
Se poate specifica proprietatea functionala
hasDangerousness : Animal Dangereousness
Dangerous_animal = Animal and
hasDangerousness some Dangerous
Dr. Sabin Buraga http://www.purl.org/net/busaco
79. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Animal
Diagrama partitiilor de valori
hasDangerousness
someValuesFrom
Dangerous
animal
Risky Dangerous Leo the
Lion
Dangerousness
Leo’s
Danger
Safe
Vezi si www.w3.org/TR/swbp-classes-as-values
Dr. Sabin Buraga http://www.purl.org/net/busaco
80. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Specificarea valorilor (solutia 1)
partitii de valori: clase care partitioneaza o calitate
calitatea
partitiile de
valori
Dr. Sabin Buraga http://www.purl.org/net/busaco
81. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Partitiile de valori in stilul UML
Animal
Dangerousness_
Value
owl:unionOf
Dangerous
hasDangerousness
Safe_ Risky_ Dangerous_
someValuesFrom Animal
value value value
Leo the
Leo’s hasDangerousness
Lion
Dangerousness
Dr. Sabin Buraga http://www.purl.org/net/busaco
82. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Specificarea valorilor (solutia 2)
valori simbolice: indivizii pot enumera
toate valorile unei calitati (caracteristici)
calitatea specificata este Gender_value,
pentru fiecare valoare existind o multime de indivizi
valorile vor fi diferite, date ca o enumerare:
Gender_value = { male, female }
se specifica o proprietate functionala
hasGender : Animal Gender_value
Male_animal = Animal and hasGender is male
Dr. Sabin Buraga http://www.purl.org/net/busaco
83. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Valorile simbolice – stilul UML
Person
Gender
_value
owl:oneOf
hasGender
Man
female male
Andrei
Dr. Sabin Buraga http://www.purl.org/net/busaco
84. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Principii pentru specificarea valorilor
(design pattern):
Valori distincte exprimate via Disjoint
pentru clase sau allDifferent pentru indivizi
Valorile “acopera” un tip de date
Calitate = Part1 or Part2 or Part3 or … or Partn
Calitate = {v1 , v2 , v3 ,…, vn}
Proprietatile exprimate sunt deseori functionale
Dr. Sabin Buraga http://www.purl.org/net/busaco
85. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Exprimarea rolurilor (proprietatilor)
apare necesitatea distingerii rolurilor
pe care le joaca entitatile in diferite situatii
Exemple: “pet” vs. “farm animal”,
“profesor” vs. “student”, “medic” vs. “pacient”
Deseori, calificarile trebuie distinse fata de roluri
e.g., o persoana poate avea calificare de medic,
dar joaca rol de pacient
Dr. Sabin Buraga http://www.purl.org/net/busaco
86. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Exprimarea rolurilor (proprietatilor)
uzual, rolurile desemneaza relatii
Animal Animal Food_animal =
Animal and
Food_animal Mammal
has_role
Cow Cow
some Food_role
Horse
Horse
Dog
Pet_animal Pet_animal =
Animal_use_role Animal and
Horse
has_role
Food_role
Dog
some Pet_role
Pet_role
Dr. Sabin Buraga http://www.purl.org/net/busaco
87. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Exprimarea rolurilor (proprietatilor)
Situatie: Horse plays_role some Food_role
toti caii joaca rol de animale bune de consum
o afirmatie prea categorica
Dr. Sabin Buraga http://www.purl.org/net/busaco
88. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Observatie:
anumite entitati pot fi deduse pe baza inferentei
– via reasoners (e.g., Pellet)
Grass and Leafy_plants are both kinds of Plant
Dr. Sabin Buraga http://www.purl.org/net/busaco
89. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Exprimarea rolurilor (proprietatilor)
Solutii:
ignorarea problemei intr‐un anumit context
inlocuirea lui has_role cu may_have_role
se poate specifica
Food_Horse = Horse and has_role Food_role
Dr. Sabin Buraga http://www.purl.org/net/busaco
90. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Comentarea & parafrazarea tuturor claselor
din cadrul ontologiei
foarte util pentru alte persoane care vor utiliza
si/sau extinde ontologia
Dr. Sabin Buraga http://www.purl.org/net/busaco
91. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Oferirea unui set de clase de proba si
a unui cadru de testare a ontologiei
Clase de proba = clase suplimentare care pot sa fie
sau nu satisfiabile sau clasificabile intr‐un context
particular (“exceptiile de la regula”)
in ontologia finala, vor fi eliminate
Dr. Sabin Buraga http://www.purl.org/net/busaco
92. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz: privire de ansamblu
Living Thing
Body Part
eats
has part Plant
Arm
eats
Animal
Leg Grass
eats
Herbivore
Tree
Person
Carnivore
Cow
Dr. Sabin Buraga http://www.purl.org/net/busaco
93. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Modelarea unui web privitor la un muzeu de arta
adaptare dupa (Enrico Franconi, 2003)
Dr. Sabin Buraga http://www.purl.org/net/busaco
95. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Considerarea – eronata – a unui concept ca fiind rol
Painter subClassOf only PAINTING.Painting
Painting subClassOf only AUTHOR.Painter
PaintEvent subClassOf
intersectionOf (some WHO.Painter, some WHAT.Painting)
Dr. Sabin Buraga http://www.purl.org/net/busaco
96. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
Acest TBox este redundant
Nu se pot detecta usor inconsistentele
TBox‐ul este ciclic
Dr. Sabin Buraga http://www.purl.org/net/busaco
97. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz
La nivel de ABox se specifica:
Tabloul Pescuit de ton al lui Dali se gaseste in Madrid
Tabloul Pescuit de ton, pictat de Dali in 1966,
se gaseste in Madrid
Redundanta:
Painter (dali), PAINTING (dali, tuna-fishing),
Painting (tuna-fishing), AUTHOR (tuna-fishing, dali) etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
98. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
de retinut
Aspecte de interes (Aldo Gangemi, 2008):
cerinte – e.g., “doresc sa urmez masterul ideal”
contructii logice: subClassOf, restrictii de cardinalitate,…
ontologii existente – e.g., FOAF, BibTeX, DOLCE, OpenCyc
resurse de cunostinte informale: CiteSeer, Open Directory
conventii & practici, inclusiv sabloane de proiectare
instrumente – editoare, instrumente de reasoning,
convertoare etc. (Protégé, NeON Toolkit, FaCT++, Pellet,
Jena, Virtuoso, Semantic MediaWiki,…)
Dr. Sabin Buraga http://www.purl.org/net/busaco
99. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
de retinut
Intelegerea clara a distinctiilor (Franconi, 2003):
concept (clasa) vs. individ
concept (clasa) vs. proprietate (rol)
entitate definita vs. entitate dedusa
Dr. Sabin Buraga http://www.purl.org/net/busaco
100. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
de retinut
Clasa (concept) versus instanta (individ)
O multime de indivizi este una numarabila, discreta
Spatiul privitor la concepte e ideal continuu si infinit
Fiecare individ poseda o identitate clara
Daca 2 concepte au descrieri echivalente,
atunci desemneaza acelasi concept
Descrierile privitoare la indivizi pot fi alterate
Actualizarile privitoare la indivizi, uzual, nu schimba
ierarhia conceptelor
Alegerea “clasa vs. individ” depinde de granularitate
Dr. Sabin Buraga http://www.purl.org/net/busaco
101. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
de retinut
Nu e usor de decis daca o entitate trebuie sa fie modelata
ca si concept sau drept rol
Persoana este un concept (clasa)
Mama ca si concept nu exista daca nu consideram
ce rol joaca intr‐o relatie parentala
(este un concept dependent de o relatie)
conventie: alegerea de nume neambigue pentru roluri
e.g., hasParent, areMama, areGen etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
102. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
de retinut
Fiecarui concept ales i se pot asocia:
proprietati intrinseci – caracteristice naturii conceptului
proprietati extrinseci – externe, pot sa se modifice in timp
parti, fragmente – in cazul obiectelor structurate/compuse
pot fi fizice (“studentii dintro grupa”, “componentele unui
calculator”, “boabele unui strugure”) sau abstracte
(“prezentarile unui curs”, “subiectele evocate de artist”,…)
Dr. Sabin Buraga http://www.purl.org/net/busaco
103. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
de retinut
Rationamentele automate privitoare la indivizi
sunt dificil de realizat
ontologiile vizeaza in special clasele
ontologii ≠ baze de date
a se consulta si www.coode.org
Dr. Sabin Buraga http://www.purl.org/net/busaco
104. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
de retinut
Ontologiile reprezinta artefacte avind o structura specifica
(lingvistica, ierarhica, logica)
Ontologiile vizeaza uzual atit domeniul de cunoastere,
cit si activitatile desfasurate specifice acelui domeniu
Ontologia urmeaza un ciclu de viata (lifecycle), fiind creata,
evaluata, ajustata, exploatata ca si alt artefact software
aspecte de interes: datele, tipurile de workflow‐uri,
sabloanele de proiectare, utilizarea propriu‐zisa
Dr. Sabin Buraga http://www.purl.org/net/busaco
105. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Rezumat
Knowledge engineering
Metodologii de proiectare a ontologiilor
Dr. Sabin Buraga http://www.purl.org/net/busaco