Wiele pro­ble­mów w pro­jek­tach infor­ma­tycz­nych, to skut­ki źle zbu­do­wa­nej onto­lo­gii lub jej bra­ku w pro­jek­cie. Niemal co dru­ga fir­ma (46 proc. bada­nych przez AIIM, 2022) oce­nia, że prze­ciw­dzia­ła­nie cha­oso­wi infor­ma­cyj­ne­mu wewnątrz ich orga­ni­za­cji wypa­da sła­bo” lub wyma­ga popra­wy”. Obecnie więk­szość prze­twa­rza­nych w fir­mach tre­ści to tre­ści czę­ścio­wo lub nawet cał­ko­wi­cie nie­ustruk­tu­ry­zo­wa­ne. Zarzadzanie nimi wyma­ga nowych metod .

Czym jest ontologia

Ontologia jest czę­sto nazy­wa­na repre­zen­ta­cją wie­dzy. Pozostaje pyta­nie co jest tu tą wie­dzą? Czy wie­dzą jest to co ozna­cza w okre­ślo­nym języ­ki (tu pol­skim) sło­wo samo­chód”, czy wie­dzą jest to, kto wczo­raj jechał, gdzie, kie­dy i jakim samo­cho­dem? Nie jest onto­lo­gią spra­woz­da­nie, więc jest nią słow­nic­two uży­te do stwo­rze­nia tego spra­woz­da­nia. Dlatego czę­sto onto­lo­gię nazy­wa się tak­że mode­lem poję­cio­wym ale nie jest to doma­in model” bo model dzie­dzi­ny to nie model pojęciowy! 

An object model of the doma­in that incor­po­ra­tes both beha­vior and data [Obiektowy model dzie­dzi­ny, któ­ry zawie­ra zarów­no opis zacho­wa­nia sys­te­mu, jak i dane w nim przetwarzane]

Model dzie­dzi­ny to model opi­su­ją­cy mecha­nizm działania/funkcjonowania cze­goś. W nauce model to opis (wyja­śnie­nie) zja­wi­ska . W inży­nie­rii opro­gra­mo­wa­nia jest to logi­ka dzie­dzi­no­wa czy­li to jak to dzia­ła” np. jak wysta­wić popraw­ną fak­tu­rę na pod­sta­wie zamó­wie­nia, czy też jak kon­tro­lo­wać rezer­wo­wa­ne w hote­lu poko­je .

Ontologia jest defi­nio­wa­na jako część filo­zo­fii, któ­ra bada, czym jest ist­nie­nie” (Cambridge Dictionary). Słownik języ­ka pol­skie­go pokrew­nie: now­sze okre­śle­nie meta­fi­zy­ki jako dzia­łu filo­zo­fii”. W ency­klo­pe­dii PWN znajdziemy: 

onto­lo­gia [gr. on óntos będą­cy’, byt’, óntos on rze­czy­wi­ście będą­cy, ist­nie­ją­cy’, lógos sło­wo’, nauka’, teo­ria’]

(https://​ency​klo​pe​dia​.pwn​.pl/​s​z​u​k​a​j​/​o​n​t​o​l​o​g​i​a​.​h​tml)

Gdzie indziej czytamy:

onto­lo­gy noun /ɒnˈtɒlədʒi/ /ɑːnˈtɑːlədʒi/
​[unco­un­ta­ble] a branch of phi­lo­so­phy that deals with the natu­re of existence
​[coun­ta­ble] a list of con­cepts and cate­go­ries in a sub­ject area that shows the rela­tion­ships betwe­en them

(Oxford Advanced Learner’s Dictionary)

Tak więc jest to owszem dział filo­zo­fii zaj­mu­ją­cy się natu­rą bytu”, jed­nak jest to także 

onto­lo­gia: lista pojęć i kate­go­rii z jakie­goś obsza­ru tema­tycz­ne­go, któ­ra poka­zu­je związ­ki mię­dzy nimi

Obecnie, w bran­ży jaką jest infor­ma­ty­ka, onto­lo­gia jest okre­śla­na jako narzę­dzie mode­lo­wa­nie i repre­zen­to­wa­nie struk­tur wie­dzy” .

Czytamy tam­że: Za naj­waż­niej­sze uwa­ża­my kate­go­ry­za­cję i hie­rar­chi­za­cję pojęć (a tym samym ich defi­ni­cji). Kategoryzacja ozna­cza zdol­ność do porząd­ko­wa­nia sym­bo­li, poja­wia­ją­cych się w komu­ni­ka­cie nale­żą­cych do ści­śle okre­ślo­nej gru­py obiek­tów, posia­da­ją­cych okre­ślo­ne cechy. Komunikacji ludz­kiej dale­ko do dosko­na­ło­ści, jed­nak sta­ra­my się, by ten abs­trak­cyj­ny model świa­ta stał się sfor­ma­li­zo­wa­nym i samo­dziel­nym bytem.” Pojawia się tu abs­trak­cyj­ny model świa­ta”, pyta­nie czym on jest? Tym co jest i moż­na nazwać (onto­lo­gia jako natu­ra bytu)? Czy może tym co wyja­śnia Jak i do cze­go doszło?” 

Problemy projektowania

Powszechnym pro­blem w pro­jek­tach infor­ma­tycz­nych jest myle­nie fak­tów z obiek­ta­mi oraz pojęć z ich cecha­mi (defi­ni­cje). Różnicę mię­dzy fak­ta­mi a obiek­ta­mi sze­rzej opi­sa­łem nie­daw­no , zaś poję­cie nazwy rze­czy i jej atry­bu­tów (defi­ni­cje spra­woz­daw­cze a atry­bu­to­we) opi­su­je ). Problem ten poka­za­no na sche­ma­cie poniżej: 

