Kako u računalnim znanostima tako i u informacijskim znanostima ontologija je obrazac podatka koji predstavlja koncepte unutar neke domene i odnose između tih koncepata. Koristi se za razumijevanje objekata unutar te domene.
Ontologije su korištene u umjetnoj inteligenciji, semantičkom webu, software inžinjeringu i informacijskoj arhitekturi kao oblik reprezentacije znanja o svijetu odnosno nekom njegovom dijelu.
Ontologije općenito opisuju:
Povijest
Ontologija kao pojam svoje podrijetlo ima u filozofiji, gdje označava fundamentalnu granu metafizike koja se bavi analizom različitih tipova bivanja. S posebnom pozornošću na odnos između pojedinačnog i općeg i između esencije i egzistencije.
Prema Tomu Gruberu značenje ontologije u kontekstu računalnih znanosti jest opis koncepata i odnosa koji mogu postojati za agenta ili zajednicu agenata specificirajući da je ontologija općenito rečeno set definicija formalnog rječnika.
Što ontologija ima zajedničkog u računalnoj znanosti i filozofiji jest reprezentacija entiteta, ideja i događaja zajedno s njihovim pripadajućim svojstvima i odnosima s obzirom na sistem kategorija. U oba polja može se naći značajan rad na problemu ontološke relativnosti i rasprave o tome koliko je normativna ontologija pouzdana. Filozofi su manje zabrinuti oko utvrđivanja fiksnih, kontroliranih pojmova negoli istraživači u računalnim znanostima dok su računalni znanstvenici manje uključeni u raspravu o nekim nužnim početnim principima.
Tijekom druge polovice 20 stoljeća filozofi su naširoko raspravljali o mogućim metodama pristupa u izgradnji ontologija bez da su gradili neke previše jasne ontologije same po sebi. U kontrastu s time računalni znanstvenici su izgrađivali velike i masivne ontologije sa usporedno mnogo manje rasprave oko toga kako će one biti izgrađene.
Početkom 21. stoljeća interdisciplinarni projekt kognitivne znanosti zbližava dva kruga stručnjaka.
Elementi ontologije
Većina ontologija opisuje individue, klase (koncepte), atribute i odnose.
Individue
Individue su osnovna, početna razina sastavnica ontologije. Individue u ontologiji mogu uključiti konkretne objekte poput ljudi, životinja, stolova, automobila, molekula i planeta.
Jednako kao i apstraktne individue poput brojeva i riječi. Strogo rečeno ontologija ne mora uključiti individuu no jedna od općih svrha ontologije jest omogućavanje sredstava za klasifikaciju individua pa i ako te individue nisu dio same ontologije
Klase
Klase su apstraktne grupe, skupine ili zbirke objekata. Mogu sadržavati individue, druge klase ili kombinaciju jednih i drugih. Neki primjeri klasa:
- Osoba – klasa svih ljudi
- Molekula – klasa svih molekula
- Broj – klasa svih brojeva
- Vozilo – klasa svih vozila
- Automobil – klasa svih automobila
- Individua – predstavlja klasu svih individua
- Klasa – predstavlja klasu svih klasa
- Stvar – predstavlja klasu svih stvari
Ontologije variraju ovisno o tome mogu li klase u sebi sadržavati druge klase,zatim ukoliko pripada samoj sebi,ukoliko postoji univerzalna klasa – klasa koja sadrži sve itd.
Ograničenja su ovdje potrebna da bi se izbjegli neki poznati paradoksi.
Klase onotlogije mogu biti ekstenzijalne ili intenzionalne u prirodi.
Klasa je ekstenzionalna ako i samo ako ako je okarakterizirana samo po svome članstvu. Točnije,klasa C je ekstenzionalna ako i samo ako za klasu C ako „C“ ima točno iste članove kao C. Tada su C i „C“ identični. Ako klasa ne zadovoljava uvjet onda je intenzionalna.
Dok se ekstenzijalne klase s matematičkog gledišta bolje ponašaju i bolje razumiju kao i filozofski manje problematične one ne dopuštaju fino razrađene razlikovnosti koje ontologije zahtijevaju.
Primjerice ontologija želi razlikovati klasu svih stvorenja s bubregom od klase svih stvorenja sa srcem, iako te klase imaju iste članove.
Klasa može podbrojiti ili biti podbrojena od strane druge klasem, primjerice, vozilo podbrojava automobil naravno s obzirom da je sve što pripada potonjoj klasi pripada i gornjoj.
Odnos podbrojavanja se koristi da bi se stvorila hijerarhija klasa,sa maksimalno općom klasom poput „stvar“ na vrhu, primjerice particija jest set klasa u međusobnom odnosu i pripadajućih pravila koja omogućavaju objektima da budu smješteni u odgovarajuću klasu. Na primjer zakon particije određuje hoće li se pogon određenog automobila staviti pod 2 kotača ili 4 kotača. Ako pravilo particije jamči da jedan automobil (objekt) ne može biti u obje klase, onda se particija zove razdružena particija, a ako pravila particije osiguravaju da svaki određeni objekt super klase jest instanca barem jedne od particijskih klasa tada se particija naziva iscrpljujuća particija.
Atributi
Objekti u ontologiji mogu biti opisani tako da im pridružujemo atribute. Svaki atribut ima bar ime i vrijednost, i koristi se za pohranu informacija koje su specifične za objekt na koji prianja. Primjerice Ford explorer ima atribute poput:
- Imena: Ford explorer
- Broja vrata: 4
- Motor: 4 l
- Prijenos: 6 brzina
Vrijednost atributa naravno može biti kompleksni oblik podatka, u ovom primjeru vrijednost atributa nazvanog motor može biti lista vrijednosti a ne samo jedna vrijednost. Potrebno je definirati atribute koncepata, ontologija definira domenu.
Odnosi
Važno korištenje atributa jest da se opiše odnos (relacija) između objekata u ontologiji. Uobičajeno, relacija je atribut čija vrijednost jest drugi atribut u ontologiji. Primjerice imamo noviji i stariji model automobila, stariji model bi mogao biti prikazan kao sljedeći atribut: nasljednik, ime nekog prijašnjeg modela. Snaga ontologije može proizilaziti upravo iz mogućnosti da točno opišemo te odnose. Skup relacija opisuje semantiku domene.
Ontologije domene i više ontologije
Domena ontologije oblikuje specifičnu domenu ili dio svijeta. Ona predstavlja pojedinačno značenje izraza kako se primjenjuju na tu domenu. Primjerice engleska riječ card ima više različitih značenja. Ontologija o domeni pokera bi oblikovala značenje te riječi kao igraću kartu, dok bi ontologija o računalnoj opremi oblikovala značenje te riječi kao grafičku kartu.
Nadređena ontologija jest obrazac uobičajenih objekata koji su općenito primjenjivi u širokom rasponu domena ontolgije. Sadrži jezgru u čijem izrazu objekti mogu biti pripisani u setu domena. Postoji nekoliko standardiziranih gornjih ontologija za korištenje uključujući Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO i DOLCEl.