2. Charles Darwin
Dr. Sabin Buragawww.purl.org/net/busaco
“It is not the strongest of the species
that survive, nor the most intelligent,
but the ones most responsive to change.”
3. Data interoperability across applications
and organizations (for IT)
conform Tim Berners-Lee
Dr. Sabin Buragawww.purl.org/net/busaco
ce este web-ul semantic
4. A set of interoperable standards
for knowledge exchange
conform Tim Berners-Lee
Dr. Sabin Buragawww.purl.org/net/busaco
ce este web-ul semantic
5. An architecture for interconnected
communities and vocabularies
conform Tim Berners-Lee
Dr. Sabin Buragawww.purl.org/net/busaco
ce este web-ul semantic
9. modelul
RDF
se oferă premisele modelării conceptuale a resurselor
(date, informații, cunoștințe)
Dr. Sabin Buragawww.purl.org/net/busaco
relație atomică
11. Aspect de interes:
crearea de ontologii din diverse surse
Dr. Sabin Buragawww.purl.org/net/busaco
managementul cunoștințelor
12. Aspect de interes:
crearea de ontologii din diverse surse
scheme XML,
scheme de baze de date,
diagrame UML,
foi de calcul tabelar,
alte specificații – e.g., microformate, microdate HTML5
Dr. Sabin Buragawww.purl.org/net/busaco
managementul cunoștințelor
16. Aspect de interes:
constituirea/folosirea colecțiilor de ontologii
asocieri
comparații
reconcilieri
validări
conversii
asigurarea calității
Dr. Sabin Buragawww.purl.org/net/busaco
managementul cunoștințelor
17. Aspect de interes:
obținerea, organizarea & vizualizarea
domeniului de cunoaștere
înainte și în timpul creării unei ontologii
Dr. Sabin Buragawww.purl.org/net/busaco
managementul cunoștințelor
18. Aspect de interes:
utilizarea ontologiilor în funcție de context
Dr. Sabin Buragawww.purl.org/net/busaco
managementul cunoștințelor
19. Aspect de interes:
utilizarea ontologiilor în funcție de context
axate asupra modelării – exhaustive – a unei lumi (web)
specifice unui set de task-uri/procese – workflow-uri
mixte
Dr. Sabin Buragawww.purl.org/net/busaco
managementul cunoștințelor
20. Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)
Dr. Sabin Buragawww.purl.org/net/busaco
necesitate
21. Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)
Dr. Sabin Buragawww.purl.org/net/busaco
necesitate
procesul prin care experți ai domeniului și ontologiști
vor constitui o bază de cunoștințe (KB – Knowledge Base),
modelată într-un limbaj de reprezentare a cunoștințelor
și gestionată via o suită de instrumente adiționale
22. Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)
Dr. Sabin Buragawww.purl.org/net/busaco
necesitate
procesul prin care experți ai domeniului și ontologiști
vor constitui o bază de cunoștințe (KB – Knowledge Base),
modelată într-un limbaj de reprezentare a cunoștințelor
și gestionată via o suită de instrumente adiționale
23. Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)
procesele, limbajele și instrumentele folosite se bazează
pe diverse paradigme de reprezentare a cunoștințelor
Dr. Sabin Buragawww.purl.org/net/busaco
necesitate
24. Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)
pot recurge la abordări de tip Model-Driven Engineering
de (re)văzut MDA – Model Driven Architecture
Dr. Sabin Buragawww.purl.org/net/busaco
necesitate
26. Tradiționale, din ingineria software clasică
exemplificări:
CommonKADS (Scheriber et al., 2000)
UOL – Unified Ontology Language (Baclawski et al., 2002)
Dr. Sabin Buragawww.purl.org/net/busaco
abordări
27. Agile – mai flexibile și facile
eXtreme Programming
exemple:
XP.K (Knublauch, 2002)
RapidOWL (Auer, 2005)
Dr. Sabin Buragawww.purl.org/net/busaco
abordări
28. Pentru detalii, a se studia articolele:
A. Denicola et al., “A Software Engineering Approach
to Ontology Building”, Information Systems 34(2), 2009
wwwusers.di.uniroma1.it/~navigli/pubs/De_Nicola_Missikoff_Navigli_2009.pdf
M. Jarrar, R. Meersman, “Ontology Engineering
– The DOGMA Approach”, LNCS 4891, Springer, 2008
http://www.jarrar.info/publications/JM08.v7.pdf
Dr. Sabin Buragawww.purl.org/net/busaco
abordări
30. Dezvoltarea unei ontologii implică
partajarea de informații
+
colaborare
Dr. Sabin Buragawww.purl.org/net/busaco
observații
31. “Knowledge is fractal” (Alan Rector, 2004)
ontologiile prezintă aceeași structură
la fiecare nivel de granularitate (detaliu)
Dr. Sabin Buragawww.purl.org/net/busaco
observații
33. Necunoașterea a-priori a dimensiunii ontologiei
Numărul persoanelor implicate
Folosirea ontologiei de către utilizatori
care nu sunt experți ai domeniului modelat
Natural laziness
...
Dr. Sabin Buragawww.purl.org/net/busaco
complicații
34. Conflicte privitoare la intuiții
intuițiile sunt dificil de formalizat
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
35. Conflicte privitoare la intuiții
intuițiile sunt dificil de formalizat
experții în domeniu sunt conduși de obisnuințe
și practică (șabloane de proiectare)
prototipuri + generalizări
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
36. Conflicte privitoare la intuiții
intuițiile sunt dificil de formalizat
logicienii sunt motivați de logică și computabilitate
definiții/axiome (formale) + operatori universali
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
39. Studiu de caz – Peter Morville, 2007
alergia la alune (peanut allergy)
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
40. Studiu de caz – Peter Morville, 2007
alergia la alune (peanut allergy)
acces urgent la informații exacte și utile
credibilitatea surselor este esențială
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
41. Studiu de caz – Peter Morville, 2007
alergia la alune (peanut allergy)
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
orice căutare folosind un motor de căutare clasic eșuează
popularitate ≠ autoritate în domeniu
cunoștințele (relevante) trebuie să fie regăsite pe Web
necesită expertiză în domeniu +
abilități avansate de căutare pe Web
50. Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
Asigurarea calității + managementul modificărilor
calitatea
stabilirea de criterii privitoare la ceea ce este “corect”
(e.g., grad de expresivitate, ușurința refolosirii,
volumul entităților modelate:
clase/proprietăti/restricții/indivizi,…)
52. Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
Asigurarea calității + managementul modificărilor
testarea
controlul modificărilor
asigurarea – eventual, (semi-)automată – a calității
de exemplu, detectarea inconsistențelor
53. Privitoare la factorul uman
apariția confuziilor privitoare la termeni
și la utilizarea ontologiei în practică
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
54. Privitoare la factorul uman
persoane provenind din medii eterogene
inteligență artificială, interacțiune om-calculator,
dezvoltare Web, inginerie software,
lingvistică (computațională), științe cognitive, filosofie,
...
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
55. Referitoare la interoperabilitate
recurgerea la sintaxe diferite
utilizarea de instrumente de modelare eterogene
folosirea unor limbaje având diverse expresivități
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
56. Vizualizarea (redarea) ontologiilor
prezentări alternative
documentare automată
navigare bazată pe context + faceted search
aspect important: ontologiile de mari dimensiuni
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
57. Dr. Sabin Buragawww.purl.org/net/busaco
VOWL – Visual Notation for OWL Ontologies
reprezentarea grafică a elementelor unei specificații OWL
(Ștefan Negru & Steffen Lohmann, 2013)
http://vowl.visualdataweb.org/
58. Vizualizarea (redarea) ontologiilor
descoperirea datelor și relațiilor (data/relation mining)
eventual, folosind instrumente de realizare
a raționamentelor automate (reasoners)
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultăți
59. găsirea de relații între conceptele oferite de DBpedia
instrumentul RelFinder
http://www.visualdataweb.org/relfinder.php
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: dificultati
60. Alegerea dificilă a unor criterii formale
(i.e. privind calitatea cunoștințelor modelate)
consistență
completitudine
concizie
expresivitate
...
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: realități
61. Generarea manuală a ontologiilor
taxonomii navigabile: Open Directory, Yahoo!,...
folksonomii – vezi sistemele de tagging social
ontologii publice – e.g., YAGO, UMBEL
ontologii interne – exemplu: Daimler-Chrysler
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: realități
63. Apar probleme teoretice/practice privind:
asigurarea coerenței
facilitarea procesării
folosirea surselor de date multiple
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: realități
64. Diferite vocabulare în vigoare
clasa ≈ concept ≈ categorie ≈ tip
instanță ≈ individ
entitate ≈ obiect (clasă/individ)
proprietate ≈ slot ≈ relație ≈ atribut ≈
≈ rol ≈ legătură semantică
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: realități
65. Sintaxe diverse existente
sintaxa abstractă – vezi OWL Manchester
N3 (Turtle)
XML/RDF
logica de ordin I
formatul Protégé
limbajul natural (parafraza)
...
Dr. Sabin Buragawww.purl.org/net/busaco
inginerie: realități
67. Stabilirea domeniului de cunoaștere
asamblarea surselor de date și expertiza
în domeniu pentru a constitui concepte (things)
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
se vor asigura – măcar informal – consensul și consistența
68. Organizarea ontologiei
proiectarea pe ansamblu a structurii conceptuale
identificarea principalelor concepte concrete
și a proprietăților acestora
identificarea relațiilor dintre concepte
crearea conceptelor abstracte (de nivel înalt)
identificarea instanțelor
referențierea/includerea altor ontologii
...
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
69. Popularea ontologiei
adăugarea conceptelor
inserarea relațiilor + constrângerilor/axiomelor
adăugarea indivizilor
…la nivelul de detaliere necesar
pentru realizarea scopurilor ontologiei
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
71. Verificarea ontologiei
reconcilierea inconsistențelor dintre elemente,
la nivel sintactic, logic și semantic
verificarea consistenței poate implica
o clasificare automată, rezultând noi concepte bazate
pe proprietăți individuale sau relații între clase
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
72. Publicarea ontologiei
verificarea finală de către experți ai domeniului
publicarea + utilizarea efectivă
în cadrul comunității de practică
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
73. Procesul ideal de dezvoltare a unei ontologii
determine
scope
consider
reuse
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
74. Procesul realist de dezvoltare a unei ontologii
determine
scope
consider
reuse
define
properties
define
classes
consider
reuse
define
properties
enumerate
terms
define
properties
define
constraints
consider
reuse
define
constraints
create
instances
define
classes
enumerate
terms
define
classes
create
instances
define
classes
create
instances
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
75. 1. Stabilirea scopului
2. Colectarea cunoștințelor
la nivel informal ori semi-formal
3.
4.
5.
6.
Rafinarea cerințelor + testarea
Implementarea – modelarea propriu-zisă
Evaluarea + asigurarea calității
Monitorizarea utilizării și a evoluției
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie (Rector & Horrocks, 2004)
77. Colectarea cunoștințelor
la nivel informal ori semi-formal
stabilirea termenilor
organizarea informală a termenilor
parafrazarea și clarificarea termenilor
definiții informale ale conceptelor
realizarea de diagrame informale
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
79. Implementarea – modelarea propriu-zisă
parafrazare și comentare la fiecare fază
dezvoltarea unei scheme normalizate și
a unui “schelet” de ontologie
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
implementarea unui prototip (consemnând intențiile)
verificarea scalabilității
popularea ontologiei – text mining, procesare a
limbajului uman, JSON, microdate, RDFa, baze de date,…
80. Evaluarea + asigurarea calității
urmărirea scopului inițial
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
includerea de verificări privind evoluția ontologiei
și ajustarea manierei de management al ei
proiectarea de teste și “probe”
în mod similar testării aplicațiilor software
81. Monitorizarea utilizării și a evoluției
(mentenanță)
“process not product”
Alan Rector, 2004
Dr. Sabin Buragawww.purl.org/net/busaco
metodologie
82. Raționamentul lumilor închise vs. deschise
lumi deschise (open world reasoning)
negația reprezintă contradicție – orice poate fi adevărat
până când se poate demonstra că e fals
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
83. Raționamentul lumilor închise vs. deschise
lumi închise (close world reasoning)
negația înseamnă esec – orice nu poate fi găsit este fals
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
84. Raționamentul lumilor închise vs. deschise
ontologiile sunt considerate lumi deschise,
iar bazele de date lumi închise
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
85. Knowledge Base vs. Data Base
o bază de cunoștințe nu definește un model unic,
ci reprezintă un set de constrângeri
care pot defini o mulțime de modele posibile
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
86. Knowledge Base vs. Data Base
o bază de cunoștințe nu definește un model unic,
ci reprezintă un set de constrângeri
care pot defini o mulțime de modele posibile
nici o constrângereorice model e posibil
cu cât există mai multe constrângeri,
cu atât numărul modelelor posibile scade
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
87. Knowledge Base vs. Data Base
o baza de date definește un model unic
(Bechhofer, 2004)
numele diferite sunt interpretate ca indivizi distincți
domeniul e compus numai din indivizii numiți
în cadrul bazei de date – modelul lumii inchise
extensiile sunt cât mai reduse posibil
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
88. Knowledge Base vs. Data Base
model unic
expresivitate redusă – nu există negații/disjuncții
nu poate captura informații incomplete
non-monoton:
adăugarea de noi date nu păstrează adevărul
procesul de reasoning (interogare) este facil și rapid
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
89. Knowledge Base vs. Data Base
modele multiple
expresivitate ridicată – conectori booleeni, reuniune,...
se pot captura/exprima informații incomplete
monotonie – adăugarea de noi date păstrează adevărul
procesul de reasoning (interogare) este dificil și lent
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
90. Activitatea de reasoning
poate fi realizată automat de un reasoner
clasificarea conceptelor
rezultă:
un arbore – ierarhie strictă, taxonomie
sau
un digraf aciclic (DAG) – poli-ierarhie, graf conceptual
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
91. Activitatea de reasoning
poate fi realizată automat de un reasoner
normalizare
separarea conceptelor de bază în arbori disjuncți,
arborii având legături între ei via definiții și restricții
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
92. Exemplu: o ontologie privitoare la animale
înainte de clasificare
după clasificare
arbore de concepte
digraf aciclic
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
93. Dezvoltarea unei ontologii normalizate presupune:
1.
2.
3.
4.
5.
Identificarea conceptelor de bază de sine-stătătoare
Separarea conceptelor în arbori de concepte
Identificarea relațiilor
Crearea descrierilor și definițiilor
Identificarea modului în care entitățile-cheie
trebuie clasificate
6. Utilizarea clasificatorului pentru a genera digraful
7. Verificarea satisfacerii testelor
Dr. Sabin Buragawww.purl.org/net/busaco
aspecte importante
94. 1. Identificarea conceptelor de bază de sine-stătătoare
(cu comentarea celor mai puțin evidente)
2. Separarea conceptelor în arbori de concepte
(poate implica specificarea unor
proprietăți/concepte auxiliare)
3. Identificarea relațiilor
(comentarea acelor relații care nu sunt evidente)
4. Crearea descrierilor și definițiilor
(cu oferirea de parafraze pentru fiecare)
5. Identificarea modului în care entitățile-cheie
trebuie clasificate (crearea unor teste de regresie)
6. Utilizarea clasificatorului pentru a genera digraful
7. Verificarea satisfacerii testelor
Dr. Sabin Buragawww.purl.org/net/busaco
Dezvoltarea unei ontologii normalizate presupune:
95. “Trusa” ontologistului
cerințe
formalisme (construcții logice)
ontologii existente
resurse de cunoștințe informale
convenții și practici
instrumente
adaptare după Aldo Gangemi (2008)
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
96. “Trusa” ontologistului
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
cerințe – e.g., “un model ideal de specificare a lumii”
construcții logice: subClassOf, restricții de cardinalitate,…
ontologii existente – e.g., DOLCE, FOAF, UMBEL, YAGO etc.
resurse de cunoștințe informale: servicii Web, API-uri,…
convenții și practici – inclusiv șabloane de proiectare
instrumente – editoare, instrumente de reasoning,
convertoare, sisteme de stocare etc. (Disco, GATE, Protégé,
NeOn Toolkit, FaCT++, Jena, Triplr, Virtuoso,…)
97. Înțelegerea clară a distincțiilor (Franconi, 2003)
concept (clasă) vs. individ
concept (clasă) vs. proprietate (rol)
entitate definită vs. entitate dedusă
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
98. Clasă (concept) versus instanță (individ)
o mulțime de indivizi este una numărabilă, discretă
spațiul privitor la concepte e ideal continuu și infinit
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
99. Clasă (concept) versus instanță (individ)
fiecare individ posedă o identitate clară
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
100. Clasă (concept) versus instanță (individ)
dacă două concepte au descrieri echivalente,
atunci desemnează același concept
descrierile privitoare la indivizi
pot fi alterate (pot evolua)
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
101. Clasă (concept) versus instanță (individ)
uzual, actualizările vizând indivizii
nu schimbă ierarhia conceptelor
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
102. Clasă (concept) versus instanță (individ)
alegerea “clasă vs. individ” depinde de granularitate
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
103. Clasă (concept) versus proprietate (rol)
nu e ușor de decis dacă o entitate trebuie să fie modelată
ca un concept sau drept proprietate
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
104. Clasă (concept) versus proprietate (rol)
nu e ușor de decis dacă o entitate trebuie să fie modelată
ca un concept sau drept proprietate
Persoana este un concept (clasă)
Mama ca și concept nu există dacă nu considerăm
ce rol joacă într-o relație parentală
(este un concept dependent de o relație)
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
105. Clasă (concept) versus proprietate (rol)
nu e ușor de decis dacă o entitate trebuie să fie modelată
ca un concept sau drept proprietate
convenție:
alegerea de nume neambigue pentru roluri
e.g., hasParent, areMama, areGen etc.
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
106. Fiecărui concept ales i se pot asocia:
proprietăți intrinseci
caracteristice naturii conceptului
proprietăți extrinseci
externe – pot să se modifice pe parcurs
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
107. Fiecărui concept ales i se pot asocia:
proprietăți intrinseci
caracteristice naturii conceptului
exemplu: identitatea unei persoane
proprietăți extrinseci
externe – pot să se modifice pe parcurs
e.g., ocupația unei persoane: student, programator, artist
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
108. Fiecărui concept ales i se pot asocia:
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
părți, fragmente – în cazul obiectelor structurate/compuse
fizice
abstracte
109. Fiecărui concept ales i se pot asocia:
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
părți, fragmente – în cazul obiectelor structurate/compuse
fizice
“studenții dintr-un an”, “componentele unei tablete”,
“boabele unui strugure” etc.
abstracte
“prezentările unei materii”, “subiectele unui blog”,…
110. Raționamentele automate privitoare la indivizi
sunt dificil de realizat
ontologiile vizează în special clasele
ontologii ≠ baze de date
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
111. O ontologie urmează un ciclu de viață (lifecycle),
fiind creată, evaluată, ajustată, exploatată
ca și alt artefact software
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
112. O ontologie urmează un ciclu de viață (lifecycle),
fiind creată, evaluată, ajustată, exploatată
ca și alt artefact software
aspecte de interes:
datele
tipurile de workflow-uri
șabloanele de proiectare (reguli de bună practică)
utilizarea propriu-zisă
Dr. Sabin Buragawww.purl.org/net/busaco
considerații privind modelarea
114. Modelarea unei ontologii privitoare la animale
adaptare după Alan Rector
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
115. Intenții și scopuri
realizarea unei cărți electronice (e-book)
despre animale, oferind informații precum:
locul unde trăiesc
ce consumă – carnivore, ierbivore, omnivore
cât de periculoase pot fi
ce anatomie de bază au – e.g., numărul picioarelor,...
ce greutate au
...
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
116. Colectarea conceptelor
se pot folosi carduri de concepte
se lucrează în grupuri mici de persoane
se pot atrage experți ai domeniului
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
119. Extinderea conceptelor
gruparea unor concepte
și determinarea caracteristicilor comune:
Plant, Animal ↦ Living Thing
ar putea fi adăugați ulterior și termeni ca Bacteria, Fungi
Cat, Dog, Cow, Person ↦ Mammal
alți candidați ar putea fi Goat, Sheep, Horse, Lion
etc.
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
120. Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
Pentru facilitarea clasificării, colecțiile de subclase
trebuie declarate explicit disjuncte
exemplificare:
Plant disjointWith Animal
121. Alegerea unor axe conceptuale
adăugarea de termeni abstracți
de exemplu: “Living thing”
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
122. Alegerea unor axe conceptuale
identificarea relațiilor
de pildă: “eats”, “owns”, “parent of”
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
123. Alegerea unor axe conceptuale
identificarea entităților ce pot fi definite
(în relație cu altele)
e.g., “child”, “parent”, “Mother”, “Father”
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
124. Alegerea unor axe conceptuale
numirea explicită a conceptelor
utilizarea cunoștințelor anterioare
(background knowledge)
axiome
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
126. Stabilirea entităților de sine-stătătoare
“lucruri” ce există conform substantivelor lor
oameni, animale, edificii, acțiuni, procese,…
se utilizează majoritatea substantivelor
modificatori (modifiers)
“lucruri” ce se pot preschimba în altele
se folosesc adjectivele și adverbele
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
127. Reorganizăm conceptele, grupând entitățile
care pot fi definite în arbori separați
constituirea conceptelor de bază (primitives)
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
130. Identificarea constrângerilor privitoare la domeniu
(domain) și interval (range) pentru fiecare proprietate:
Animal eats Living_thing
eats
domain:
range:
Animal
Living_thing
Person owns Living_thing except Person
owns
domain:
range:
Person
Living_thing and not Person
Living_thing parent_of Living_thing
parent_of
domain:
range:
Animal
Animal
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
131. Pentru entitățile ce pot fi definite,
trebuie comentate și formalizate
definițiile acestora în termeni de primitive,
relații și alte entități ce pot fi specificate
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
132. Exemplu
“A ‘Parent’ is an animal that is the parent of
some other animal” – ignore plants for now
Parent = Animal and parent_of some Animal
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
133. Exemplu
“A ‘Herbivore’ is an animal that eats only plants”
NB: All animals eat some living thing
Herbivore = Animal and eats only Plant
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
134. Stabilirea proprietăților ce pot apărea
la nivel de clasă
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
135. Ce se poate afirma privitor la toți 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 Buragawww.purl.org/net/busaco
studiu de caz
136. Verificarea clasificării
“Cows should be Herbivores”
Cows are animals and, amongst other things,
eat some grass and
eat some leafy_plants
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
137. Verificarea clasificării
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
trebuie specificată axioma de închidere (closure axiom)
Cows are animals and, amongst other things,
eat some plants and
eat only plants
138. Verificarea clasificării – aici, folosind Protégé
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
139. Examinarea listei de modificatori
identificarea modificatorilor
care au valori mutual exclusive
Domestication, Risk, Gender, Age
precizarea mai precisă a unora
Age ↦ Age_group
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
141. Specificarea valorilor (soluția 1)
partiții de valori: clase ce partiționează o calitate
Dangerousness cu subcalitățile disjuncte
Dangerous, Risky, Safe
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
142. Specificarea valorilor (soluția 1)
partiții de valori: clase ce partiționează o calitate
se poate specifica proprietatea funcțională
hasDangerousness : Animal ↦ Dangereousness
Dangerous_animal = Animal and
hasDangerousness some Dangerous
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
144. Specificarea valorilor (soluția 1)
partiții de valori: clase ce partiționeaza o calitate
calitatea
partițiile de
valori
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
145. Partițiile de valori în stilul UML
Animal
Dangerousness_
Value
owl:unionOf
Safe_
value
Risky_
value
Dangerous_
value
hasDangerousness
someValuesFrom
Dangerous
Animal
Cookie’s
Dangerousness
hasDangerousness
Cookie
the Lion
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
146. Specificarea valorilor (soluția 2)
valori simbolice: indivizii pot enumera
toate valorile unei calități (caracteristici)
în acest caz, calitatea specificată este Gender_value,
pentru fiecare valoare existând o mulțime de indivizi
valorile vor fi diferite, date ca o enumerare:
Gender_value = { male, female }
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
147. Specificarea valorilor (soluția 2)
valori simbolice: indivizii pot enumera
toate valorile unei calități (caracteristici)
se definește o proprietate funcțională
hasGender : Animal ↦ Gender_value
Male_animal = Animal and hasGender is male
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
148. Valorile simbolice – stilul UML
Person
Gender
_value
owl:oneOf
female
hasGender
male
Man
Sabin
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
149. Specificarea valorilor (design pattern)
valori distincte exprimate via Disjoint pentru clase
sau allDifferent pentru indivizi
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
150. Specificarea valorilor (design pattern)
valorile “acoperă” un tip de date
Calitate = Part1 or Part2 or Part3 or … or Partn
sau
Calitate = { v1 , v2 , v3 ,…, vn }
proprietățile exprimate sunt deseori funcționale
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
151. Exprimarea rolurilor (proprietăților)
apare necesitatea distingerii rolurilor
pe care le joacă entitățile în diferite situații
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
152. Exprimarea rolurilor (proprietăților)
apare necesitatea distingerii rolurilor
pe care le joacă entitățile în diferite situații
exemple:
“pet” versus “farm animal”
“elev” versus “student” versus “profesor”
“medic” versus “pacient”
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
153. Exprimarea rolurilor (proprietăților)
deseori, calificările trebuie distinse față de roluri
e.g., o persoană poate avea calificare de medic,
dar joacă rol de pacient
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
154. Exprimarea rolurilor (proprietăților)
uzual, rolurile desemnează relații
Animal
Food_animal
Cow
Horse
Pet_animal
Horse
Dog
Animal
Mammal
Cow
Horse
Dog
Animal_use_role
Food_role
Pet_role
Food_animal =
Animal and
has_role
some Food_role
Pet_animal =
Animal and
has_role
some Pet_role
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
156. Exprimarea rolurilor (proprietăților)
soluții:
ignorarea problemei într-un anumit context
sau
înlocuirea lui has_role cu may_have_role
se poate specifica
Food_Horse = Horse and has_role Food_role
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
157. Observație:
anumite entități pot fi deduse pe baza inferențelor
– via reasoners (e.g., FaCT++, HermiT, Pellet)
Grass and Leafy_plants are both kinds of Plant
revezi exemplele
din cursul anterior
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
158. Comentarea și parafrazarea tuturor claselor
din cadrul ontologiei
foarte util pentru alte persoane care vor folosi
și/sau vor extinde ontologia
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
159. Oferirea unui set de clase de probă și
a unui cadru de testare a ontologiei
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
clase de probă = clase suplimentare care pot să fie
sau nu satisfiabile sau clasificabile
într-un context particular – “excepțiile de la regulă”
în ontologia finală, vor fi eliminate
160. Living Thing
Body Part
eats
has part
Arm
Plant
eats
Animal
Leg
eats
Herbivore
Grass
Tree
Person
Carnivore
Cow
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz: privire de ansamblu
161. Modelarea unui web privitor la un muzeu de artă
eronată!
adaptare după Enrico Franconi
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
163. La nivel de ABox se specifică:
Dali este pictor, Pescuit de ton este tablou,
tabloul Pescuit de ton al lui Dali se găsește în Madrid
tabloul Pescuit de ton, pictat de Dali în 1966,
se găsește în Madrid etc.
date specificate redundant:
Painter (dali), PAINTING (dali, tuna-fishing),
Painting (tuna-fishing), AUTHOR (tuna-fishing, dali),...
Dr. Sabin Buragawww.purl.org/net/busaco
studiu de caz
164. Etape importante privind crearea unei ontologii:
initial feasibility study & requirement specification
knowledge acquisition
conceptualization
formalization
evaluation
refinement
Dr. Sabin Buragawww.purl.org/net/busaco
concluzii
165. Adoptarea unei/unor metodologii
exemplu de referință:
NeOn methodology (A. Gómez-Pérez et al., 2010)
propune diverse scenarii,
adaptate scopului și domeniului modelat
http://www.neon-project.org/nw/NeOn_Book
Dr. Sabin Buragawww.purl.org/net/busaco
concluzii
166. Dezvoltarea unei/unor ontologii
trebuie să reprezinte doar primul pas
un model conceptual nu are sens
dacă nu e utilizat în practică
Dr. Sabin Buragawww.purl.org/net/busaco
concluzii
167. oferă o descriere
a unui domeniu (web)
aplicații
software
servicii
Web
declară o manieră
de structurare
baze de date
problem-solving
methods
baze de
cunoștințe
recomandare,
filtrare, analiză,…
adaptare după Alan Rector et al., 2005
Dr. Sabin Buragawww.purl.org/net/busaco
ontologii