Lewy dia­gram to model poję­cio­wy (onto­lo­gia, tu tak­so­no­mia poję­cia tra­sa) i jest nie­słusz­nie uży­wa­ny (utoż­sa­mia­ny z) jako model dzie­dzi­ny sys­te­mu” lub model danych” (o złych dia­gra­mach klas” pisa­łem wie­lo­krot­nie na blogu). 

Model poję­cio­wy to nie struk­tu­ra kodu ani danych

Modele struk­tu­ry infor­ma­cji i mode­le sys­te­mów, któ­re tę infor­ma­cje prze­twa­rza­ją, to odręb­ne mode­le. Model dzie­dzi­ny sys­te­mu (mecha­nizm jego dzia­ła­nia) two­rzy­my jako model prze­twa­rza­nia i prze­cho­wy­wa­nia infor­ma­cji (opro­gra­mo­wa­nie, o ile nie jest grą symu­la­cyj­ną, prze­twa­rza infor­ma­cje o świe­cie a nie świat). 

Tak więc onto­lo­gia to for­mal­na, jaw­na spe­cy­fi­ka­cja kon­cep­tu­ali­za­cji” (nazew­nic­two). Kluczowymi cecha­mi onto­lo­gii są: jed­no­znacz­ność, spój­ność, roz­sze­rzal­ność. Proces budo­wa­nia onto­lo­gii czę­sto jest opi­sy­wa­ny jako: defi­nio­wa­nie klas i ich hie­rar­chicz­nej struk­tu­ry, defi­nio­wa­nie wła­sno­ści klas .

Nauka o zna­cze­niu słów to semio­ty­ka a za jej ojca uzna­je się (autor powie­ści Imię róży”) Umberto Eco . Prekursorem nauki o zna­cze­niu słów był Ullman, któ­ry opi­sał tak zwa­ny trój­kąt Ullmana, póź­niej zwa­ny tak­że trój­ką­tem semio­tycz­nym . O zna­cze­niu słów w języ­ku pisał Ogden .

Trójkąt Ullmana.

Trójkąt ten wią­że nazwę (kono­ta­cja, tu gór­ny wierz­cho­łek), jej defi­ni­cję (defi­ni­cja, dol­ny lewy wierz­cho­łek) i (wszyst­kie) przed­mio­ty okre­śla­ne tą nazwą (deno­ta­cja, desy­gna­ty nazwy, pra­wy dol­ny wierzchołek). 

Object Management Group opu­bli­ko­wał nota­cję SBVR (Semantics Of Business Vocabulary And Business Rules) . Specyfikacja ta opi­su­je meto­dy budo­wa­nia i doku­men­to­wa­nia słow­ni­ków i reguł biz­ne­so­wych. Jest to bar­dzo waż­na spe­cy­fi­ka­cja, bo opi­su­je meto­dę opi­su, doku­men­to­wa­nia mecha­ni­zmu dzia­ła­nia orga­ni­za­cji z uży­ciem reguł biz­ne­so­wych, te zaś są budo­wa­ne z uży­ciem pojęć, któ­re muszą być jed­no­znacz­ne i spój­ne, a ich zbiór: prze­strzeń poję­cio­wa, musi być kom­plet­ny (patrz też opis w SBVR…).

W spe­cy­fi­ka­cji tej znaj­dzie­my roz­dział dedy­ko­wa­ny oma­wia­nej tu tema­ty­ce. Zawiera on bar­dzo pre­cy­zyj­nie opi­sa­ny trój­kąt semio­tycz­ny i to jak kon­struk­cja ta jest wyko­rzy­sty­wa­na do budo­wy Jednolitego Biznesowego Słownika Pojęć. 

Semiotic/Semantic Triangle in SBVR Terms

Generalnie auto­rzy są zgod­ni co do tego, że onto­lo­gie to narzę­dzie doku­men­to­wa­nia wie­dzy, co ozna­cza, że nie mniej istot­nym ele­men­tem, poza poję­cia­mi i ich hie­rar­chią, są związ­ki mię­dzy nimi. Kluczem jest tak­że to, że onto­lo­gia to poję­cia, czy­li nazwy rze­czy a nie rze­czy jako takie. 

Krótkie pod­su­mo­wa­nie:

  1. świat rze­czy­wi­sty to rze­czy, aby o nich” opo­wie­dzieć i móc tę opo­wieść zapi­sać (gro­ma­dzić wie­dzę), musi­my dys­po­no­wać nazwa­mi (poję­cia­mi) i umieć je utrwa­lić (wyra­zić to znakami),
  2. poję­cie to nazwa rze­czy lub fak­tu, każ­de poję­cie to jego brzmie­nie (i zna­ki czy­li for­ma zapi­su) oraz defi­ni­cja (co oznacza),
  3. sło­wo «pies» w języ­ku pol­skim ozna­cza zwie­rzę domo­we hodo­wa­ne m.in. dla przy­jem­no­ści lub do polo­wań” i odno­si się do wszyst­kich ist­nie­ją­cych psów” (zbiór rze­czy będą­cych psem wg. okre­ślo­nej definicji),
  4. w nomen­kla­tu­rze OMG , są to kla­sa (poję­cie), kla­sy­fi­ka­tor (defi­ni­cja), instan­cje kla­sy (wystą­pie­nia obiek­tów danej kasy).

Brakuje nam jesz­cze związ­ków mię­dzy kla­sa­mi (poję­cia­mi). W onto­lo­gii są to: gene­ra­li­za­cja (pozwa­la budo­wać tak­so­no­mie pojęć) oraz pre­dy­kat (skie­ro­wa­na aso­cja­cja repre­zen­tu­ją­ca zwią­zek zda­nio­twór­czy ). Poniżej przykład:

Ontologia wyra­żo­na jako model fak­tów nota­cji SBVR (fact diagram)

Przypominam, że to nie jest model dzie­dzi­ny w rozu­mie­niu pro­jek­tu opro­gra­mo­wa­nia (model w rozu­mie­niu wzor­ca MVC). Przykład ten sze­rzej opi­sa­łem w arty­ku­le Gabinet wete­ry­na­rza. Często sto­so­wa­ny model danych dla onto­lo­gii to Grafowe bazy danych.

Czym jest powyż­szy dia­gram? To model poję­cio­wy (dia­gram fak­tów w nomen­kla­tu­rze SBVR, dia­gram klas UML). Generalizacja (nie jest to dzie­dzi­cze­nie!) czy­ta­my (two­rzy zda­nie) pudel jest typem psa”, pre­dy­ka­ty two­rzą zda­nia, któ­re czy­ta­my pies śpi w budzie”, pies szcze­ka na listo­no­sza” (koń­ców­ki w j. pol­skim tu zanie­dbu­je­my). Warunkiem popraw­no­ści mode­lu jest bez­względ­na praw­dzi­wość wszyst­kich tych zdań w danym języ­ku. Bardzo waż­na rzecz: doku­men­ta­cja pro­jek­tu powin­na zawie­rać defi­ni­cje wszyst­kich uży­tych do opi­su danych (meta­da­ne) pojęć. 

Testowanie onto­lo­gii, jako spraw­dza­nie popraw­no­ści i praw­dzi­wo­ści zdań, tak­że na spraw­dza­niu związ­ków: pod­sta­wia­my w zda­niach defi­ni­cje poję­cia w miej­sce ich wystą­pie­nia, co nie może spo­wo­do­wać zmia­ny tre­ści zda­nia ani tego, że sta­nie się ono nie­praw­dzi­we (zasa­da pod­sta­wia­nia w logice):

  • defi­ni­cja psa: zwie­rzę domo­we hodo­wa­ne m.in. dla przy­jem­no­ści lub do polowań
  • zda­nia:
    • pies śpi w budzie
    • pies szcze­ka na listonosza
    • pudel jest typem psa
  • testy:
    • zwie­rzę domo­we hodo­wa­ne m.in. dla przy­jem­no­ści lub do polo­wań śpi w budzie
    • zwie­rzę domo­we hodo­wa­ne m.in. dla przy­jem­no­ści lub do polo­wań szcze­ka na listonosza
    • pudel jest typem zwie­rzę­cia domo­we­go hodo­wa­ne­go m.in. dla przy­jem­no­ści lub do polowań

Powyższe to try­wial­ne testy, ale celem moim jest poka­za­nie isto­ty tych testów. 

W 2013 roku opi­sy­wa­łem Produkty w pro­ce­sie ana­li­zy wyma­gań, gdzie poka­za­łem onto­lo­gię tego obsza­ru wiedzy:

taksonomia wymagań
Ontologia pojęć obsza­ru ana­li­zy wyma­gań (źr.: Produkty w pro­ce­sie ana­li­zy wyma­gań)

I teraz przy­kład. Na pew­nym blo­gu zna­la­złem taki dia­gram (nie poda­ję źró­dła bo celem jest oce­na dia­gra­mu a nie autora): 

(zano­ni­mi­zo­wa­ny dia­gram z sie­ci Internet na pra­wach cytatu) 

Popatrzmy:

  • aktyw­ność: pra­ca, któ­rą fir­ma lub orga­ni­za­cja wyko­nu­je za pomo­cą pro­ce­sów biz­ne­so­wych, może być ato­mo­wa lub nie­ato­mo­wa (zło­żo­na), rodza­je aktyw­no­ści, któ­re są czę­ścią Modelu Procesu: Proces, Podproces i Zadanie (źr. OMG​.org BPMN)
  • funk­cjo­nal­ny: doty­czą­cy funk­cjo­no­wa­nia lub funk­cji cze­goś w jakimś sys­te­mie (s.j.p.)
  • wyma­ga­nie: waru­nek lub zespół warun­ków, któ­rym ktoś lub coś musi odpo­wia­dać (s.j.p.)

Autor przy­wo­łu­je poję­cie Proces biz­ne­so­wy BPMN 2.0, ale nie ma w spe­cy­fi­ka­cji tej nota­cji poję­cia krok pro­ce­su biz­ne­so­we­go”. Można domnie­my­wać, że poję­cie Aktywność pocho­dzi z przy­wo­ła­nej nota­cji, więc zda­nie Integracja jest typem aktyw­no­ści” albo Logika biz­ne­so­wa jest typem Aktywności (zwra­ca, że Logika to rze­czow­nik). Proszę same­mu prze­te­sto­wać resz­tę pojęć powyż­sze­go dia­gra­mu wg. wcze­śniej opi­sa­nych reguł. Zielony komen­tarz wska­zu­je na cel powsta­nia tego mode­lu: poję­cia na tym dia­gra­mie mają sta­no­wić meta­da­ne jakie­goś zbio­ru danych (wie­dzy). Przemieszano poję­cia z obsza­ru nota­cji BPMN, nota­cji UML i obsza­ru prac reali­zo­wa­nych przez zespół pro­jek­to­wy: trzy róż­ne dzie­dzi­ny … Obawiam się, że to repo­zy­to­rium zbu­do­wa­ne na powyż­szym mode­lu nie będzie dzia­łać zgod­nie z oczekiwaniami…

Na zakończenie

Ontologia jako sys­tem nazw, sta­no­wi źró­dło pojęć, któ­rych uży­wa­my jako nazw doku­men­tów (for­mu­la­rzy), ich sek­cji, pól, war­to­ści tych pól. Podstawowym zasto­so­wa­niem onto­lo­gii jest zapew­nie­nie spój­no­ści i jed­no­znacz­no­ści tre­ści (danych) prze­twa­rza­nych przez sys­te­my infor­ma­tycz­ne, poprzez budo­wa­nie sys­te­mu meta­da­nych z pojęć danej onto­lo­gii. Uwaga: czę­stym błę­dem jest zawę­ża­nie onto­lo­gii do taksonomii.

A zarzą­dza­nie wie­dzą? A jaką? Popatrzmy na uży­te wyżej zda­nie: pies szcze­ka na listo­no­sza”. Jest to (to że szcze­ka na nie­zna­jo­mych, w tym na listo­no­szy) jed­na z cech tego zwie­rzę­cia ale też, może to być stwier­dze­nie tego co wła­śnie zacho­dzi (albo zaszło). Mamy tu więc wie­dzę, że (ogól­nie) psy szcze­ka­ją, np. na listo­no­szy, ale też może to być wie­dza o tym, że jakiś pies w okre­ślo­nym momen­cie szcze­kał na listo­no­sza. Dokument opi­su­ją­cy psa jako gatu­nek, będzie zapew­ne zawie­rał to zda­nie. Jednak zapis prze­słu­cha­nia świad­ka tego zda­rze­nia, ozna­czo­ny okre­ślo­ną datą i miej­scem, będzie zawie­rał iden­tycz­ne zda­nie. Pierwszy to opis psa jako pew­ne­go obiek­tu, dru­gi to opis fak­tu. Poprawne zda­nie może zawie­rać też jed­no poję­cie i pre­dy­kat: stwier­dze­nie Pies szcze­ka, podob­nie: jest zda­niem cha­rak­te­ry­zu­ją­cym psa (w zasa­dzie mogło by być jego defi­ni­cją) i jest (może być) stwier­dze­niem, że wła­śnie w tym momen­cie Pies (jakiś lub mój) szczeka. 

Czy opra­co­wa­nie onto­lo­gii jest łatwe? Nie, nie jest. Czy zła onto­lo­gia szko­dzi? Tak, potra­fi dopro­wa­dzić do fia­ska pro­jek­tu infor­ma­tycz­ne­go. Zapraszam do:

  1. sko­rzy­sta­nia z usłu­gi Zamień arty­kuł na warsztat
  2. prze­sła­nia mi do recen­zji ontologii
  3. zle­ce­nia mi opra­co­wa­nia ontologii

(Patrz stro­na Zamów)

Zapraszam tak­że do lek­tu­ry arty­ku­łu Inżynieria opro­gra­mo­wa­nia z uży­ciem narzę­dzia CASE – przy­kła­do­wy pro­jekt Biblioteka, gdzie krok po kro­ku poka­za­łem powsta­wa­nie doku­men­ta­cji ana­li­tycz­nej zawie­ra­ją­cej onto­lo­gię dzie­dzi­ny sys­te­mu i to jaką ona rolę ode­gra­ła w projekcie.

Źródła

AIIM. (2022). AIIM 2022 State of the Intelligent Information Management Industry. 39.
C. K. Ogden. (1923). The Meaning of Meaning (G. Sandulescu, Ed.).
Eco, U. (1979). A the­ory of semio­tics.
Fowler, M. (1997). Analysis pat­terns: reu­sa­ble object models. Addison Wesley.
Grzelak, W. (2013). Ontologia − pró­ba usys­te­ma­ty­zo­wa­nia pojęć. 15.
Hołówka, T. (2012). Kultura logicz­na w przy­kła­dach (Wydawnictwo Naukowe PWN, Ed.). Wydawnictwo Naukowe PWN.
Machamer, P., Darden, L., & Craver, C. F. (2000). Thinking abo­ut mecha­ni­sms. Philosophy of Science, 67(1), 1 – 25.
Oliver, A. (2010). What is a pre­di­ca­te. The Cambridge Companion to Frege, 118 – 148.
OMG​.org. (2017, December). Unified Modeling Language (UML) [OMG​.org]. UML. https://​www​.omg​.org/​s​p​e​c​/​U​ML/
OMG​.org. (2016, October). MetaObject Facility (MOF). https://​www​.omg​.org/​s​p​e​c​/​MOF
OMG​.org. (2019). Semantics of Business Vocabulary and Business Rules (SBVR). 334. https://​www​.omg​.org/​s​p​e​c​/​S​B​VR/
Ullmann, S. L. (1973). Oogenesis in Tenebrio moli­tor: histo­lo­gi­cal and auto­ra­dio­gra­phi­cal obse­rva­tions on pupal and adult ova­ries. Development, 30(1), 179 – 217.
Weilkiens, T. (2007). Systems engi­ne­ering with SysML/UML: mode­ling, ana­ly­sis, design (1. Aufl). Morgan Kaufmann OMG Press/Elsevier.

Jarosław Żeliński

BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie. Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów.

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.