(Ez a ford�t�s a W3C Magyar Irod�j�nak megb�z�s�b�l,
az
Informatikai �s H�rk�zl�si Miniszt�rium
t�mogat�s�val k�sz�lt)
K�rj�k, k�vesse figyelemmel a dokumentum eredeti angol nyelv� v�ltozat�ra vonatkoz� hibajegyz�ket, mert ez normat�v korrekci�kat is tartalmazhat.
A dokumentumr�l tov�bbi ford�t�sok is rendelkez�sre �llnak.
Copyright © 2004 W3C® (MIT, ERCIM, Keio), Minden jog fenntartva. Alkalmazand�k a W3C felel�ss�gi, v�djegyoltalmi, dokumentumhaszn�lati �s szoftverlicenc el��r�sai.
A World Wide Web a mai form�j�ban legink�bb egy rosszul felt�rk�pezett terepre hasonl�t. A dokumentumokba t�rt�n� bepillant�sunk �s a vel�k kapcsolatos lehet�s�geink a kulcsszavas keres�sre �p�lnek, amit t�mogat m�g a dokumentumok �sszekapcsolhat�s�g�nak �s alkalmaz�si m�dszereinek �gyes kihaszn�l�sa. Ennek az �ri�si �temben n�vekv� adatt�megnek a kezel�se megoldhatatlan egy er�teljesebb eszk�zt�mogat�s n�lk�l. Ahhoz, hogy ezt az �ttekinthetetlen terepet pontosabban fel tudjuk t�rk�pezni, a feldolgoz� �genseknek sz�ks�g�k van a Weben hozz�f�rhet� er�forr�sok g�ppel �rtelmezhet� le�r�s�ra. Ezeknek a le�r�soknak ki kell eg�sz�teni�k az inform�ci� ember �ltal olvashat� v�ltozatait.
Az OWL Web Ontol�gia Nyelv arra szolg�l, hogy le�rjuk vele a web dokumentumaiban �s alkalmaz�saiban el�fordul� l�nyeges �s jellemz� oszt�lyokat, �s a k�z�tt�k l�v� kapcsolatokat.
Ez a dokumentum bemutatja, hogy mik�nt haszn�lhat� az OWL nyelv arra, hogy
Az anyag szekci�it �gy szervezt�k rendszerbe, hogy az oszt�lyok, tulajdons�gok �s egyedek halmaz�nak inkrement�lis defin�ci�j�t mutassa be, a legalapvet�bb nyelvi elemekt�l a komplexebbek fel� haladva.
Ezt a dokumentumot a W3C Tagjai �s m�s �rdekelt r�sztvev�k ellen�rizt�k, �s az Igazgat� W3C Aj�nl�sk�nt hiteles�tette. Az Aj�nl�s elk�sz�t�s�vel a W3C c�lja �s szerepe az, hogy r�ir�ny�tsa a figyelmet a specifik�ci�ra, �s el�seg�tse annak sz�les k�r� alkalmaz�s�t. Ez megn�veli a Web haszn�lhat�s�g�t, �s jav�tja a Weben t�rt�n� egy�ttm�k�d�st.
Ez a dokumentum annak a hat r�szb�l �ll� W3C Aj�nl�snak egyik r�sze, mely az OWL Web Ontol�gia Nyelvet szabv�nyos�tja. Ezt az Aj�nl�st a W3C Szemantikus Web Munkaprogramja keret�ben a Web Ontol�gia Munkacsoport dolgozta ki, �s 2004. febru�r 10. d�tummal publik�lta. (L�sd a Munkaprogram-nyilatkozatot �s a Munkacsoport Alapszab�ly�t.)
Az OWL konstrukci�j�nak a dokumentumok kor�bbi verzi�j�ban le�rt v�ltozat�t jelent�sen �tdolgozt�k, s ez a konstrukci� kiel�g�ti a Munkacsoport technikai k�vetelm�nyeit. A Munkacsoport megvizsg�lta az �sszes be�rkezett �szrev�telt, �s elv�gezte a sz�ks�ges jav�t�sokat. Az Aj�nl�stervezet �ta a jelen Aj�nl�s megsz�let�s�ig a dokumentumon v�grehajtott m�dos�t�sokat a V�ltoztat�si napl� r�szletezi.
A Munkacsoport sz�vesen fogadja az �szrev�teleket a [email protected] (E-mail arch�vum) c�m�n, az idev�g� technol�gi�k �ltal�nos vit�j�t pedig a [email protected] (E-mail arch�vum) c�m�n folytatja.
Rendelkez�sre �ll egy konszign�ci� az ismert alkalmaz�sokr�l.
A W3C list�t vezet tov�bb� azokr�l a felfedett szabadalmi ig�nyekr�l is, amelyek ehhez a munk�hoz kapcsol�dnak.
Ez a szekci� a dokumentumnak a publik�l�skor �rv�nyes st�tus�t r�gz�ti. M�s dokumentumok hat�lytalan�thatj�k ezt a dokumentumot. A leg�jabb W3C publik�ci�k list�ja, valamint e technikai riport utols� kiad�sa megtal�lhat� a W3C technikai riportok index�ben a http://www.w3.org/TR/ alatt.
"Mondd meg nekem, milyen borokat kellene beszereznem az al�bbi men� k�l�nb�z� fog�saihoz! De, hogy el ne felejtsem mondani, nem kedvelem a Sauternes fajt�t."
Ma m�g neh�z volna �p�teni egy olyan Web �genst, amelyik fel tudn� hajtani a fenti keres� krit�riumot kiel�g�t� tal�latot. Vagy pr�b�ljuk elk�pzelni, hogy egy szoftver �gensre b�zhatn�nk azt a feladatot, hogy k�sz�tsen sz�munkra egy �sszer� utaz�si tervet. (Tov�bbi alkalmaz�si eseteket ismertet az OWL Alkalmaz�si esetek �s k�vetelm�nyek dokumentum.)
Ahhoz, hogy t�mogat�st adjunk eff�le sz�m�t�g�pes feladatok megold�s�hoz, messze meg kell haladnunk a kulcsszavas keres�st, �s specifik�lnunk kell a Web forr�sok (resoure-ok) egzakt jelent�s�t. Az �rtelmez�snek ez az �jabb r�tege az adatok szemantik�j�t ragadja meg.
Az OWL Web Ontol�gia Nyelv egy Web ontol�gi�k tervez�s�re �s el��ll�t�s�ra szolg�l� nyelv. Az ontol�gia kifejez�st a filoz�fi�b�l vett�k k�lcs�n, �s azt a tudom�nyt jel�li meg, mely a vil�g entit�sainak t�pusait, �s ezek egym�shoz val� viszony�t �rja le.
Egy OWL ontol�gia mag�ban foglalhatja oszt�lyok, tulajdons�gok, �s ezek egyedeinek le�r�s�t. Ha van egy ilyen ontol�gi�nk, az OWL form�lis szemantik�ja megmondja, hogy mik�nt lehet ebb�l olyan logikai k�vetkeztet�seket levonni, azaz olyan �jabb t�nyeket meg�llap�tani, amelyek explicite nincsenek benne az ontol�gi�ban, de sz�rmaztathat�k (levezethet�k, kik�vetkeztethetõk) bel�le a szemantika seg�ts�g�vel. Ezek a levezet�sek alapulhatnak egyetlen dokumentumon, vagy t�bb elosztott dokumentumon, amelyek �sszekapcsolhat�k az erre a c�lra szolg�l� OWL mechanizmusok seg�ts�g�vel.
A jelen dokumentum annak az OWL Web Ontol�gia Nyelv le�r�snak egyik komponense, amelyet a W3C Web Ontol�gia Munkacsoportja (WebOnt) k�sz�t. Az [OWL �ttekint�s] c�m� dokumentum 1.1 A javasolt olvas�si sorrend szekci�ja le�rja az egyes r�szdokumentumokat, �s hogy ezek mik�nt illeszkednek egym�shoz.
Amikor le�runk egy �jabb XML Web szabv�nyt, felmer�lhet a k�rd�s: "mit hoz ez a konyh�ra, amit az XML �s az XML S�ma nem? K�t v�lasz is van erre a k�rd�sre:
Az OWL nyelv h�rom, egyre nagyobb kifejez� erej� alnyelvet tartalmaz, amelyeket a fejleszt�k �s felhaszn�l�k k�l�nb�z� kateg�ri�i sz�m�ra dolgoztak ki.
Az OWL Lite olyan felhaszn�l�k t�mogat�s�ra k�sz�lt, akik els�sorban oszt�lyoz�si hierarchi�kat �s egyszer� korl�toz�sokat alkalmaznak. �gy p�ld�ul t�mogatja a kardinalit�skorl�toz�st, de a kardinalit�s �rt�kek�nt csak a 0 �s 1 �rt�ket engedi meg. Az OWL Lite eszk�zt�mogat�sa �gy egyszer�bb lehet, mint a nagyobb kifejez� erej� rokonai�, �s r�videbb migr�ci�s utat biztos�that a tezauruszok �s m�s taxon�mi�k sz�m�ra.
Az OWL DL azokat a felhaszn�l�kat t�mogatja, akik a maxim�lis kifejez�k�pess�get ig�nylik, m�gpedig �gy, hogy a teljes kisz�m�that�s�g �s az eld�nthet�s�g is megmarad (vagyis, hogy minden konkl�zi� garant�ltan kisz�m�that�, �s minden sz�m�t�s v�ges id�n bel�l be is fejez�dik).
Az OWL DL tartalmazza az �sszes OWL nyelvi konstrukci�t, de ezek csak bizonyos t�pus-sz�tv�laszt�si korl�toz�sokkal haszn�lhat�k (p�ld�ul egy oszt�ly t�bb oszt�lynak is aloszt�lya lehet, egy oszt�ly azonban nem lehet egyede egy m�sik oszt�lynak). Az OWL DL neve a [Description Logics] (le�r� logika) kifejez�sre utal, mely az OWL form�lis megalapoz�s�nak logikai k�rd�seit t�rgyal� kutat�si ter�let neve. Az OWL DL t�mogatja a m�r l�tez� Description Logic tev�kenys�gi ter�letet, �s megfelel� sz�m�t�si tulajdons�gokkal rendelkezik a k�vetkeztet� rendszerek t�mogat�s�ra.
Az OWL Full alnyelvet olyan felhaszn�l�knak sz�nt�k, akik a maxim�lis kifejez� er�t �s az RDF szintaktikai szabads�g�t ig�nylik, de ennek fej�ben lemondanak a kisz�m�that�s�gi garanci�kr�l. P�ld�ul az OWL Full-ban egy oszt�ly egyidej�leg kezelhet� egyedek gy�jtem�nyek�nt �s m�s oszt�lyok egyedek�nt is. Egy m�sik jelent�s k�l�nbs�g az OWL DL-hez k�pest, hogy egy Adatt�pus-tulajdons�g (owl:DatatypeProperty) itt lehet Ford�tott funkcion�lis tulajdons�g is: owl:InverseFunctionalProperty. Az OWL Full lehet�v� teszi egy ontol�gi�nak, hogy kiterjessze az el�re defini�lt (RDF vagy OWL) sz�k�szlet jelent�startom�ny�t. Val�sz�n�tlen azonban, hogy b�rmilyen k�vetkeztet� (reasoning) szoftver k�pes t�mogatni az OWL Full �sszes ilyen adat�br�zol�si konstrukci�j�nak logikai feldolgoz�s�t.
E h�rom alnyelv mindegyike az egyszer�bb el�dj�nek a kiterjeszt�se abban a tekintetben, hogy mit lehet vele leg�lisan kifejezni, �s abban a tekintetben is, hogy a vel�k �br�zolt ontol�gi�b�l mit lehet �rv�nyesen kik�vetkeztetni. E nyelvekre vonatkoz�an az al�bbi kijelent�sek �rv�nyesek
Azok az ontol�giafejleszt�k, akik haszn�lni akarj�k az OWL nyelvet, j� ha megfontolj�k, melyik alnyelv a legalkalmasabb a c�ljaikra. Az OWL Lite �s az OWL DL k�z�tti v�laszt�s att�l f�gg, hogy a felhaszn�l�nak milyen m�rt�kben van sz�ks�ge az OWL DL nagyobb kifejez� erej� nyelvi konstrukci�ira. Az OWL Lite k�vetkeztet� rendszerei megfelel� sz�m�t�si tulajdons�gokkal fognak rendelkezni. Az OWL DL k�vetkeztet� rendszerei, noha eld�nthet� alnyelvvel van dolguk, sz�ls�s�ges esetekben ki vannak t�ve a t�lzott bonyolults�g vesz�ly�nek. Az OWL DL �s az OWL Full k�z�tti d�nt�s alapvetõ krit�riuma az, hogy a felhaszn�l� milyen m�rt�kben ig�nyli az RDF S�ma meta-modellez� eszk�zeit (azaz oszt�lyok oszt�ly�nak defini�l�s�t). Amikor OWL Full-t haszn�lunk, a k�vetkeztet�sek teljes k�rû szoftvert�mogat�sa az OWL DL-�hez k�pest kev�sb� val�sz�n�. Err�l a k�rd�sr�l tov�bbi inform�ci�k tal�lhat�k az OWL Szemantika dokumentumban.
Amikor a felhaszn�l� RDF dokumentumokat k�v�n OWL k�rnyezetbe �tvinni, bizonyos �vatoss�gra van sz�ks�ge, hogy az eredeti RDF dokumentumok megfeleljenek azoknak a korl�toz�soknak, amelyeket az OWL Lite �s az OWL DL t�maszt a dokumentumokkal szemben. Az OWL DL-re �s az OWL Lite-ra vonatkoz� ilyen, �s egy�b korl�toz�sok r�szleteit az OWL Referencia E. mell�klete tartalmazza.
Az anyag tov�bbi r�sz�ben azokat a nyelvi konstrukci�kat, amelyek csak az OWL DL-ben vagy az OWL Full-ban enged�lyezettek, mindig az "[OWL DL]" kifejez�ssel jel�lj�k meg.
Annak �rdek�ben, hogy e dokumentumban v�gig egy konzisztens p�ldahalmazt haszn�lhassunk, kidolgoztunk egy Bor �s egy �tel ontol�gi�t. Ezek OWL DL ontol�gi�k. Egyes diszkusszi�ink ugyan az OWL Full lehet�s�geire vonatkoznak, de ezt k�l�n jelezni fogjuk. A Bor �s az �tel ontol�gia a nagy mult� DAML ontol�gia k�nyvt�r egyik elem�nek jelent�sen m�dos�tott v�ltozata. Ezt az elemet eredetileg McGuinness fejlesztette ki mint CLASSIC le�r� logikai (description logic) p�ld�t, amely k�s�bb egy le�r� logika tank�nyvv�, v�g�l pedig egy ontol�gia tank�nyvv� tereb�lyesedett.
Ebben a dokumentumban a p�ld�kat az RDF/XML szintaxis ([RDF], 5) seg�ts�g�vel �rjuk le, arra gondolva, hogy az XML az olvas�k t�bbs�g�nek m�r ismer�s. (A normat�v OWL hordozhat� szintaxis mindig RDF/XML szintaxis). Az OWL-t ugyanis �gy tervezt�k, hogy maxim�lisan kompatibilis legyen az RDF-fel �s az RDF S�m�val. Ezek az XML �s RDF form�tumok teh�t az OWL szabv�nynak is r�szei.
Az ebben a dokumentumban bemutatott �sszes p�ld�t a wine.rdf �s a food.rdf ontol�gi�kb�l vett�k, kiv�ve azokat, amelyek jobb als� sark�ban egy �¬��jel l�that�.
Az OWL fejleszt�se a Szemantikus Web munkaprogram r�sze, �s arra ir�nyul, hogy a Web adatforr�sait alkalmasabb� tegy�k az automatikus feldolgoz�sra az�ltal, hogy egzakt inform�ci�kat adnak meg azokr�l az adatforr�sokr�l, amelyek [sz�vegesen] le�rj�k vagy [programmatikailag] el��ll�tj�k a Web tartalm�t. Tekintve, hogy a Szemantikus Web a jelleg�b�l ad�d�an elosztott rendszer, az OWL-nak lehet�v� kell tennie, hogy az inform�ci�kat elosztott forr�sokb�l is lehessen gy�jteni. Ezt r�szben az �ltal val�s�tja meg, hogy lehet�v� teszi az ontol�gi�k �sszekapcsol�s�t (oly m�don is, hogy az ontol�gi�k explicit m�don inform�ci�kat import�lhatnak m�s ontol�gi�kb�l).
Mindemellett az OWL nyitott vil�got felt�telez. Vagyis, az er�forr�sok le�r�sai nem korl�toz�dnak egyetlen f�jlra vagy egyetlen ter�letre. P�ld�ul: ha a C1 oszt�lyt eredetileg az O1 ontol�gi�ban defini�lt�k, ez m�s ontol�gi�kban kiterjeszthet�. A C1-re vonatkoz� �ll�t�sok k�vetkezm�nyei azonban csak el�re mutat� (monoton) jelleg�ek, teh�t az �j inform�ci�k nem �rv�nytelen�tik az el�z�eket. Az �j inform�ci�k ellentmond�sosak lehetnek, de t�nyek �s k�vetkezm�nyek mindig csak hozz�adhat�k, sohasem t�r�lhet�k.
Az ellentmond�sok lehet�s�ge egy olyan dolog, amit az ontol�gia tervez�j�nek figyelembe kell vennie. V�rhat�, hogy a t�mogat� eszk�z�k seg�ts�get adnak majd az ilyen helyzetek automatikus felismer�s�hez.
Ahhoz, hogy olyan ontol�gi�t �rhassunk, amelyet az �gensek egy�rtelm�en interpret�lhatnak �s alkalmazhatnak, egy szintaxisra �s egy form�lis szemantik�ra van sz�ks�g az OWL-ban. Az OWL az RDF sz�k�szlet�nek egy kiterjeszt�se [RDF Semantics]. Az OWL szemantik�j�t Az OWL Web Ontol�gia Nyelv – Szemantika �s absztrakt szintaxis c�m� dokumentum defini�lja.
Miel�tt egy kifejez�s halmazt elkezd�nk haszn�lni, pontosan meg kell jel�ln�nk, hogy melyik konkr�t sz�k�szletb�l val�. Az ontol�gi�k szabv�nyos bevezet� eleme egy sor XML n�vt�r deklar�ci�t tartalmaz az rdf:RDF nyit�teggel bevezetve. Ezek az ontol�gia tov�bbi sz�veg�t k�nnyebben olvashat�v�, az azonos�t�k interpret�l�s�t pedig egy�rtelm�v� teszik. Egy tipikus OWL ontol�gia az al�bbihoz hasonl� n�vt�rdeklar�ci�val kezd�dik (Term�szetesen, egy konkr�t ontol�gia URI-jai val�sz�n�leg nem w3.org hivatkoz�sok lesznek):
<rdf:RDF xmlns ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" xmlns:vin ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" xml:base ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" xmlns:food="http://www.w3.org/TR/2004/REC-owl-guide-20040210/food#" xmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd ="http://www.w3.org/2001/XMLSchema#">
Az els� k�t deklar�ci� azonos�tja azt a n�vteret, mely ehhez az ontol�gi�hoz tartozik. Az els� a default n�vteret adja meg, jelezve hogy a prefix n�lk�l megadott nevek erre az ontol�gi�ra hivatkoznak. A m�sodik a vin: prefixszel azonos�tja a Bor (fõ)ontol�gi�nak a n�vter�t. A harmadik a b�zis URI-t defini�lja a jelen dokumentum sz�m�ra (l�sd al�bb). A negyedik pedig a food: prefixszel azonos�tja az �tel seg�d-ontol�gia n�vter�t.
Az �t�dik n�vt�rdeklar�ci� azt mondja ki, hogy az owl: prefix-szel jel�lt elemeket �gy kell �rtelmezni, hogy azok a http://www.w3.org/2002/07/owl# n�vt�rb�l sz�rmaznak. Ezt a konvencion�lis OWL deklar�ci�t haszn�ljuk az OWL sz�k�szlet�nek bevezet�s�re. A k�vetkez� h�rom n�vt�rdeklar�ci� hasonl� feladatokat l�t el az RDF (rdf:), az RDF S�ma (rdfs:) �s az XML S�ma adatt�pus(xsd:) n�vterekkel kapcsolatban.
A hossz� URL-ek �r�s�t megk�nny�tend�, gyakran haszn�lunk entit�sdefin�ci�kat egy Dokumentum T�pus Deklar�ci�ban (DOCTYPE), amelyek megel�zik az ontol�giadefin�ci�kat. Azoknak a neveknek, amelyeket a n�vt�rdeklar�ci�kban adunk meg, csak az XML tegek r�szek�nt van jelent�s�g�k. Az attrib�tum�rt�kek nem n�vt�r �rz�kenyek. De az OWL-ban gyakran hivatkozunk ontol�giai-azonos�t�kra attrib�tum-�rt�kek seg�ts�g�vel is. Ezeket a teljesen kiterjesztett form�jukban �rhatjuk, pl.: "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#merlot". Alternat�v megold�sk�nt azonban ENTITY defin�ci�kkal r�vid�t�seket is deklar�lhatunk, mint pl.:
<!DOCTYPE rdf:RDF [ <!ENTITY vin "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" > <!ENTITY food "http://www.w3.org/TR/2004/REC-owl-guide-20040210/food#" > ]>
Ha e k�t ENTITY deklar�ci�t k�vet�en azt az �rt�ket �rjuk, hogy "&vin;merlot", ennek a kiterjesztett jelent�se ez lesz: "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#merlot".
Tal�n m�g fontosabb, hogy az rdf:RDF n�vt�rdeklar�ci�k ezut�n egyszer�s�thet�k, m�gpedig �gy, hogy ha k�s�bb jav�t�sokat kell v�gezn�nk az entit�sdeklar�ci�kon, azok az eg�sz ontol�gi�n v�gig konzisztens m�don �rv�nyes�lnek.
<rdf:RDF xmlns ="&vin;" xmlns:vin ="&vin;" xml:base ="&vin;" xmlns:food="&food;" xmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd ="http://www.w3.org/2001/XMLSchema#">
Ha a n�vtereket m�r defini�ltuk, akkor az owl:Ontology teg alatt �ltal�ban tesz�nk n�h�ny �ll�t�st mag�r�l az ontol�gi�r�l. Ez a teg olyan l�nyeges szervez�si feladatot l�t el, mint az ontol�gia komment�l�sa, verzi�kontroll �s m�s ontol�gi�k be�p�t�se.
<owl:Ontology rdf:about=""> <rdfs:comment>Egy ontol�gia p�lda</rdfs:comment> <owl:priorVersion rdf:resource="http://www.w3.org/TR/2003/PR-owl-guide-20031215/wine"/> <owl:imports rdf:resource="http://www.w3.org/TR/2004/REC-owl-guide-20040210/food"/> <rdfs:label>Wine Ontology</rdfs:label> ...
(Megjegyz�s: a h�rom pont azt jelzi, hogy a k�d folytat�dik, de a kihagyott r�sz az adott p�lda szempontj�b�l �rdektelen.)
Az owl:Ontology elem az a hely, ahol a dokumentum OWL meta-adatainak nagy r�sz�t megadjuk. Ez azonban nem garant�lja, hogy a dokumentum az ontol�gi�t a hagyom�nyos �rtelemben �rja le. N�h�ny k�z�ss�gben ugyanis az ontol�gi�k nem sz�lnak egyedekr�l, hanem csak azokr�l az oszt�lyokr�l �s tulajdons�gokr�l, amelyek a t�mater�letet defini�lj�k. Amikor az OWL-t egyedek adatainak le�r�s�ra haszn�ljuk, az owl:Ontology tegre sz�ks�g lehet a verzi�-inform�ci�k r�gz�t�s�hez, valamint azoknak a defin�ci�knak az import�l�s�hoz, amelyekre t�maszkodik a dokumentum. Az OWL-ban teh�t az ontol�gia fogalom kiterjed az egyedek le�r�s�ra is (l�sd fent).
Az rdf:about attrib�tum adja meg az ontol�gia nev�t vagy referenci�j�t. Amikor az attrib�tum �rt�ke az �res karakterl�nc (""), ami a szok�sos �rt�k, az ontol�gia neve az owl:Ontology b�zis URI-ja lesz. Ez pedig tipikusan annak a dokumentumnak az URI-ja szokott lenni, amelyik az ontol�gi�t tartalmazza. Ez al�l kiv�tel az olyan k�rnyezet, ahol az xml:base seg�ts�g�vel valamelyik elem b�zis URI-j�t explicite nem az adott dokumentum URI-j�ra �ll�tj�k, hanem valami m�sra.
Az rdfs:comment elem ny�jtja azt a sehol sem n�lk�l�zhet� opci�t, hogy fontos megjegyz�seket (annot�ci�kat) f�zhess�nk egy ontol�gi�hoz.
Az owl:priorVersion egy szabv�nyos teg, mely kapocsk�nt szolg�l az ontol�gi�k verzi�kontrollj�t ell�t� rendszer sz�m�ra. Az ontol�gi�k verzi�kezel�s�re al�bb m�g visszat�r�nk.
Az owl:imports egy olyan jelleg� mechanizmust jelent, mint a C nyelvn�l az "#include" direkt�va. Az owl:imports egyetlen argumentumot haszn�l, amelyet az rdf:resource attrib�tum azonos�t.
Egy ontol�gia import�l�sa azt jelenti, hogy be�p�tj�k a h�v� ontol�gi�ba egy m�sik ontol�gia teljes kijelent�s k�szlet�t. Az import�lt ontol�gia legk�nyelmesebb haszn�lata �rdek�ben ennek import�l�s�t �ltal�ban egy n�vt�rdeklar�ci�val kombin�ljuk. Vegy�k �szre e k�t mechanizmus k�z�tti k�l�nbs�get: a n�vt�rdeklar�ci�k azt teszik lehet�v�, hogy m�s ontol�gi�kban defini�lt nevekre hivatkozhassunk; az owl:imports �tj�n pedig l�nyeg�ben azt a sz�nd�kunkat jelezz�k, hogy a c�l-ontol�gia kijelent�seit be akarjuk �p�teni a saj�t ontol�gi�nkba. Figyelembe kell venni azonban, hogy egy m�sik ontol�gia (pl. O2) import�l�sa azokat az ontol�gi�kat is import�lja, amelyeket O2 a maga r�sz�re import�l.
Jegyezz�k meg, hogy az owl:imports h�v�s nem felt�tlen�l sikeres. Amikor a Szemantikus Webr�l van sz�, sejthet�, hogy a Weben sz�tsz�rt adatforr�sokhoz val� hozz�f�r�s nem mindig lehets�ges. A Szemantikus Web eszk�zei az implement�ci�jukt�l f�gg�en v�laszt adnak majd erre a probl�m�ra.
Ugyancsak megjegyzend�, hogy az OWL sz�k�szlet haszn�lat�hoz nem sz�ks�ges import�lni az owl.rdf ontol�gi�t (s�t, ennek import�l�sa nem is aj�nlott).
Egy k�zismert teg csoport, amelyet �rdemes volna a headerbe (fejl�c deklar�ci�ba) be�p�teni, az a szabv�nyos Dublin Core meta-adat tegek egy bizonyos r�szhalmaza. Ez azokb�l a tegekb�l �ll, amelyek egyszer� adatt�pusokat vagy karakterl�ncokat kapnak �rt�k�l, �s ilyen adatokat azonos�tanak, mint C�m, Szerz�, Le�r�s, Kiad� �s D�tum (l�sd: RDF declarations).
Azokat a Tulajdons�gokat (Properties) amelyeket annot�ci�k�nt haszn�lunk, az owl:AnnotationProperty kifejez�ssel deklar�ljuk, pl.:
<owl:AnnotationProperty rdf:about="&dc;creator" />
Az OWL t�bb m�s mechanizmust is haszn�l, amellyel az ontol�gi�nkhoz k�thetj�k az import�lt ontol�gi�t (l�sd Ontol�gi�k egyes�t�se).
Az rdfs:label kifejez�ssel pl. k�l�nb�z� term�szetes nyelv� c�mk�ket adhatunk meg, ha pl. t�mogatni k�v�njuk az ontol�gia t�bbnyelv� haszn�lat�t.
Az ontol�gi�nk header-defin�ci�j�t az
</owl:Ontology>
z�r�teggel fejezz�k be.
Ezt a kis "el�j�t�kot" most m�r k�vethetik azok a t�nyleges defin�ci�k, amelyek az ontol�gi�t alkotj�k. Ezek sor�t legv�g�l az
</rdf:RDF>
teg z�rja le.
Az OWL-nak az a k�pess�ge, hogy ontol�giai inform�ci�t lehet vele kifejezni olyan egyedekr�l, amelyek t�bb dokumentumb�l sz�rmaznak, szigor�an szab�lyozott m�don seg�ti az adatok �sszekapcsol�s�t. A nyelv be�p�tett szemantik�ja t�mogatja az ilyen inform�ci�k logikai feldolgoz�s�t is, s ez nem v�rt eredm�nyekhez vezethet. K�l�n�sen igaz ez, pl. owl:sameAs kifejez�sre, amellyel l�tsz�lag k�l�nb�z� egyedekr�l azt �ll�thatjuk, hogy val�j�ban azonosak. Az Owl:InverseFunctionalProperty kifejez�s szint�n alkalmas arra, hogy seg�ts�g�vel egyedeket kapcsoljunk �ssze. Ha egy olyan tulajdons�gr�l, mint pl. a "TAJsz�ma" azt jelentj�k ki, hogy ez egy Ford�tott funkcion�lis tulajdons�g, akkor a k�t k�l�nb�z� egyedet (pl. ugyanazon TAJ-sz�m k�t k�l�nb�z� n�ven szerepl� birtokos�t) azonosnak lehet tekinteni azon az alapon, hogy ezen tulajdons�guk �rt�ke megegyezik. Amikor az egyedekr�l ilyen m�don meg lehet �llap�tani, hogy azonosak, akkor a vel�k kapcsolatos, k�l�nb�z� forr�sokb�l sz�rmaz� inform�ci�k egyes�thet�k. Ez az adategyes�t�s (aggregation) teh�t arra is haszn�lhat�, hogy m�g olyan t�nyeket is meg�llap�thassunk valamely egyedr�l, amelyek egyik forr�sban sincsenek k�zvetlen�l �br�zolva.
A Szemantikus Web-nek az a k�pess�ge, hogy t�bb forr�sb�l lehet vele inform�ci�kat egyes�teni, egy sz�ks�ges �s rendk�v�l gy�m�lcs�z� tulajdons�g, mely sok alkalmaz�sn�l j�l kihaszn�lhat�. Azonban az a lehet�s�g, hogy k�l�nb�z� forr�sokb�l adatokat lehet integr�lni, kombin�lva az OWL k�vetkeztet� k�pess�geivel, mag�ban hordja a vissza�l�s lehet�s�g�t is. Az OWL felhaszn�l�inak �bereknek kell teh�t lenni�k, ha el akarj�k ker�lni a priv�t �rdekeik s�r�l�s�t. A r�szletes biztons�gi megold�sokat a Munkacsoport nem tekintette feladat�nak. T�bb olyan szervezet foglalkozik azonban ezekkel a k�rd�sekkel, amelyek a biztons�gi �s preferencia megold�sok k�l�nb�z� v�ltozatait k�n�lj�k (l�sd, pl. SAML �s P3P).
Egy OWL ontol�gia legt�bb eleme az oszt�lyokkal, tulajdons�gokkal, az oszt�lyok egyedeivel �s a k�zt�k l�v� viszonyokkal kapcsolatos. Ez a szekci� bemutatja azokat a nyelvi komponenseket, amelyek fontosak az ilyen elemek bevezet�s�hez.
Egy ontol�gia sokc�l� felhaszn�l�si lehet�s�ge att�l a k�pess�gt�l f�gg, hogy k�vetkeztet�seket tudunk levonni az egyedekr�l. Hogy ezt hasznos m�don tudjuk megval�s�tani, sz�ks�g�nk van egy olyan mechanizmusra, amellyel le tudjuk �rni azokat az oszt�lyokat, amelyekhez az egyedek tartoznak, valamint azokat a tulajdons�gokat, amelyeket ezek az egyedek �r�k�lnek azon az alapon, hogy az adott oszt�ly tagjai. Mindig kijelenthet�nk specifikus tulajdons�gokat az egyedekr�l, az ontol�gi�k legnagyobb erej�t azonban a tulajdons�gaik oszt�ly alapon t�rt�n� kik�vetkeztethet�s�ge adja.
Id�nk�nt hangs�lyozni k�v�njuk a megk�l�nb�ztet�st oszt�lyok mint objektumok, �s oszt�lyok mint halmazok k�z�tt, amelyek elemeket tartalmaznak. Azoknak az egyedeknek a halmaz�t, amelyek egy oszt�ly tagjai, az oszt�ly kiterjed�s�nek vagy extenzi�j�nak nevezz�k.
Egy t�mater�let leg�ltal�nosabb fogalmait olyan oszt�lyoknak kell megfeleltetn�nk, amelyek majd a k�l�nb�z� taxon�mia f�k gy�kerei lesznek. Az OWL vil�g�ban minden egyed az owl:Thing (Valami) oszt�ly tagja. �gy a felhaszn�l� �ltal defini�lt minden oszt�ly implicite szint�n az owl:Thing oszt�ly aloszt�lya. Egy t�mater�let gy�k�roszt�lyait egyszer� neves�tett oszt�lyok defini�l�s�val hozzuk l�tre. Az OWL defini�l egy �res oszt�lyt is, amelynek a neve owl:Nothing (Semmi).
A p�ld�nkban szerepl� Bor t�mater�let sz�m�ra h�rom gy�k�roszt�lyt defini�lunk, rendre: Pinc�szet, R�gi� �s Fogyaszthat�Dolog.
<owl:Class rdf:ID="Winery"/> <owl:Class rdf:ID="Region"/> <owl:Class rdf:ID="ConsumableThing"/>
Jegyezz�k meg, hogy itt egyel�re csak azt mondtuk, hogy l�tezik h�rom oszt�ly, amelynek ezeket a neveket adtuk, �s ezt az 'rdf:ID=' szintaxissal jel�lt�k. A l�tez�s�k�n k�v�l, form�lisan, szinte semmit sem tudunk ezekr�l az oszt�lyokr�l, annak ellen�re sem, hogy ismer�s angol kifejez�seket haszn�ltunk a megnevez�s�kre. �s, noha ezek az oszt�lyok m�r l�teznek, m�g nem lehetnek tagjaik. Ebben a pillanatban m�g csak annyit tudunk, hogy ezt a h�rom dolgot �gy is nevezhetn�nk, hogy Thing1, Thing2, �s Thing3.
Fontos eml�kezn�nk arra, hogy a defin�ci�k lehetnek inkrement�lisak �s elosztottak. K�l�n�sen a Winery oszt�llyal kapcsolatban k�s�bb m�g sz�lunk err�l.
A defin�ci� r�szek�nt az rdf:ID="Region" t�pus� szintaxist haszn�ljuk egy n�v bevezet�s�re. Ez az rdf:ID attribute ([RDF Syntax], 7.2.22), mely hasonl�t az XML �ltal defini�lt, ismer�s ID attrib�tumra. Ebben a dokumentumban a Region oszt�lyra most m�r a #Region n�ven hivatkozhatunk, pl. rdf:resource="#Region". M�s ontol�gi�k a teljes nev�vel hivatkozhatnak ugyanerre az oszt�lyra: "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#Region".
Egy m�sik hivatkoz�si forma az rdf:about="#Region" szintaxist haszn�lja egy forr�s defin�ci�j�nak a kiterjeszt�s�re. Az rdf:about="&ont;#x" szintaxisnak ez a haszn�lata kritikus elem az elosztott ontol�gi�k �p�t�s�ben. Ez ugyanis megengedi az x import�lt defin�ci� kiterjeszt�s�t an�lk�l, hogy m�dos�tan� az eredeti dokumentumot, �s ez�ltal t�mogatja egy nagyobb ontol�gia inkrement�lis �p�t�s�t.
A megadott azonos�t�ik haszn�lat�val most m�r hivatkozhatunk azokra az oszt�lyokra, amelyeket m�s OWL nyelvi konstrukci�kkal defini�ltunk. Ebben a dokumentumban az els�k�nt deklar�lt oszt�lyra a #Winery relat�v azonos�t�t haszn�lhatjuk. M�s dokumentumn�l is sz�ks�ges lehet, hogy ugyanerre az oszt�lyra hivatkozz�k. Ezt legc�lszer�bben n�vt�r- �s entit�sdefin�ci�k seg�ts�g�vel teheti meg, amelyek forr�sk�nt be�p�tik a defini�l� dokumentumokat:
... <!ENTITY vin "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" > <!ENTITY food "http://www.w3.org/TR/2004/REC-owl-guide-20040210/food#" > ... <rdf:RDF xmlns:vin ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" xmlns:food="http://www.w3.org/TR/2004/REC-owl-guide-20040210/food#" ... > ...
E defin�ci�k ut�n most m�r hivatkozhatunk a Pinc�szet oszt�lyra, ak�r a vin:Winery XML teg, ak�r a &vin;Winery attrib�tum-�rt�k seg�ts�g�vel. M�g explicitebben b�rmikor hivatkozhatunk egy forr�sra a teljes URI-ja seg�ts�g�vel; az adott esetben ez http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#Winery.
Alapvet� taxon�mia�p�t�-elem az oszt�lyok sz�m�ra az rdfs:subClassOf. Ez egy specifikusabb oszt�lyt defini�l, amelyet egy �ltal�nosabb oszt�ly al� sorol. Ha X az Y aloszt�lya, akkor X minden egyede Y-nak is egyede. Az rdfs:subClassOf rel�ci� tranzit�v: ha X az Y aloszt�lya, �s Y a Z aloszt�lya, akkor X szint�n aloszt�lya Z-nek.
<owl:Class rdf:ID="PotableLiquid"> <rdfs:subClassOf rdf:resource="#ConsumableThing" /> ... </owl:Class>
Itt defini�ltuk a PotableLiquid (Ihat�Folyad�k) oszt�lyt mint a ConsumableThing (Fogyaszthat�Dolog) aloszt�ly�t.
A Web alap� ontol�gi�k vil�g�ban ezt a k�t oszt�lyt egy-egy k�l�n ontol�gi�ban lehetne defini�lni, amelyek el��ll�tan�k az alapvet� �p�t�kock�kat az �tel �s ital ontol�gi�k sz�les v�laszt�k�hoz, ahogy meg is tett�k. Ezek az oszt�lyok a "food" ontol�gi�ban vannak defini�lva, amelyet import�ltunk a "wine" ontol�gi�ba. A "food" ontol�gia tartalmaz egy sor oszt�lyt, p�ld�ul a Food, az EdibleThing (Ehet�Dolog), a MealCourse (�tkez�siFog�s) �s a Shellfish (R�kfl�k), oszt�lyt, amelyek nem tartoznak k�zvetlen�l a bor t�m�k gy�jtem�ny�be, de a "wine" sz�k�szlet�hez kell kapcsolnunk, ha hasznos k�vetkeztet�seket k�v�nunk a t�m�val kapcsolatban levonni. A "food" �s a "wine" ontol�gi�k k�lcs�n�sen f�ggenek egym�st�l, �ppen az�rt, hogy megfeleljenek a c�lnak: az �telek �s borok p�ros�t�s�nak.
Egy oszt�lydefin�ci� k�t r�szb�l �ll: egy n�v bevezet�s�b�l vagy ilyenre val� hivatkoz�sb�l, valamint az oszt�ly korl�toz�sainak list�j�b�l. Az oszt�lydefin�ci�ban szerepl� minden egyes k�zvetlen kifejez�s tov�bb sz�k�ti a defini�lt oszt�ly lehets�ges egyedeinek k�r�t. �gy az oszt�ly t�nyleges egyedeit a korl�toz�sok �ltal meghat�rozott halmazok metszete jel�li ki. (Hab�r l�sd az owl:equivalentClass r�szleteit). Eddig olyan p�ld�kat l�ttunk, amelyek csak egyetlen korl�toz�st tartalmaztak, m�gpedig olyat, amelyik az �j oszt�lyt valamely m�s neves�tett oszt�ly aloszt�lyak�nt hat�rozza meg.
Ezen a ponton most m�r k�sz�thet�nk egy egyszer� (de nem komplett) defin�ci�t a Wine oszt�ly sz�m�ra. Defini�ljuk a "Pasta" (T�szta) oszt�lyt is, mint az EdibleThing aloszt�ly�t:
<owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid"/> <rdfs:label xml:lang="en">wine</rdfs:label> <rdfs:label xml:lang="fr">vin</rdfs:label> ... </owl:Class> <owl:Class rdf:ID="Pasta"> <rdfs:subClassOf rdf:resource="#EdibleThing" /> ... </owl:Class>
Az rdfs:label (c�mke) bejegyz�s az oszt�ly ember �ltal olvashat� opcion�lis nev�t adja meg a megjelen�t� eszk�z�k c�lj�ra. Ez a n�v csup�n egy c�mke, �s ugyan�gy, mint egy megjegyz�s, transzparens az ontol�gia logikai �rtelmez�se szempontj�b�l. A "lang" (nyelv) attrib�tum t�mogatja a t�bbnyelv�s�get.
A "wine" defin�ci�nk m�g messze nem teljes. M�g semmit sem tudunk meg bel�le a borr�l azon k�v�l, hogy ez Valami, �s hogy Ihat�Folyd�k, de m�r van elegend� inform�ci�nk ahhoz, hogy megnevezhess�k az egyedeit, �s ezekr�l inform�ci�kat szerezhess�nk.
Az oszt�lyok mellett az is sz�ks�ges, hogy le�rhassuk ezek tagjait. �ltal�ban �gy gondolunk az egyedekre, mint a dolgok univerzum�nak egyedeire. Egy egyed minim�lis bevezet�se az �ltal t�rt�nik, hogy egy oszt�ly tagjak�nt deklar�ljuk.
<Region rdf:ID="CentralCoastRegion" />
Jegyezz�k meg, hogy a k�vetkez� defin�ci�k jelent�se azonos a fenti p�ld�ban szerepl��vel.
<owl:Thing rdf:ID="CentralCoastRegion" /> <owl:Thing rdf:about="#CentralCoastRegion"> <rdf:type rdf:resource="#Region"/> </owl:Thing>
(Az rdf:type egy RDF tulajdons�g, mely egy egyedet kapcsol egy oszt�lyhoz, s ez�ltal annak tagj�v� teszi.)
N�h�ny meg�llap�t�st le kell sz�gezn�nk err�l. El�sz�r is: eld�nt�tt�k, hogy a CentralCoastRegion, egy konkr�t r�gi�, a Region oszt�ly tagja, mely tartalmazza az �sszes f�ldrajzi r�gi�t. M�sodszor: nem k�vetelm�ny, hogy a k�tr�szes p�ld�ban szerepl� k�t elem k�zvetlen�l egym�st k�vesse, s�t m�g az sem, hogy ugyanabban a f�jlban szerepeljenek (b�r a neveket ilyenkor egy URI-val ki kell terjeszteni). Az ontol�gi�kat eleve �gy tervezz�k, hogy elosztattak lesznek. Ezeket import�lhatjuk �s gazdag�thatjuk, s ily m�don lesz�rmaztatott ontol�gi�kat alkothatunk.
Az�rt, hogy legyen k�szenl�tben m�g n�h�ny tov�bbi oszt�lyunk a k�vetkez� szekci�kban bemutatand� tulajdons�gok sz�m�ra, al�bb defini�ljuk a Grape (Sz�l�) taxon�mia egyik �g�t egy aloszt�lya (WineGrape = Borsz�l�), �s annak egy egyede (a Cabernet Sauvignon borsz�l�fajta) �ltal. A sz�l�fajt�k a "food" ontol�gi�ban vannak defini�lva:
<owl:Class rdf:ID="Grape"> ... </owl:Class>
�s �gy a Wine antol�gi�ban a k�vetkez�ket defini�lhatjuk:
<owl:Class rdf:ID="WineGrape"> <rdfs:subClassOf rdf:resource="&food;Grape" /> </owl:Class> <WineGrape rdf:ID="CabernetSauvignonGrape" />
Amint arr�l sz� lesz a k�vetkez� szekci�ban, a CabernetSauvignonGrape egy egyed, mert egy konkr�t borsz�l�fajt�t azonos�t.
Felmer�l n�h�ny fontos k�rd�s az OWL-ban az oszt�ly �s az egyed megk�l�nb�ztet�s�vel kapcsolatban. Egy oszt�ly nem m�s, mint egy n�v, valamint olyan tulajdons�gok kollekci�ja, mely egyedek halmaz�t �rja le. Az egyedek ennek a halmaznak az elemei. �gy az oszt�lyoknak meg kell felelni�k a dolgok term�szetes halmazainak a sz�ban forg� t�mater�leten, az egyedeknek pedig meg kell felelni�k azoknak a konkr�t entit�soknak, amelyek ezekbe az oszt�lyokba becsoportos�that�k.
Az ontol�gi�k �p�t�s�ben ez a megk�l�nb�ztet�s gyakran k�tf�le okb�l is hom�lyos lehet:
Meg kell jegyezni, hogy ugyanez a megk�l�nb�ztet�s �rv�nyes a Wine oszt�ly kezel�s�re is. A Wine oszt�ly az �sszes bor fajt�t jel�li, �s nem azoknak a konkr�t palackozott boroknak a halmaz�t, amelyekb�l valaki v�s�rolhat. Egy m�sfajta c�l� ontol�gia a mi ontol�gi�nk Wine oszt�ly�nak minden egyed�t kinevezhetn� egy olyan oszt�lynak, amely az adott fajt�j� borral t�lt�tt palackokat jelenti. K�nnyen elk�pzelhet� egy olyan borkereskedelmi inform�ci�s rendszer, amelyben az �runyilv�ntart�/lelt�roz� programnak konkr�t palackozott borokkal kell foglalkoznia. Ahhoz, hogy a jelenlegi ontol�gi�nk ilyen m�don interpret�lhassa a bor fogalm�t, arra van sz�ks�ge, hogy oszt�lyokat egyedk�nt is kezelni tudjon. Jegyezz�k meg, hogy az OWL Full megengedi ennek kifejez�s�t, vagyis lehet�v� teszi, hogy egy konkr�t borfajt�t egyidej�leg olyan oszt�lyk�nt is kezelhess�nk, amelynek egyedei palackozott borok.
Hasonl� meggondol�sb�l, azokat a borokat, amelyeket a pinc�szetek a k�l�nb�z� �vekben k�sz�tenek, �vj�ratoknak tekintj�k. Ahhoz, hogy az �vj�rat fogalm�t �br�zolni tudjuk, meg kell hat�roznunk, hogy hov� illik ez a fogalom a konkr�t ontol�gi�nkban. A Wine oszt�ly egy egyede, mint fentebb elmondtuk, egyetlen pinc�szet egyetlen borfajt�j�t jelenti, mint pl. a FormanChardonnay.
Ha teh�t, pl. a Forman pinc�szet 2000. �vben termelt Chardonnay bor�t a FormanChardonnay egyik �vj�rat�nak tekintj�k, akkor probl�m�ba �tk�z�nk, mivel nincs lehet�s�g�nk arra, hogy a borok egy egyed�nek (a FormanChardonnay-nak) a r�szhalmaz�t �br�zoljuk. Az �vj�rat ugyanis nem egy �j borfajta, hanem egy borfajt�nak egy speci�lis r�szhalmaza, amelyet a 2000. �vben termeltek. Az egyik megold�s az lehetne, hogy OWL Full-t alkalmazva, a bor egyedeit olyan oszt�lyoknak defini�ljuk, amelyek aloszt�lyainak (r�szhalmazainak) tekinthetj�k az �vj�ratokat. A m�sik lehet�s�g�nk az, hogy a probl�m�t megker�lve, a Vintage (�vj�rat) fogalm�ra egy k�l�n oszt�lyt vezet�nk be, amelynek egyedeit az adott �vj�rat� borokhoz kapcsoljuk. �gy p�ld�ul a FormanChardonnay2000 a Vintage oszt�ly egyede lenne, amelyet egy vintageOf (�vj�rata) tulajdons�ggal a FormanChardonnay-hoz kapcsolhatn�nk. A Vintage oszt�lyt al�bb defini�ljuk.
Ennek a diszkusszi�nak a c�lja az volt, hogy ne feledj�k: egy ontol�gia tervez�s�t mindig az kell hogy vez�relje, hogy milyen c�lra k�v�njuk majd haszn�lni. A fenti probl�m�k r�vil�g�tanak az egyik legnagyobb k�l�nbs�gre az OWL Full �s OWL DL k�z�tt. Az OWL Full megengedi az oszt�lyok mint egyedek alkalmaz�s�t is, m�g az OWL DL ezt tiltja. A Wine otol�gi�t OWL DL-re tervezt�k, �s �gy az olyan egyedek, mint pl. a FormanChardonnay, nem kezelhet�k egyidej�leg oszt�lyk�nt is.
Az oszt�lyok �s egyedek vil�ga meglehet�sen �rdektelen lenne, ha csak taxon�mi�kat tudn�nk defini�lni. A Tulajdons�gok (Properties) lehet�v� teszik sz�munkra, hogy k�z�s jellemz�ket adjunk meg egy oszt�ly �sszes tagj�r�l, �s hogy egyedi t�nyeket �ll�tsunk ezek meghat�rozott egyedeir�l.
A tulajdons�g bin�ris rel�ci�, azaz k�t dolog logikai kapcsolat�t le�r� fogalom. A tulajdons�gok k�t t�pus�t k�l�nb�ztetetj�k meg:
Amikor egy tulajdons�got defini�lunk, t�bbf�le m�d van arra, hogy ezt a tulajdons�got korl�tozzuk. Meghat�rozhat�, pl. a tulajdons�g �rv�nyess�gi k�re �s az �rt�ktartom�nya, vagy a tulajdons�g defini�lhat� egy m�r l�tez� tulajdons�g specializ�ci�jak�nt (altulajdons�gak�nt). M�g tov�bbi, kifinomultabb korl�toz�sok is lehets�gesek, ezekr�l k�s�bb m�g sz�lunk.
<owl:ObjectProperty rdf:ID="madeFromGrape"> <rdfs:domain rdf:resource="#Wine"/> <rdfs:range rdf:resource="#WineGrape"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="course"> <rdfs:domain rdf:resource="#Meal" /> <rdfs:range rdf:resource="#MealCourse" /> </owl:ObjectProperty>
Az OWL-ban az elemek sora explicit oper�tor n�lk�l azok implicit konjunkci�j�t jelenti. A madeFromGrape (~Sz�l�b�lK�sz�lt) tulajdons�g �rv�nyess�gi k�re (domain) a Wine oszt�ly, az �rt�ktartom�nya (range) pedig a WineGrape oszt�ly. Vagyis, ez a tulajdons�g a Wine oszt�ly egyedeit kapcsolja a WineGrape oszt�ly egyedeihez. T�bb �rv�nyess�gi k�r megad�sa azt jelenti, hogy a tulajdons�g �rv�nyess�gi k�re a megnevezett oszt�lyok metszete (konjunkci�ja) lesz, �s ugyanez �rv�nyes az �rt�ktartom�nyra is.
Hasonl�k�ppen, a course (fog�sa) tulajdons�g a Meal (�tkez�s) oszt�lyt kapcsolja a MealCourse (�tkez�siFog�s) oszt�lyhoz.
Jegyezz�k meg, hogy a domain �s a range inform�ci�k az OWL-ban nem azonosak a programoz�si nyelvekben haszn�lt type inform�ci�val. A t�pusokat egyebek k�z�tt a konzisztencia ellen�rz�s�re haszn�lj�k a programnyelvek. Az OWL-ban egy range egy t�pus kik�vetkeztet�s�re haszn�lhat�. P�ld�ul, ha adott:
<owl:Thing rdf:ID="LindemansBin65Chardonnay">
<madeFromGrape rdf:resource="#ChardonnayGrape" />
</owl:Thing> �¬�
akkor ebb�l kik�vetkeztethet�, hogy a LindemansBin65Chardonnay egy borfajta (b�r explicite m�g csak Thing-nek deklar�ltuk), mivel a madeFromGrape tulajdons�g �rv�nyess�gi k�r�t (domain-j�t) a Wine oszt�ly egyedeire korl�toztuk.
A ford�t� megjegyz�se:
Hogy a p�ld�k magyar�zat�ban a tripletek �ll�tm�nyait (tulajdons�gait) logikailag helyesen ford�thassuk magyarra, n�ha besz�runk egy tilde (~) karaktert ezek nev�be. Ha ennek a hely�re k�pzelj�k a tulajdons�g �rt�k�nek (a t�rgynak) a nev�t, akkor az �ll�t�s magyarul is helyes lesz, b�r itt is ford�tott sz�rend� mondatot eredm�nyez. Pl. a "LindemansBin65Chardonnay" – "~sz�l�b�lK�sz�lt" – "ChardonnayGrape" tripletet �gy olvassuk, hogy "a LindemansBin65Chardonnay bor ChardonnayGrape sz�l�b�l k�sz�lt". (L�sd a tilde haszn�lat�nak r�szletes diszkusszi�j�t egy m�sik ford�t�i megjegyz�sben)
A tulajdons�gok, ugyan�gy mint az oszt�lyok, hierarchi�ba rendezhet�k:
<owl:Class rdf:ID="WineDescriptor" /> <owl:Class rdf:ID="WineColor"> <rdfs:subClassOf rdf:resource="#WineDescriptor" /> ... </owl:Class> <owl:ObjectProperty rdf:ID="hasWineDescriptor"> <rdfs:domain rdf:resource="#Wine" /> <rdfs:range rdf:resource="#WineDescriptor" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasColor"> <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" /> <rdfs:range rdf:resource="#WineColor" /> ... </owl:ObjectProperty>
A WineDescriptor (BorJellemz�) tulajdons�gok a borokat a sz�n�kkel, az �sszetev�ikkel, �s az �z�k komponenseivel (�dess�g, testess�g, aroma) kapcsolj�k �ssze. A hasColor (sz�ne) tulajdons�g a hasWineDescriptor (BorJellemz�je) tulajdons�g altulajdons�ga, amelynek az �rt�ktartom�ny�t tov�bb korl�tozzuk a WineColor (BorSz�n) oszt�lyra. Az rdfs:subPropertyOf rel�ci� ebben az esetben azt jelenti, hogy b�rmi, aminek van egy hasColor tulajdons�ga X �rt�kkel, annak van egy hasWineDescriptor tulajdons�ga is X �rt�kkel.
A k�vetkez�kben bevezetj�k a locatedIn (~banTal�lhat�) tulajdons�got, mely a dolgokat azokkal a r�gi�kkal kapcsolja �ssze, amelyekben tal�lhat�k.
<owl:ObjectProperty rdf:ID="locatedIn"> ... <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing" /> <rdfs:range rdf:resource="#Region" /> </owl:ObjectProperty>
Figyelj�k meg, hogyan defini�ltuk a locatedIn tulajdons�g domain �s range korl�toz�sait. Itt a domain lehet�v� teszi b�rminek, hogy egy r�gi�ban legyen tal�lhat�, bele�rtve mag�t a r�gi�t is. Ennek a rel�ci�nak a tranzit�v kompoz�ci�ja l�nyeg�ben egy olyan h�l�zatot hoz l�tre, mely f�ldrajzilag egym�sba �gyazott szubr�gi�kb�l �s Valamikb�l �ll. Azok a Valamik, amelyekben nem tal�lhat� semmi, b�rmilyen oszt�ly�ak lehetnek, m�g azok, amelyekben m�s r�gi�k tal�lhat�k, kiz�r�lag R�gi� oszt�ly�ak lehetnek.
Most m�r kiterjeszthetj�k a Wine defin�ci�t azzal a fogalommal, hogy egy bor legal�bb egy borsz�l�fajt�b�l (WineGrape) k�sz�l. Ugyan�gy, mint a tulajdons�gdefin�ci�k, az oszt�lydefin�ci�k is t�bb alkomponensb�l �llnak, amelyek implicit �S-kapcsolatban vannak (halmazmetszetet alkotnak) egym�ssal.
<owl:Class rdf:ID="Wine">
<rdfs:subClassOf rdf:resource="&food;PotableLiquid"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromGrape"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
...
</owl:Class>
A fent kiemelt aloszt�lykorl�toz�s:
<owl:Restriction> <owl:onProperty rdf:resource="#madeFromGrape"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction>
egy n�vtelen oszt�lyt defini�l, s ez olyan dolgok halmaz�t �br�zolja, amelyeknek van legal�bb egy madeFromGrape tulajdons�guk. E korl�toz�snak a Wine defin�ci�ba t�rt�n� bevezet�s�vel azt mondjuk ki, hogy azok a valamik, amelyek borok, ennek a n�vtelen oszt�lynak is tagjai. Azaz, minden egyedi bornak kell hogy legyen legal�bb egy madeFromGrape rel�ci�ja (mert ennek a rel�ci�nak a minim�lis kardinalit�s�t 1-re �ll�tottuk be).
Most m�r le�rhatjuk a Vintage (�vj�rat) oszt�lyt, amelyr�l el�z�leg m�r sz� volt:
<owl:Class rdf:ID="Vintage">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#vintageOf"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class> �¬�
A vintageOf (�vj�rata) tulajdons�g/rel�ci� egy �vj�ratot kapcsol egy borhoz:
<owl:ObjectProperty rdf:ID="vintageOf">
<rdfs:domain rdf:resource="#Vintage" />
<rdfs:range rdf:resource="#Wine" />
</owl:ObjectProperty> �¬�
A k�vetkez� szekci�ban majd az �vj�ratokat a konkr�t �v�kh�z kapcsoljuk.
A tulajdons�gokat megk�l�nb�ztetj�k azon az alapon, hogy egyedeket kapcsolnak-e egyedekhez (objektumtulajdons�gok), vagy egyedeket adatt�pusokhoz (adatt�pus-tulajdons�gok). Ez ut�bbiak kiterjedhetnek az RDF liter�lokra �s egyszer� adatt�pusokra, amelyeket az XML S�ma adatt�pusoknak megfelel�en defini�lunk.
Az OWL haszn�lja a legt�bb be�p�tett XML S�ma adatt�pust. Az ilyen adatt�pusokra val� hivatkoz�s az adatt�pusnak megfelel� URI referenci�val t�rt�nik: http://www.w3.org/2001/XMLSchema. Az al�bbi adatt�pusok aj�nlottak az OWL-ban val� haszn�latra:
xsd:string | xsd:normalizedString | xsd:boolean | |
xsd:decimal | xsd:float | xsd:double | |
xsd:integer | xsd:nonNegativeInteger | xsd:positiveInteger | |
xsd:nonPositiveInteger | xsd:negativeInteger | ||
xsd:long | xsd:int | xsd:short | xsd:byte |
xsd:unsignedLong | xsd:unsignedInt | xsd:unsignedShort | xsd:unsignedByte |
xsd:hexBinary | xsd:base64Binary | ||
xsd:dateTime | xsd:time | xsd:date | xsd:gYearMonth |
xsd:gYear | xsd:gMonthDay | xsd:gDay | xsd:gMonth |
xsd:anyURI | xsd:token | xsd:language | |
xsd:NMTOKEN | xsd:Name | xsd:NCName |
A fenti adatt�pusok, plusz az rdfs:Literal alkotj�k a be�p�tett OWL adatt�pusokat. Minden OWL k�vetkeztet�/feldolgoz� rendszert�l elv�rja a nyelv, hogy legal�bb az xsd:integer �s az xsd:string adatt�pusokat t�mogassa.
M�s be�p�tett XML S�ma adatt�pusok is haszn�lhat�k az OWL Full-ban, de csak az OWL Szemantika �s absztrakt szintaxis dokumentumban megfogalmazott �vatoss�g mellett.
<owl:Class rdf:ID="VintageYear" /> <owl:DatatypeProperty rdf:ID="yearValue"> <rdfs:domain rdf:resource="#VintageYear" /> <rdfs:range rdf:resource="&xsd;positiveInteger"/> </owl:DatatypeProperty>
Itt a yearValue (�vsz�ma) adatt�pus-tulajdons�g a VintageYear (�vj�rati�v) oszt�lyt a pozit�v eg�sz sz�mok �rt�ktartom�ny�hoz kapcsolja. Bevezetj�k a hasVintageYear (�vj�rati�ve) tulajdons�got is, mely a Vintage (�vj�rat) oszt�lyt a VintageYear (�vj�rati�v) oszt�lyhoz kapcsolja. L�sd al�bb.
Az OWL Referencia dokumentum ([OWL Referencia], 6.2) le�rja az owl:oneOf, az rdf:List �s az rdf:rest haszn�lat�t Felsorol�s adatt�pus defini�l�s�ra. Ott egy p�lda azt mutatja be, hogyan �p�tj�k fel a tennisGameScore nev� adatt�pus-tulajdons�got egy olyan �rt�ktartom�nyra korl�tozva, amelynek �rt�ke egy eg�sz sz�mokb�l �ll� lista: {0, 15, 30, 40}.
El�sz�r le�rjuk a Region �s a Winery egyedeit, majd pedig defini�ljuk az els� borunkat, a Cabernet Sauvignont.
<Region rdf:ID="SantaCruzMountainsRegion"> <locatedIn rdf:resource="#CaliforniaRegion" /> </Region> <Winery rdf:ID="SantaCruzMountainVineyard" /> <CabernetSauvignon rdf:ID="SantaCruzMountainVineyardCabernetSauvignon" > <locatedIn rdf:resource="#SantaCruzMountainsRegion"/> <hasMaker rdf:resource="#SantaCruzMountainVineyard" /> </CabernetSauvignon>
De ez m�g mindig nem teljes. T�bb aspektusa van m�g a borf�l�knek, amelyeket a teljes ontol�gia defini�l, de a darabok kezdenek �ssze�llni. Elkezdhetn�nk, pl. k�vetkeztet�seket levonni azzal kapcsolatban, hogy az �tel ontol�gi�nkban szerepl� �tkez�si fog�sokhoz milyen bor illene. A fenti defin�ci�b�l tudjuk, hogy borunkat a "Santa Cruz Mountain Vineyard" nev� pinc�szet �ll�tja el�. Mivel ez a bor Cabernet Sauvignon (l�sd wine.rdf), azt is tudjuk, hogy ez egy sz�raz v�r�sbor.
Ugyanilyen m�don adatt�pus-tulajdons�gokat is rendelhet�nk az egyedekhez. Al�bb le�rjuk a VintageYear oszt�ly egyik egyed�t, �s egy konkr�t �rt�ket kapcsolunk hozz�, amelynek adatt�pus�t &xsd:positiveInteger-nek defini�ljuk:
<VintageYear rdf:ID="Year1998"> <yearValue rdf:datatype="&xsd;positiveInteger">1998</yearValue> </VintageYear>
A k�vetkez� n�h�ny szakasz azokat a mechanizmusokat �rja le, amelyekkel tov�bb pontos�thatjuk a tulajdons�gokat. Lehet�s�g�nk van p�ld�ul tulajdons�gjellemz�ket (property characteristics) specifik�lni, amelyek hat�kony mechanizmusokat adnak a kez�nkbe a tulajdons�gokkal kapcsolatos magasabb rend� k�vetkeztet�sek levon�s�ra.
Ha egy P tulajdons�got tranzit�vnak specifik�lunk, akkor minden x, y �s z-re igaz, hogy
ha P(x,y) �s P(y,z) akkor P(x,z)
A locatedIn tulajdons�g tranzit�v.
<owl:ObjectProperty rdf:ID="locatedIn"> <rdf:type rdf:resource="&owl;TransitiveProperty" /> <rdfs:domain rdf:resource="&owl;Thing" /> <rdfs:range rdf:resource="#Region" /> </owl:ObjectProperty> <Region rdf:ID="SantaCruzMountainsRegion"> <locatedIn rdf:resource="#CaliforniaRegion" /> </Region> <Region rdf:ID="CaliforniaRegion"> <locatedIn rdf:resource="#USRegion" /> </Region>
Vagyis, ha a Santa Cruz Mountains r�gi� a kaliforniai r�gi�ban van, akkor egy�ttal az USA r�gi�ban is van, l�v�n a locatedIn egy tranzit�v tulajdons�g.
Ha egy P tulajdons�got szimmetrikusnak c�mk�z�nk, akkor minden x-re �s y-ra igaz, hogy
ha P(x,y) akkor P(y,x) �s megford�tva,
vagyis a k�t kifejez�s k�lcs�n�sen implik�lja egym�st. M�g az adjacentRegion (szomsz�dosR�gi� ) tulajdons�g szimmetrikus, a locatedIn nem az. Hogy pontosabbak legy�nk, a locatedIn tulajdons�got nem akartuk szimmetrikusnak defini�lni. A jelenlegi Bor ontol�gi�ban semmi sem akad�lyozza, hogy szimmetrikus legyen.
<owl:ObjectProperty rdf:ID="adjacentRegion"> <rdf:type rdf:resource="&owl;SymmetricProperty" /> <rdfs:domain rdf:resource="#Region" /> <rdfs:range rdf:resource="#Region" /> </owl:ObjectProperty> <Region rdf:ID="MendocinoRegion"> <locatedIn rdf:resource="#CaliforniaRegion" /> <adjacentRegion rdf:resource="#SonomaRegion" /> </Region>
A Mendocino r�gi� szomsz�dos a Sonoma r�gi�val, �s megford�tva. a Mendocino r�gi� a California r�gi�ban van, de ford�tva ez nem igaz.
Ha egy P tulajdons�got funkcion�lisnak c�mk�z�nk, akkor minden x, y, �s z-re igaz, hogy
ha P(x,y) �s P(x,z) akkor y = z
A Bor ontol�gi�nkban a hasVintageYear (�vj�rati�ve) tulajdons�g funkcion�lis, ugyanis egy konkr�t bornak csak egy �vj�rata lehet. Vagyis, egy adott Vintage egyed csak egyetlen �vsz�mmal kapcsolhat� �ssze a hasVintageYear rel�ci� seg�ts�g�vel. Egy owl:FunctionalProperty (egy�rt�k� tulajdons�g) eset�ben nem k�vetelm�ny, hogy az �rv�nyess�gi k�r�ben (domain-j�ben) minden egyed rendelkezz�k �rt�kkel. L�sd a diszkusszi�t a Vintage cardinality p�ld�n�l.
<owl:Class rdf:ID="VintageYear" /> <owl:ObjectProperty rdf:ID="hasVintageYear"> <rdf:type rdf:resource="&owl;FunctionalProperty" /> <rdfs:domain rdf:resource="#Vintage" /> <rdfs:range rdf:resource="#VintageYear" /> </owl:ObjectProperty>
Ha egy P1 tulajdons�got �gy c�mk�z�nk, hogy owl:inverseOf P2, akkor minden x-re �s y-ra igaz, hogy
ha P1(x,y) akkor P2(y,x) �s megford�tva,
vagyis a k�t kifejez�s k�lcs�n�sen implik�lja egym�st. Figyelj�k meg, hogy az owl:inverseOf szintaxisa egy m�sik tulajdons�g nev�t adja meg argumentumk�nt. A p�lda azt mondja, hogy a "~bortK�sz�t" (producesWine) tulajdons�gnak a ford�tottja a "termel�je" (hasMaker) tulajdons�g:
<owl:ObjectProperty rdf:ID="hasMaker"> <rdf:type rdf:resource="&owl;FunctionalProperty" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="producesWine"> <owl:inverseOf rdf:resource="#hasMaker" /> </owl:ObjectProperty>
A boroknak van k�sz�t�j�k, amelyek a Wine defin�ci�j�ban a Winery (Pinc�szet) oszt�lyra vannak korl�tozva. �gy minden egyes Winery produk�l k�l�nf�le borokat, amelyek defin�ci�i �t viszont a k�sz�t�j�kk�nt defini�lj�k.
Ha egy P tulajdons�got InverseFunctional-k�nt c�mk�z�nk akkor minden x, y �s z-re igaz, hogy
ha P(y,x) �s P(z,x) akkor y = z
Vegy�k �szre, hogy az el�z� szekci�ban eml�tett
producesWine
tulajdons�g is ford�tott funkcion�lis.
Ennek az az oka, hogy egy funkcion�lis tulajdons�g ford�tottj�nak ford�tott
funkcion�lisnak kell lennie. Defini�lhattuk volna a hasMaker �s a
producesWine tulajdons�got a k�vetkez�k�ppen is, �s azonos eredm�nyt
kaphattunk volna, mint az el�z� p�ld�ban.
<owl:ObjectProperty rdf:ID="hasMaker" />
<owl:ObjectProperty rdf:ID="producesWine">
<rdf:type rdf:resource="&owl;InverseFunctionalProperty" />
<owl:inverseOf rdf:resource="#hasMaker" />
</owl:ObjectProperty> �¬�
Egy ford�tott funkcion�lis tulajdons�g �rt�ktartom�ny�nak elemeit tekints�k �gy, mintha adatb�zis �rtelemben egyedi kulcsokkal rendelkezn�nek. Az owl:InverseFunctional tulajdons�g implik�lja, hogy az �rt�ktartom�ny elemei egy-egy egyedi azonos�t�t jelentenek a tulajdons�g �rv�nyess�gi k�r�be (domain-j�be) tartoz� minden elem sz�m�ra.
Az OWL Fullban egy adatt�pus-tulajdons�got (DatatypeProperty-t) is c�mk�zhet�nk inverseFunctional-nak. Ez lehet�v� teszi, hogy egy karakterl�ncot egyedi kulcsk�nt defini�ljunk. Az OWL DL liter�lok oszt�lya �s az owl:Thing oszt�ly azonban diszjunkt. Emiatt az OWL DL nem engedi meg, hogy az InverseFunctional jellemz�t egy DatatypeProperty-re vonatkoztassuk.
A tulajdons�gjellemz�k mellett lehet�s�g�nk van m�g tov�bb korl�tozni egy tulajdons�g �rt�ktartom�ny�t bizonyos k�rnyezetekben �s k�l�nb�z� m�dokon. Ezt a tulajdons�gkorl�toz�sokkal val�s�tjuk meg. Ezeknek az al�bbiakban le�rt k�l�nb�z� form�it csak egy owl:Restriction kontextusban (azaz egy ilyen teg-p�r �ltal k�zrefogott defin�ci�szakaszon bel�l) haszn�lhatjuk. Az owl:onProperty elem jel�li a korl�tozand� tulajdons�got.
M�r l�ttunk egy m�dszert arra, hogyan korl�tozzuk azon elemek t�pusait, amelyek egy tulajdons�got alkotnak. A mechanizmusok eddig glob�lisak voltak (abban az �rtelemben, hogy a tulajdons�g minden el�fordul�s�ra vonatkoztak). A k�vetkez� kett�, az allValuesFrom �s a someValuesFrom azonban lok�lisak, mert csak az �ket tartalmaz� oszt�lydefin�ci�ra �rv�nyesek.
Az owl:allValuesFrom korl�toz�s azt k�ti ki, hogy egy olyan oszt�ly minden egyede sz�m�ra, amelyiknek vannak a specifik�lt tulajdons�ggal rendelkez� egyedei, a tulajdons�g lehets�ges �rt�keit az owl:allValuesFrom klauzul�val megjel�lt oszt�ly �sszes tagja alkotja.
<owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid" /> ... <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasMaker" /> <owl:allValuesFrom rdf:resource="#Winery" /> </owl:Restriction> </rdfs:subClassOf> ... </owl:Class>
Ezzel l�nyeg�ben azt mondtuk ki, hogy egy borf�les�g (Wine) el��ll�t�ja (hasMaker) csakis pinc�szet (Winery) lehet. Az allValuesFrom korl�toz�s kiz�r�lag a Wine oszt�lyra bevezetett hasMaker tulajdons�gra �rv�nyes (a sajtok oszt�ly�nak hasMaker tulajdons�g�ra p�ld�ul m�r nem).
Hasonl� a helyzet az owl:someValuesFrom korl�toz�ssal. Ha a fenti p�ld�ban kicser�ln�nk az owl:allValuesFrom korl�toz�st az owl:someValuesFrom korl�toz�ssal, az azt jelenten�, hogy a Wine oszt�ly minden egyed�nek legal�bb egy alkalommal kell a hasMaker tulajdons�ggal a Winery oszt�ly valamelyik egyed�hez kapcsol�dnia.
<owl:Class rdf:ID="Wine">
<rdfs:subClassOf rdf:resource="&food;PotableLiquid" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasMaker" />
<owl:someValuesFrom rdf:resource="#Winery" />
</owl:Restriction>
</rdfs:subClassOf>
...
</owl:Class> �¬�
A k�t korl�toz�s k�z�tti logikai k�l�nbs�g nem m�s, mint az els�rend� logika univerz�lis �s egzisztenci�lis kvantora k�z�tti k�l�nbs�g.
Rel�ci� | K�vetkezm�nyek |
---|---|
allValuesFrom | Minden borra igaz, hogy ha van el��ll�t�ja, az mind a Pinc�szet oszt�lyba tartozik. (Univerz�lis kvantor) |
someValuesFrom�� | Minden bornak l�tezik olyan el��ll�t�ja, amelyik a Pinc�szet oszt�lyba tartozik. (Egzisztenci�lis kvantor) |
Az els� nem k�ti ki, hogy a bornak kell hogy legyen egy el��ll�t�ja, hanem csak azt, hogy ha van, akkor az mind a Pinc�szet oszt�lyhoz tartozik. A m�sodik m�r kik�ti, hogy minden bornak legyen legal�bb egy el��ll�t�ja, amelyik Pinc�szet, de azt megengedi, hogy legyen olyan el��ll�t�ja is, amelyik nem Pinc�szet.
M�r l�ttunk p�ld�kat a kardinalit�s korl�toz�s�ra. Eddig azonban ezek csak a kardinalit�s minim�lis �rt�k�re vonatkoztak (owl:minCardinality). Enn�l m�g szigor�bb az owl:Cardinality, mely lehet�v� teszi, hogy pontosan megadjuk egy adott rel�ci� el�fordul�sainak a sz�m�t egy adott oszt�ly eset�n. P�ld�ul specifik�ljuk a Vintage-t olyan oszt�lyk�nt, amelyiknek pontosan egy VintageYear rel�ci�ja van.
<owl:Class rdf:ID="Vintage"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasVintageYear"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
A hasVintageYear (�vj�rati�ve) rel�ci�t kor�bban funkcion�lis tulajdons�gk�nt specifik�ltuk, ami ugyanaz, mintha azt mondtuk volna, hogy minden �vj�rathoz (Vintage) legfeljebb egy �vj�rati�v (VintageYear) tartozik. A rel�ci�nak a fenti korl�toz�sa azonban m�r er�sebb, mert azt jelenti, hogy egy �vj�rathoz pontosan egy �vj�rati�v tartozik.
A 0 �s 1 �rt�kre korl�tozott kardinalit�s m�r az OWL Lite-ban is haszn�lhat�. Ezzel a felhaszn�l� azt mondhatja, hogy annak �rt�ke 'legal�bb egy', 'legfeljebb egy', vagy 'pontosan egy'. Az OWL DL megengedi a 0 �s 1 �rt�keken k�v�l, a t�bbi pozit�v eg�sz sz�m megad�s�t is. Az owl:maxCardinality korl�toz�ssal a fels� hat�r�t, az owl:minCardinality-val pedig az als� hat�r�t specifik�ljuk. A kett� kombin�l�s�val egy numerikus intervallumon bel�l hat�rozhatjuk meg, hogy egy adott oszt�ly b�rmelyik egyede h�nyszor kapcsolhat� az �gy korl�tozott rel�ci�val m�s egyedekhez.
A hasValue tulajdons�gkorl�toz�s lehet�v� teszi, hogy oszt�lyokat defini�ljunk egy meghat�rozott tulajdons�g�rt�k megl�te alapj�n. Ebb�l k�vetkez�en egy egyed ennek az oszt�lynak a tagja lesz, ha a tulajdons�g �rt�keinek legal�bb egyike egyenl� a hasValue kifejez�sben megadott �rt�kkel.
<owl:Class rdf:ID="Burgundy"> ... <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasSugar" /> <owl:hasValue rdf:resource="#Dry" /> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
Itt azt deklar�ltuk, hogy minden Burgundi bor sz�raz. Azaz, kell hogy legyen legal�bb egy olyan "cukross�ga" tulajdons�ga, amelynek �rt�ke: "Sz�raz".
Ugyan�gy, mint az allValuesFrom �s a someValuesFrom, ez is egy helyi korl�toz�s (local restriction), mivel a hasSugar tulajdons�got csak a Burgundy oszt�lyon bel�l korl�tozza.
Ahhoz, hogy ontol�gi�ink el�rj�k a maxim�lis hat�sukat, az kell, hogy sz�les k�rben haszn�lj�k �ket. Ehhez pedig elengedhetetlen, hogy a fejleszt�s�kh�z sz�ks�ges er�fesz�t�seket minimaliz�ljuk. Ez�rt az ontol�gi�knak �jrafelhaszn�lhat�knak kell lenni�k. Az elk�pzelhet� vil�gok legjobbik�ban az ontol�gi�kat nem is kellene fejleszteni, hanem csak megl�v� ontol�gi�kb�l �ssze�ll�tani. P�ld�ul adopt�lhatn�nk egy d�tum ontol�gi�t egyik forr�sb�l, �s egy fizikai hely ontol�gi�t egy m�sikb�l, �s azut�n kiterjeszthetn�nk a hely fogalm�t (p�ld�ul elhelyez�ss�) �gy, hogy tartalmazza azt az id�tartamot is, ameddig egy adott elhelyez�s �rv�nyes.
Fontos �szrevenn�nk, hogy az ontol�gi�k fejleszt�s�ben a legt�bb er�fesz�t�st arra kell ford�tanunk, hogy olyan m�dokon kapcsoljunk �ssze oszt�lyokat �s tulajdons�gokat, hogy ezek sokf�le inform�ci� kinyer�s�re adjanak lehet�s�get. Azt szeretn�nk, ha az oszt�lyokr�l �s tagjaikr�l tett egyszer� �ll�t�sainkb�l messzemen� �s hasznos k�vetkeztet�seket lehetne levonni. Az ontol�gi�k fejleszt�s�ben azonban �ppen ez a legnagyobb kih�v�s. Ez�rt, ha siker�l tal�lnunk egy olyan megl�v� ontol�gi�t, amelyik sok finom�t�son �tesett m�r �t, �s sz�les k�rben haszn�lj�k, akkor �rdemes azt adopt�lnunk.
Nem lesz azonban k�nny� dolog megl�v� ontol�gi�kb�l egy megfelel� �jabbat �ssze�ll�tani. Majdnem biztos, hogy a konzisztencia fenntart�s�hoz k�l�nleges eszk�zt�mogat�sra lesz sz�ks�g�nk.
Ahhoz, hogy egy sor megl�v� ontol�gi�t komponensk�nt egy �jabb ontol�gi�ba be�p�thess�nk, gyakran meg kell jel�ln�nk, hogy az egyik ontol�gi�ban egy adott oszt�ly vagy tulajdons�g egyen�rt�k� egy m�sik ontol�gia valamelyik oszt�ly�val vagy tulajdons�g�val. Ezt a lehet�s�get azonban k�r�ltekint�en kell haszn�lni. Ha ugyanis a kombin�lt ontol�gi�k ellentmond�sosak (pl. azt mondjuk, hogy minden A egyen�rt�k� minden B-vel, mik�zben ez nem igaz), akkor az oszt�lynak esetleg nem lesz olyan kiterjed�se, amelyik kiel�g�ten� az �j kombin�ci�t.
Az �tel ontol�gi�ban az �tkez�si fog�sok le�r�s�n�l szeretn�nk a Bor ontol�gia egyes elemeihez kapcsol�dni. Ennek egyik m�dja, hogy defini�lunk egy oszt�lyt az �tel ontol�gi�ban (&food;Wine) �s azt egyen�rt�k�nek deklar�ljuk a bor ontol�gi�ban m�r megl�v� Bor oszt�llyal (&vin;Wine).
<owl:Class rdf:ID="Wine"> <owl:equivalentClass rdf:resource="&vin;Wine"/> </owl:Class>
Az owl:equivalentClass tulajdons�got haszn�ljuk annak jel�l�s�re, hogy a k�t oszt�lynak pontosan ugyanazok az egyedei. Megjegyzend�, hogy az OWL DL-ben az oszt�lyok csak egyedek halmazait jel�lik, de maguk nem lehetnek egyedek. Az OWL Full-ban viszont haszn�lhatjuk az owl:sameAs kifejez�st k�t oszt�ly k�z�tt annak jel�l�s�re, hogy ezek minden vonatkoz�sban azonosak.
Term�szetesen, a fenti p�lda egy kiss� mesterk�lt, hiszen mindig haszn�lhatn�nk az &vin;Wine hivatkoz�st ott, ahol a #Wine-t, teh�t �jradefini�l�s n�lk�l is ugyanazt az eredm�nyt kapn�nk. Az ekvivalencia val�sz�n�bb haszn�lata egy olyan esetben fordulhat el�, amikor a munk�nk k�t f�ggetlen�l fejlesztett ontol�gi�t�l f�gg, �s �szrevessz�k, pl. hogy ezek, pl. az O1:foo �s az O2:bar URI-val hivatkoznak ugyanarra az oszt�lyra. Ilyenkor az owl:equivalentClass deklar�ci� seg�ts�g�vel k�z�s�thetj�k �ket, �s �gy kombin�lhatjuk a k�t ontol�gi�b�l az adott oszt�llyal kapcsolatban levonhat� k�vetkeztet�seket is.
Kor�bban l�thattuk m�r, hogy oszt�lykifejez�sek is lehetnek az rdfs:subClassOf konstruktor c�lpontjai. Ez az owl:equivalentClass eset�re is �rv�nyes. Ez is feleslegess� teszi, hogy nevet kelljen kiagyalnunk minden oszt�lykifejez�s sz�m�ra, s�t hat�kony defin�ci�s lehet�s�get biztos�t egy tulajdons�g kiel�g�t�se alapj�n:
<owl:Class rdf:ID="TexasThings">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:someValuesFrom rdf:resource="#TexasRegion" />
</owl:Restriction>
</owl:equivalentClass>
</owl:Class> �¬�
Itt azt mondtuk ki, hogy a texasi dolgok (TexasThings) pontosan ugyanazok a dolgok, amelyek a texasi r�gi�ban tal�lhat�k. A k�l�nbs�g az itt haszn�lt owl:equivalentClass, �s az rdfs:subClassOf haszn�lata k�z�tt nem m�s, mint a "sz�ks�ges felt�tel" �s a "sz�ks�ges �s elegend� felt�tel" k�z�tti k�l�nbs�g. A subClassOf eset�n azok a dolgok, amelyek Texasban tal�lhat�k, nem sz�ks�gszer�en texasi dolgok. Az owl:equivalentClass haszn�lat�n�l, ha valami Texasban tal�lhat�, az felt�tlen�l texasi dolog (a TexasThings oszt�ly tagja).
Rel�ci� | K�vetkezm�ny |
---|---|
subClassOf | Ha TexasThings(x), akkor locatedIn(x,y) �s TexasRegion(y) |
equivalentClass�� | Ha TexasThings(x) akkor locatedIn(x,y) �s
TexasRegion(y) Ha locatedIn(x,y) �s TexasRegion(y) akkor TexasThings(x) |
A tulajdons�gok hasonl� m�don t�rt�n� �sszekapcsol�s�ra az owl:equivalentProperty konstruktort haszn�ljuk.
Ez a mechanizmus az oszt�ly-ekvivalenci�n�l le�rtakhoz hasonl�, de itt k�t egyedet deklar�lunk azonosnak. Egy p�lda erre:
<Wine rdf:ID="MikesFavoriteWine">
<owl:sameAs rdf:resource="#StGenevieveTexasWhite" />
</Wine> �¬�
Ennek a p�ld�nak nincs k�l�n�sebb haszna. Amit ebb�l megtudunk, az csak annyi, hogy Mike kedvel egy olcs� helyi borfajt�t. Sokkal tipikusabb haszn�lata a sameAs kifejez�snek az, amikor k�t ontol�gia egyes�t�se sor�n, k�t egyedet, amelyet k�t k�l�nb�z� dokumentumban m�s-m�s n�ven defini�ltak, azonosnak jelent�nk ki.
Ez r�ir�ny�tja a figyelmet egy nagyon fontos dologra: az OWL nem felt�telez egyedi neveket. �gy teh�t puszt�n az, hogy a nevek k�l�nb�znek, m�g nem jelenti azt, hogy ezek k�l�nb�z� egyedekre is hivatkoznak.
A fenti p�ld�ban kijelentett�k az azonoss�got k�t k�l�nb�z� n�v k�z�tt. De az is lehets�ges, hogy egy ilyen t�pus� azonoss�got k�vetkeztet�ssel �llap�tsunk meg. Eml�kezz�nk azokra a k�vetkezm�nyekre, amelyeket egy funkcion�lis tulajdons�gn�l vontunk le. Ha adott, hogy a hasMaker tulajdons�g funkcion�lis, akkor az al�bbiak nem sz�ks�gszer�en jelentenek konfliktust.
<owl:Thing rdf:about="#BancroftChardonnay">
<hasMaker rdf:resource="#Bancroft" />
<hasMaker rdf:resource="#Beringer" />
</owl:Thing> �¬�
Felt�ve, hogy ez az �ll�t�s nem �tk�zik m�s inform�ci�val az ontol�gi�nkban, akkor csup�n azt jelenti, hogy Bancroft = Beringer.
Jegyezz�k meg, hogy a sameAs haszn�lata k�t oszt�ly egyenl�v� t�tel�re nem ugyanaz, mintha az owl:equivalentClass seg�ts�g�vel tett�k volna ugyanezt, mert az el�bbi forma egyedk�nt interpret�l egy oszt�lyt, �s ez elegend� ahhoz, hogy ontol�gi�nkat OWL Full kateg�ri�j�v� min�s�tse �t. Az OWL Full-ban a sameAs haszn�lhat� b�rminek az egyenl�v� nyilv�n�t�s�ra: egy oszt�lynak �s egy egyednek, egy tulajdons�gnak �s egy oszt�lynak stb., ugyanis az OWL Full mindk�t argumentumot eleve egyednek tekinti.
Ez a mechanizmus a sameAs hat�s�nak a ford�tottj�t �ll�tja el�.
<WineSugar rdf:ID="Dry" /> <WineSugar rdf:ID="Sweet"> <owl:differentFrom rdf:resource="#Dry"/> </WineSugar> <WineSugar rdf:ID="OffDry"> <owl:differentFrom rdf:resource="#Dry"/> <owl:differentFrom rdf:resource="#Sweet"/> </WineSugar>
Ez egyik m�dja annak, hogy kijelents�k pl. a bor cukross�g�t jelz� Sweet, Dry �s offDry egyedekr�l (�des, Sz�raz, F�l�des), hogy mindegyik�k k�l�nb�zik a t�bbit�l. Vannak olyan esetek, amikor garant�lnunk kell k�l�nb�z� entit�sok k�lcs�n�s k�l�nb�z�s�g�t. Ilyen el�zetes garancia n�lk�l ugyanis nyugodtan le�rhatn�nk k�s�bb, pl. egy borr�l, hogy sz�raz is, meg �des is. Kor�bban meg�llap�tottuk, hogy a borral kapcsolatban haszn�lt "cukross�ga" (hasSugar) tulajdons�gnak csak egyetlen �rt�ke lehet. Ha t�ved�sb�l azt �ll�tan�nk, hogy egy bor sz�raz �s �des, a fenti differentFrom elemek n�lk�l ez azt jelenten�, hogy a Dry �s a Sweet fogalom ugyanaz. A fenti elemekkel azonban egy ellentmond�s keletkezne, amit a k�vetkeztet�g�p k�nnyen kimutatna, megel�zve ez�ltal a k�s�bbi f�lre�rt�seket.
L�tezik egy alkalmasabb mechanizmus is, amellyel k�lcs�n�sen k�l�nb�z� egyedek halmaz�t lehet defini�lni. A k�vetkez� p�lda azt jelenti ki, hogy a Red, White �s Rose egyedek minden p�rkombin�ci�ban k�l�nb�znek egym�st�l.
<owl:AllDifferent> <owl:distinctMembers rdf:parseType="Collection"> <vin:WineColor rdf:about="#Red" /> <vin:WineColor rdf:about="#White" /> <vin:WineColor rdf:about="#Rose" /> </owl:distinctMembers> </owl:AllDifferent>
Megjegyz�s: az owl:distinctMembers felsorol�s elem csak az owl:AllDifferent-tel kombin�lva haszn�lhat�.
A Bor ontol�gi�ban az owl:AllDifferent kijelent�st alkalmazzuk minden WineDescriptor sz�m�ra. Azt is kijelentj�k, hogy a Pinc�szet oszt�ly minden egyede k�l�nb�z�. Ha egy �jabb egyedet (konkr�t pinc�szetet) szeretn�nk ebbe az oszt�lyba besorolni egy m�sik ontol�gi�ban, �s kijelenten�nk, hogy ez k�l�nb�zik az �sszes megl�v� egyedt�l, akkor az eg�sz eredeti owl:AllDifferent kijelent�st egy "copy-paste" m�velettel be kellene m�solnunk az �j ontol�gi�ba, �s az �j pinc�szetet hozz� kellene adnunk a megl�v�k list�j�hoz. az OWL DL-ben nincs m�s m�d egy owl:AllDifferent kollekci�nak a b�v�t�s�re. Az OWL Full-ban azonban az RDF tripletek �s az rdf:List konstrukci�k seg�ts�g�vel erre m�s megold�s is van.
Az OWL tov�bbi konstruktorokat is biztos�t, amelyekkel oszt�lyokat k�pezhet�nk. Ezek a konstruktorok un. oszt�lykifejez�sek el��ll�t�s�ra haszn�lhat�k. Az OWL t�mogatja az alapvet� halmazm�veleteket, nevezetesen az uni�t, a metszetet �s a komplementer (vagy komplemens) halmaz k�pz�s�t. Ezeket owl:unionOf, owl:intersectionOf �s owl:complementOf n�ven vezeti be a nyelv. Emellett felsorol�s oszt�lyokat is deklar�lhatunk. Az oszt�lykiterjed�seket explicit m�don a oneOf konstruktorral adhatjuk meg. Az oszt�lyok kiterjed�seit idegen halmazoknak (diszjunkt halmazoknak) is min�s�thetj�k.
Megjegyezz�k, hogy az oszt�lykifejez�sek egym�sba skatuly�zhat�k an�lk�l, hogy a k�zb�ls� oszt�lyoknak nevet kellene adnunk. Ez a halmazm�veletekkel egy�tt lehet�v� teszi �sszetett oszt�lyok k�pz�s�t n�vtelen oszt�lyokb�l vagy �rt�k-korl�tozott oszt�lyokb�l.
Eml�kezz�nk r�, hogy egy OWL oszt�ly kiterjed�se olyan halmaz, mely az oszt�ly egyedeib�l �ll. Az OWL lehet�v� teszi, hogy az alapvet� halmazoper�torok seg�ts�g�vel manipul�lhassuk az oszt�lyok kiterjed�seit.
Az al�bbi p�ld�k bemutatj�k az intersectionOf konstrukci� haszn�lat�t.
<owl:Class rdf:ID="WhiteWine"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Wine" /> <owl:Restriction> <owl:onProperty rdf:resource="#hasColor" /> <owl:hasValue rdf:resource="#White" /> </owl:Restriction> </owl:intersectionOf> </owl:Class>
Azok az oszt�lyok, amelyeket halmazm�veletekkel konstru�lunk, sokkal ink�bb hasonl�tanak val�di oszt�lydefin�ci�kra, mint azok, amelyeket eddig l�ttunk. Az oszt�ly tagjait teljesen specifik�lj�k a halmazm�veletek. A fenti konstrukci� azt mondja ki, hogy a Feh�rBor (WhiteWine) pontosan a Bor oszt�lynak �s a feh�r sz�n� dolgok halmaz�nak a metszete. Ez azt jelenti, hogy ha valami bor �s feh�r, akkor az a Feh�rBor oszt�ly egyede. Egy ilyen defin�ci� n�lk�l felismerhetn�nk, hogy a Feh�rBor az bor �s feh�r, de megford�tva m�r nem. Ez egy nagyon fontos eszk�z az egyedek kategoriz�l�s�ra. (Megjegyz�s: az 'rdf:parseType="Collection" ' itt egy sz�ks�ges szintaktikai elem.)
<owl:Class rdf:about="#Burgundy"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Wine" /> <owl:Restriction> <owl:onProperty rdf:resource="#locatedIn" /> <owl:hasValue rdf:resource="#BourgogneRegion" /> </owl:Restriction> </owl:intersectionOf> </owl:Class>
Itt azt defini�ltuk, hogy Burgundi alatt pontosan azokat a borokat �rtj�k, amelyeknek legal�bb egy olyan locatedIn tulajdons�guk van, amelynek �rt�ke a bourgogne-i r�gi�. Deklar�lhattunk volna egy �j oszt�lyt is, pl. ThingsFromBourgogneRegion n�ven, �s haszn�lhattuk volna oszt�lyk�nt az owl:intersectionOf konstrukci�ban. De, mivel semmi egy�b c�lra nem kellene ezt haszn�lnunk, ez�rt a fenti deklar�ci� r�videbb, vil�gosabb, �s nem kellett feleslegesen kital�lnunk egy oszt�lynevet.
<owl:Class rdf:ID="WhiteBurgundy"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Burgundy" /> <owl:Class rdf:about="#WhiteWine" /> </owl:intersectionOf> </owl:Class>
�s v�g�l, a WhiteBurgundy oszt�lyt pontosan meghat�roztuk a Feh�rBor �s a Burgundy metszet�vel. Azt pedig m�r kor�bbr�l tudjuk, hogy a Burgundi borokat a Francia r�gi� bourgogne-i szubr�gi�j�ban termelik, �s hogy ezek sz�raz borok. �gy minden egyedi bor, amelyik megfelel ezeknek a krit�riumoknak, a WhiteBurgundy oszt�ly kiterjed�s�hez tartozik.
Az al�bbi p�lda demonstr�lja a unionOf konstrukci� haszn�lat�t. Ezt pontosan ugyan�gy haszn�ljuk, mint az intersectionOf konstrukci�t:
<owl:Class rdf:ID="Fruit"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#SweetFruit" /> <owl:Class rdf:about="#NonSweetFruit" /> </owl:unionOf> </owl:Class>
A Gy�m�lcs (Fruit) oszt�ly tartalmazza mind az �des, mind a nem �des gy�m�lcs�ket (SweetFruit, NonSweetFruit).
Figyelj�k meg az al�bbi p�lda alapj�n, hogy milyen nagy m�rt�kben k�l�nb�zik az Uni� t�pus� konstrukci� az Aloszt�ly konstrukci�t�l.
<owl:Class rdf:ID="Fruit">
<rdfs:subClassOf rdf:resource="#SweetFruit" />
<rdfs:subClassOf rdf:resource="#NonSweetFruit" />
</owl:Class> �¬�
Ez azt mondja, hogy a Gy�m�lcs oszt�ly egyedeinek halmaza az �des �s nem �des gy�m�lcs�k r�szhalmazainak metszete, aminek a v�rhat� �rt�ke az �res halmaz. A metszet itt abb�l ad�dik, hogy explicit halmazoper�tor n�lk�l a defin�ci�ban felsorolt elemek k�z�tt implicit logikai �S (halmazmetszet) kapcsolat van. Az el�z� p�ld�ban viszont az Uni� oper�tor explicit logikai VAGY (halmazuni�) kapcsolatot �br�zolt a k�t gy�m�lcs kateg�ria k�z�tt, ami helyes eredm�nyt ad.
A complementOf konstrukci� kiv�lasztja mindazon egyedeket az �br�zolt t�mater�letr�l, amelyek nem tartoznak egy bizonyos oszt�lyhoz. �ltal�ban ez az egyedek igen nagy halmaz�t jelenti:
<owl:Class rdf:ID="ConsumableThing" /> <owl:Class rdf:ID="NonConsumableThing"> <owl:complementOf rdf:resource="#ConsumableThing" /> </owl:Class>
A NemFogyaszthat�Dolog (NonConsumableThing) oszt�ly tagjai mindazon egyedek, amelyek nem tartoznak a Fogyaszthat�Dolog (ConsumableThing) oszt�ly kiterjed�s�hez. Ez mag�ban foglalja az �sszes pinc�szeteket, r�gi�kat stb. [E mondat angol sz�veg�ben a "pinc�szeteket" (Wineries) helyett a "borokat" (Wines) sz� szerepel, ami el�r�s lehet, hiszen a bor fogyaszthat� dolog – a ford.] A NonConsumableThing halmaz pontosan az owl:Thing �s a ConsumableThing halmazok k�l�nbs�ge. Ez�rt a complementOf tipikusan csak m�s halmazoper�torokkal kombin�lva fordul el�:
<owl:Class rdf:ID="NonFrenchWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine"/>
<owl:Class>
<owl:complementOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#FrenchRegion" />
</owl:Restriction>
</owl:complementOf>
</owl:Class>
</owl:intersectionOf>
</owl:Class> �¬�
Ez a p�lda a NemFranciaBor (NonFrenchWine) oszt�lyt �gy defini�lja, hogy hozz� rendeli a Bor oszt�lynak, �s egy olyan oszt�lynak a metszet�t, amelyik a nem Franciaorsz�gban tal�lhat� dolgok halmaza.
Az OWL eszk�zei lehet�v� teszik, hogy oszt�lyokat specifik�ljunk a tagjaik k�zvetlen felsorol�s�val. Ezt a oneOf construkci� val�s�tja meg. Ez az egyetlen olyan defin�ci�, mely v�glegesen specifik�lja az oszt�ly kiterjed�s�t, vagyis tov�bbi egyedek ut�lag m�r nem deklar�lhat�k az oszt�ly tagjaik�nt.
Az al�bbi p�lda a BorSz�n (WineColor) oszt�lyt defini�lja, amelynek elemei a feh�r, a ros� �s a v�r�s (White, Rose �s a Red) egyed.
<owl:Class rdf:ID="WineColor"> <rdfs:subClassOf rdf:resource="#WineDescriptor"/> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#White"/> <owl:Thing rdf:about="#Rose"/> <owl:Thing rdf:about="#Red"/> </owl:oneOf> </owl:Class>
Az els�, amit itt meg kell �rten�nk az az, hogy semmilyen m�s egyed nem lehet �rv�nyes BorSz�n, mivel az oszt�lyt az egyedek felsorol�s�val v�gleg defini�ltuk.
A oneOf konstrukci� minden elem�nek egy �rv�nyesen deklar�lt egyednek kell lennie. Egy egyednek mindig egy oszt�lyhoz kell tartoznia. A fenti p�ld�ban minden egyedre n�vvel hivatkoztunk, ehhez pedig a legegyszer�bb klis�t, az owl:Thing-et haszn�ltuk. Egy m�sik lehet�s�gk�nt a halmaz elemeire is hivatkozhattunk volna a specifikus t�pusukkal (ami t�rt�netesen a WineColor), a k�vetkez�k�ppen:
<owl:Class rdf:ID="WineColor"> <rdfs:subClassOf rdf:resource="#WineDescriptor"/> <owl:oneOf rdf:parseType="Collection"> <WineColor rdf:about="#White" /> <WineColor rdf:about="#Rose" /> <WineColor rdf:about="#Red" /> </owl:oneOf> </owl:Class>
M�sf�le, enn�l komplexebb egyedle�r�sok is �rv�nyes elemei lehetn�nek a oneOf konstrukci�nak, p�ld�ul:
<WineColor rdf:about="#White">
<rdfs:label>White</rdfs:label>
</WineColor> �¬�
A oneOf haszn�lat�val kapcsolatos tov�bbi p�ld�kat tal�lhatunk a Referencia dokumentumban.
Az oszt�lyok egy adott halmaz�nak a diszjunkt volt�t az owl:disjointWith konstruktorral fejezhetj�k ki. Ez garant�lja, hogy egy egyed, amelyik egy oszt�lynak a tagja, nem lehet egyidej�leg egy m�sik adott oszt�lynak is a tagja.
<owl:Class rdf:ID="Pasta"> <rdfs:subClassOf rdf:resource="#EdibleThing"/> <owl:disjointWith rdf:resource="#Meat"/> <owl:disjointWith rdf:resource="#Fowl"/> <owl:disjointWith rdf:resource="#Seafood"/> <owl:disjointWith rdf:resource="#Dessert"/> <owl:disjointWith rdf:resource="#Fruit"/> </owl:Class>
A fenti T�szta (Pasta) p�ld�nk t�bb diszjunkt oszt�lyt defini�l. Jegyezz�k meg azonban, hogy itt csak azt �ll�tjuk, hogy a Pasta idegen (diszjunkt) az �sszes itt felsorolt oszt�lyt�l. Nem �ll�tjuk azonban azt, hogy pl. a Meat �s a Fruit is idegen egym�st�l. Ha azt akarjuk kimondani oszt�lyok egy csoportj�r�l, hogy k�lcs�n�sen idegenek (azaz, hogy nincsenek k�z�s egyedeik), akkor egy k�l�n owl:disjointWith �ll�t�st kell tenn�nk minden lehets�ges oszt�ly p�rral kapcsolatban, amelyik ehhez a csoporthoz tartozik.
Gyakori ig�ny, hogy egy oszt�lyt k�lcs�n�sen diszjunkt aloszt�lyok halmazuni�jak�nt defini�ljuk.
<owl:Class rdf:ID="SweetFruit"> <rdfs:subClassOf rdf:resource="#EdibleThing" /> </owl:Class> <owl:Class rdf:ID="NonSweetFruit"> <rdfs:subClassOf rdf:resource="#EdibleThing" /> <owl:disjointWith rdf:resource="#SweetFruit" /> </owl:Class> <owl:Class rdf:ID="Fruit"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#SweetFruit" /> <owl:Class rdf:about="#NonSweetFruit" /> </owl:unionOf> </owl:Class>
Itt a Fruit oszt�lyt a SweetFruit �s a NonSweetFruit uni�j�nak defini�ltuk. �s tudjuk, hogy ezek az aloszt�lyok pontosan k�t k�l�nb�z� aloszt�lyra osztj�k fel a Fruit oszt�lyt, mivel ezek diszjunkt oszt�lyok. Ahogy a k�lcs�n�sen diszjunkt oszt�lyok sz�ma (n) n�, az idegenoszt�ly�s�g kifejez�s�hez sz�ks�ges �ll�t�sok sz�ma n n�gyzet�vel ar�nyosan n�. Azokban az alkalmaz�si esetekben azonban, amelyekkel eddig tal�lkoztunk, n �rt�ke tipikusan alacsony volt.
Amikor n t�l nagy, alternat�v megold�sokat is haszn�lhatunk, hogy a sz�ks�ges �ll�t�sok n�gyzetes emelked�s�t elker�lj�k. Egy ilyen m�dszert illusztr�l az OWL Tesztsorozat dokumentum.
Az illusztr�lt m�dszer a k�vetkez�: Le�runk egy sz�l�-oszt�lyt, ahol az egyedeknek van egy olyan tulajdons�guk, amelynek a kardinalit�sa 1, azaz minden egyednek egy �s csak egy �rt�ke van erre a tulajdons�gra. Majd pedig a sz�l�-oszt�ly minden aloszt�ly�ra kik�tj�k, hogy egyedeiknek ez a tulajdons�ga egyedi �rt�kkel kell, hogy rendelkezz�k. Ily m�don a k�l�nb�z� aloszt�lyoknak nem lesz k�z�s egyede.
Az ontol�gi�k olyanok, mint a szoftver. Ezeket is folyamatosan karban kell tartani, �s �gy �lland�an v�ltoznak az id�k sor�n. A kor�bban t�rgyalt owl:Ontology elemen bel�l lehet�s�g�nk van az �ppen defini�lt ontol�gi�t az el�z� verzi�j�hoz linkelni. Az owl:priorVersion tulajdons�g szolg�l ennek a linknek a megad�s�ra, �s ez biztos�tja, hogy visszafel� k�vetni tudjuk egy ontol�giaverzi� t�rt�net�t.
<owl:Ontology rdf:about=""> ... <owl:priorVersion rdf:resource="http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine"/> ... </owl:Ontology>
A megjel�lt ontol�gia annak az ontol�gi�nak az el�z� verzi�ja, amelyiket �ppen defini�ljuk.
Az ontol�gi�k verzi�i nem felt�tlen�l kompatibilisek egym�ssal. P�ld�ul egy ontol�gia el�z� verzi�j�ban lehetnek olyan �ll�t�sok, amelyek ellentmondanak a jelenlegi verzi�nak. Egy owl:Ontology elemen bel�l az owl:backwardCompatibleWith �s az owl:incompatibleWith tegeket haszn�ljuk annak megad�s�ra, hogy kompatibilis-e a jelenlegi ontol�gia az el�z� verzi�ival, vagy sem. Ha nincs explicite deklar�lva a visszamen�leges kompatibilit�s (owl:backwardCompatibleWith), akkor nem szabad a kompatibilit�st felt�telezni. Van m�g egy owl:versionInfo nev� teg, amellyel a verzi�kezel� rendszerek sz�m�ra adhatunk meg tov�bbi verzi�-inform�ci�kat. Szemben az el�z� h�rom teggel, az owl:versionInfo objektuma egy liter�l. Ez a teg nemcsak ontol�gi�k, hanem oszt�lyok �s tulajdons�gok verzi�-adatainak megad�s�ra is haszn�lhat�.
Sok alkalmaz�sban az ontol�gia szint� verzi�k�vet�s nem elegend�. A karbantart�knak sz�ks�g�k lehet kisebb egys�gek (oszt�lyok, tulajdons�gok �s egyedek) szintj�n is nyilv�ntartani a verzi�-inform�ci�kat – �s lehet, hogy m�g ez sem el�g. Az OWL-ban az oszt�lykifejez�sek inkrement�lis jellege azzal a k�vetkezm�nnyel j�r, hogy egyik ontol�gia �jabb korl�toz�sokat vezethet be egy (neves�tett) oszt�lyhoz, �s ezek az �j korl�toz�sok is verzi�-inform�ci�kat ig�nyelnek.
Az OWL Full rendelkezik olyan kifejez� er�vel, hogy b�rmilyen �ll�t�st tehet�nk egy oszt�llyal kapcsolatban, bele�rtve azt is, hogy egyede egy m�sik oszt�lynak, vagy hogy egy oszt�ly (teh�t nemcsak az egyedei) tulajdons�gokkal, a tulajdons�gai pedig �rt�kkel rendelkeznek. Ezt a lehet�s�get felhaszn�lhatjuk oszt�lyok �s tulajdons�gok ontol�gi�j�nak a fel�p�t�s�re is, amellyel k�vetni lehet a verzi�kat. Az OWL n�vt�r tartalmaz k�t el�re defini�lt oszt�lyt ElavultOszt�ly, illetve ElavultTulajdons�g (owl:DeprecatedClass �s owl:DeprecatedClass) n�ven. Ezekkel azt lehet jelezni, hogy a k�vetkez� verzi�ban az oszt�ly vagy a tulajdons�g val�sz�n�leg inkompatibilis m�don fog v�ltozni [vagy azt, hogy ez m�r meg is t�rt�nt, teh�t az oszt�lynak vagy tulajdons�gnak van egy �jabb v�ltozata, �s az elavult v�ltozatot csak visszamen�leges �rv�nnyel szabad haszn�lni – a ford.].
...
<owl:DeprecatedClass rdf:ID="&vin;JugWine" />
<owl:DeprecatedProperty rdf:ID="&vin;hasSeeds" />
... �¬�
Fontos megjegyezni, hogy az owl:DeprecatedClass �s az owl:DeprecatedProperty nem rendelkezik enn�l t�bb szemantik�val, �s hogy az eszk�zfejleszt�k �s az OWL felhaszn�l�k dolga annak biztos�t�sa, hogy ezeket az elemeket a nyelv eredeti sz�nd�kainak megfelel�en haszn�lj�k.
Ha m�r rendelkez�nk egy t�mater�leten egy kezdeti ontol�gi�val, nagy sz�m� alkalmaz�st lehet fejleszteni, amelyek kihaszn�lj�k ezt az ontol�gi�t. Ebben a szekci�ban le�runk n�h�ny minta-alkalmaz�st a borok t�mater�let�n.
Sok webhely l�tezik, amelyik "borport�lnak" nevezi mag�t. P�ld�ul a Google 152,000 tal�latot ad a "wine portal" kulcsszavakra. A legjobb tal�latot ad� "Wine-Portal.com" honlapj�r�l eljuthatunk sok ilyen webhelyhez. A legt�bb webhely, amelyik borport�lnak nevezi mag�t, �ltal�ban inform�ci�s webhely. P�ld�ul a wine-portal.com-n�l az els� helyen �ll� www.corkcuisine.com/ ismereteket ny�jt borok �s �telek, borok �s aj�nd�kok stb. p�ros�t�s�hoz.
Ha alaposan v�gigb�ng�ssz�k b�rmelyik ilyen webhely anyag�t, tal�lunk egy csom� lapot, amelyik inform�ci�kat tartalmaz, �s olykor tal�lunk olyan lapokat is, amelyek szolg�ltat�sokat ny�jtanak a bor t�m�ban. P�ld�ul a 'tartoz�kok �s aj�nd�kok' lap inform�ci�t tartalmaz arr�l, mire �gyelj�nk, amikor meghat�rozott borokat v�s�rolunk, �s felsorol egy jelent�s sz�m� online borkeresked�st is. Egy m�sik frekvent�lt ter�let, a 'shopping', tartalmaz egy olyan r�szter�letet, mint 'wine shopping' ahol a sz�rf�z� tal�lhat sz�mtalan online el�rus�t� helyre mutat� linket, amelyek orsz�gonk�nt vannak kategoriz�lva. Ez a k�t webhely t�pus csup�n k�t reprezentat�v p�lda a sok k�z�l a "wine portal" �ltal�nos fogalm�ra, mely inform�ci�k �s szolg�ltat�sok gy�jtem�ny�t k�n�lja a t�mater�letr�l.
Amikor kiss� r�szletesebben megn�zz�k az ilyen webhelyeket, nem tudjuk meg�llap�tani, hogy milyen m�rt�kben t�maszkodnak ontol�gi�kra. A lapjaik HTML k�dj�ban p�ld�ul nincs nyoma ontol�gi�k haszn�lat�nak. Pedig nyilv�nval�, hogy ha m�r l�tezne valamilyen bor ontol�gia, akkor nagyon j�l ki tudn�k haszn�lni ezeket.
Port�lok eset�n az ontol�gi�k egyik egyszer� alkalmaz�sa az inform�ci� szervez�se �s b�ng�sz�se lehetne. A kateg�ri�k fenti list�ja kigener�lhat� volna a borral kapcsolatos oszt�lyok legfels� n�h�ny szintj�b�l. A lek�rdez�sek pedig kihaszn�lhatn�k a bor ontol�gi�t a borra vonatkoz� inform�ci�k megkeres�s�re. Ha pl. valaki adatot keresne egy olyan kifejez�ssel, amelyik az ontol�gi�ban megvan, akkor a lek�rdez�st kiterjeszthetn� aloszt�ly inform�ci�kkal, hogy m�g pontosabb v�laszt kapjon. A port�lokat �gy lehetne fel�p�teni, hogy automatikusan friss�ts�k magukat a t�mater�letr�l �rkez� (inform�ci�jel�lt) adatokkal. Az er�s k�vetkeztet� k�pess�g�kkel ak�r m�g fel is ismerhetn�k a val�sz�n� borkereskedelmi webhelyeket, s�t automatikusan le is t�rgyalhatn�k azok felv�tel�t a port�lra.
Beind�tottunk egy "Bor�gyn�k" (wine agent) alkalmaz�st bemutat�si c�lokra. Els� v�ltozat�ban ennek az a feladata, hogy borokat aj�nljon a k�l�nb�z� �tkez�si fog�sokhoz. Ez az alkalmaz�s ugyanazt az ontol�gi�t haszn�lja, amelyre ennek a dokumentumnak a p�ld�i is �p�lnek. Ez a bor ontol�gia el�rhet� a DAML ontology library-ban, wines n�ven.
Egy szem�lyre szabott bor�gyn�k t�bbf�le szolg�ltat�st k�pes ny�jtani az ember sz�m�ra. P�ld�ul arra haszn�lhat�, hogy aj�nljon borokat meghat�rozott korl�toz�sok (mint pl. a felszolg�lt �tel) alapj�n, vagy keressen inform�ci�t egy meghat�rozott borfajt�r�l, vagy a borok egy meghat�rozott oszt�ly�r�l. Kereshet tov�bb� odaill� tartoz�kot (pl. egy megfelel� poharat) egy adott bor fajt�hoz stb.
Al�bb le�runk egy p�ld�t egy egyszer� protot�pus rendszerr�l, mely egy diplomamunka keret�ben k�sz�lt.
K�pzelj�k el a k�vetkez� helyzetet:
Valaki vend�geket v�r vacsor�ra, akik k�z�tt van legal�bb egy, aki k�l�n�sen
�rt a borokhoz. A h�zigazda szeretne olyan borokat felszolg�lni, amelyek j�l
illenek a men� k�l�nb�z� fog�saihoz, �s szeretne t�j�kozottnak l�tszani a
felszolg�lt borok tulajdons�gaival kapcsolatban is. Szeretne tov�bb�
beszerezni oda ill� szerviz-tartoz�kokat a borok felszolg�l�s�hoz. A
h�zigazda �gy d�nt, hogy f� fog�sk�nt frissen f�tt t�szt�t kapnak a vend�gek
speci�lis, paradicsom alap� sz�sszal.
Hogy megfelel� bort szolg�ljon fel az �telhez, h�zigazd�nknak inform�ci�ra van sz�ks�ge arr�l, hogy milyen bor illik a k�l�nb�z� �telekhez. Hogy megmutathassa a borokkal kapcsolatos t�j�kozotts�g�t, a h�zigazd�nknak j�l j�nne, ha hozz�juthatna olyan, borral kapcsolatos inform�ci�khoz, amelyekre az esem�nnyel kapcsolatban sz�ks�ge van. Hogy a megfelel� boros-k�szletet is beszerezhesse, errõl is tudnia kellene, hogy milyen illik az adott esem�nyhez (�s a saj�t p�nzt�rc�j�hoz).
Ha adva van egy bor h�tt�r-ontol�gia, �s le tudjuk �rni, hogy milyen �telt k�v�nunk felszolg�lni, akkor az �gyn�k�nk megmondhatja, hogy milyen bort kellene az �tel mell� felszolg�lnunk. Az �gyn�k val�sz�n�leg valamilyen zinfandel fajtav�laszt�kot aj�nlana a f��telhez (ez egy Kaliforni�ban elterjedt, tipikusan sz�raz v�r�sborfajta). S�t ak�r egy konkr�t term�ket is meg tudna nevezni, �gy feltehet�leg a Marietta pinc�szet Zinfandel�t aj�nlan�. Minthogy most m�r ismert a k�v�nt borfajta, az �gyn�k kereshet egy olyan kereskedelmi port�lt, ahol nagy v�laszt�k van zinfandel borokb�l, vagy ak�r konkr�tan a Marietta Zinfandel v�ltozatot is kereshetn�. Ha van egy megfelel� h�tt�r-ontol�gia, amelyben le vannak �rva az ilyen borok beszerz�si forr�sai (esetleg a borforgalmaz� �s a h�zigazd�nk f�ldrajzi elhelyezked�se szerint oszt�lyozva), az �gyn�k�nk megl�togathatna egy olyan webhelyet, mint a wine.com, �s egy keres�s alapj�n adhatna egy list�t az ott �rus�tott, �s a k�v�nt c�lnak megfelel� term�kekr�l. Az �gyn�k kereshetn� a Marietta Zinfandel-t ak�r k�zvetlen�l a Marietta pinc�szetn�l, ak�r m�s forgalmaz�n�l. Ennek sor�n minden bizonnyal meg�llap�tan� (pl. egy Google-n�l t�rt�n� kulcsszavas keres�ssel, vagy n�h�ny kiv�lasztott szakport�ln�l struktur�lt keres�ssel), hogy a winelibrary.com-n�l diszkont �ron, 13.99 doll�r�rt kaphat� Marietta Zinfandel az 1999-es �vj�ratb�l. A bor�gyn�k m�g tov�bb sz�rhetn� az aj�nlatokat a h�zigazd�nk �ltal megadott �rhat�rok vagy fajtav�ltozatok szerint, am�g az optim�lis v�s�rl�s felt�telei l�tre nem j�nnek.
Ezek ut�n az �gyn�k inform�ci�kat adhatna a zinfandel borfajt�r�l �ltal�ban, �s a Marietta Zinfandel-r�l k�l�n�sen. Ehhez egy h�tt�r-ontol�gi�t haszn�lhatna azokr�l a borport�lokr�l, ahol inform�ci�k tal�lhat�k a k�l�nf�le borokr�l. (P�ld�ul az aktu�lis zinfandel boruk termel�j�nek a le�r�sa j�l haszn�lhat� inform�ci�forr�s lenne). Sokat seg�tene az olyan bormin�s�t�sek elolvas�sa is, amilyeneket olyan tekint�lyes szakf�rumok publik�lnak, mint a Wine Spectator. Ha nem tal�lunk b�r�latot a kedvenc bormin�s�t� webhely�nk�n a Marietta Zinfandel-r�l akkor az �gyn�k�nkkel kerestethet�nk min�s�t�seket az ugyanazon a k�rny�ken termett zinfandel borokr�l is (ebben az esetben p�ld�ul a kaliforniai Sonoma County hasonl� borair�l).
Az �ltal�nos h�tt�r-inform�ci�k is hasznosak lehetnek. A h�zigazd�nk esetleg sz�vesen olvasna valamilyen k�nyvet a borokr�l �ltal�ban, �s a zinfandel-r�l speci�lisan. �gy �rdekelhetn�k azok a k�nyvek, amelyeket az Amazon.com forgalmaz a zinfandel t�m�r�l. H�zigazd�nk k�v�ncsi lehet az ugyanabban a r�gi�ban termelt m�s zinfandel borok tulajdons�gaira is, �s �gy �rdekelhetn�k az inform�ci�k a sonomai zinfandelekr�l. Egy bor�gyn�knek az ontol�gia adatai mellett tudnia kell m�s, olyan h�tt�r-inform�ci�kr�l is, amelyek a szakter�let�vel kapcsolatosak. Mivel a mi bor�gyn�k�nk �telek �s borok p�ros�t�s�ra k�sz�lt, �gy rendelkeznie kellene egy�b, ingyenes vagy megv�s�rolhat� inform�ci�kkal is err�l a t�m�r�l. (Ilyen lehetne, pl. a Wine Spectator cikke az egym�shoz ill� �telekr�l �s borokr�l).
A vacsora h�zigazd�ja nyilv�n szeretn� el�re beszerezni a vend�gl�t�shoz sz�ks�ges eszk�z�ket. Tudja, hogy a borokat a fajt�jukhoz ill� poharakban szok�s felszolg�lni. Ha teh�t a h�zigazda olyan fog�st k�n�l, amelyhez zinfandel illik, akkor �rdekelheti, hogy a Riedel c�g az egyes borfajt�khoz ill� boros poharak j�l ismert gy�rt�ja. �s tudnia kellene arr�l is, hogy l�tezik egy olyan port�l (a Wine Enthusiast, egy j� nev� keresked� c�g, amelyik borral kapcsolatos �rukkal foglalkozik), ahol kaphat� a Riedel's Vinum Zinfandel glass n�gyszem�lyes boros k�szlet 63.95 doll�ros �ron (ha k�t ilyen k�szletet v�s�rolunk, akkor 59.95 doll�ros diszkont �ron). A h�zigazda j�, ha azt is tudja, hogy az Amazon.com-n�l kaphat� a Reidel's Sommelier Zinfandel single stem glass (k�zi gy�rt�s�, talpas, �lomkrist�ly poh�r zinfandel borokhoz) 49.99 doll�r�rt (a 65.00 doll�ros lista �r helyett). Az Amazon.com 79.99 doll�r�rt (lista �r: 119.40) forgalmazza ugyanazt a "Vinum glass" k�szletet 6-szem�lyesben, amit a Wine Enthusiast 4-szem�lyesben. A bor�gyn�k e v�laszt�k ismeret�ben k�sz�thet egy list�t azokr�l a poh�rf�l�kr�l, amelyek illenek a zinfandel felszolg�l�s�hoz, majd pedig �sszehasonl�thatja ezeket egyr�szt az �rak, m�sr�szt az ontol�gi�ban szerepl� tulajdons�gok alapj�n.
H�zigazd�nk fontolgathatja m�s boros tartoz�kok beszerz�s�t is. Az ontol�gi�b�l tudjuk, hogy a dug�h�z�k szint�n boros tartoz�kok. A h�tt�r-ontol�gia le�rhat dug�h�z� aloszt�lyokat, vagy tal�lhat ilyen inform�ci�kat az �gyn�k a megfelel� borport�lokon is. A Wine Enthusiast aj�nl pl. egy sor dug�h�z� t�pust, a t�pusok �s az �rhat�rok le�r�s�val. Itt megk�l�nb�ztetnek ilyen t�pusokat, mint: emel�karos, pinc�r, �llv�nyos, csavaros �s szivatty�s. A h�zigazd�nk j�, ha tud ezekr�l a t�pusokr�l, miel�tt v�s�rolna bel�l�k.
A bor�gyn�k k�l�nb�z� szint� k�pess�gekkel rendelkezhet att�l f�gg�en, hogy milyen ontol�giai h�tt�r-tud�sra t�maszkodhat, �s milyen szolg�ltat� webhelyeket ismerhet az adott t�mater�leten. Ebben a p�ld�ban csup�n olyan inform�ci�kr�l besz�lt�nk, amelyek a borokra, az egyes borfajt�kra, �telek �s borok kombin�l�s�ra, boros tartoz�kokra, �s ezek tulajdons�gaira vonatkoztak. Term�szetesen, ezt ki tudn�nk terjeszteni �gy, hogy m�g t�bb �s m�g finomabban korl�tozott/megsz�rt inform�ci�hoz juthasson �ltaluk az �gyn�kprogram felhaszn�l�ja.
Ennek a bor�gyn�knek egy kialakul�ban l�v�, m�k�d� v�ltozata m�r hozz�f�rhet�.
Ez a dokumentum azoknak a sz�les k�r� eszmecser�knek �s egyeztet�seknek az eredm�nye, melyeket a Web Ontol�gia Munkacsoporton, mint eg�szen bel�l folytattunk. A r�sztvev�k ebben a munkacsoportban: Yasser alSafadi, Jean-Fran�ois Baget, James Barnette, Sean Bechhofer, Jonathan Borden, Frederik Brysse, Stephen Buswell, Jeremy Carroll, Dan Connolly, Peter Crowther, Jonathan Dale, Jos De Roo, David De Roure, Mike Dean, Larry Eshelman, J�r�me Euzenat, Tim Finin, Nicholas Gibbins, Sandro Hawke, Patrick Hayes, Jeff Heflin, Ziv Hellman, James Hendler, Bernard Horan, Masahiro Hori, Ian Horrocks, Jane Hunter, Francesco Iannuzzelli, R�diger Klein, Natasha Kravtsova, Ora Lassila, Massimo Marchiori, Deborah McGuinness, Enrico Motta, Leo Obrst, Mehrdad Omidvari, Martin Pike, Marwan Sabbouh, Guus Schreiber, Noboru Shimizu, Michael Sintek, Michael K. Smith, John Stanton, Lynn Andrea Stein, Herman ter Horst, David Trastour, Frank van Harmelen, Bernard Vatant, Raphael Volz, Evan Wallace, Christopher Welty, Charles White, and John Yanosy.
N�h�ny kritikus, korai sz�veg az �sszetett korl�toz�sokr�l Raphael Volz-t�l sz�rmazik (Forschungszentrum Informatik, FZI). Alapvet� betekint�st ny�jtott a DAML+OIL Walkthru is. Jeremy Carroll, Jerome Euzenat, Jeff Heflin, Kevin Page �s Peter F. Patel-Schneider extenz�v b�r�latokkal j�rult hozz� az anyaghoz. A munkacsoport tal�lkoz�j�n (WG Face to Face, 8 October 2002), Stephen Buswell, Ruediger Klein, Enrico Motta, and Evan Wallace r�szletes b�r�latot adott az ontologi�r�l, amelyek alapvet� v�ltoztat�sokhoz vezettek. A 2003. janu�ri munkacsoport tal�lkoz�n (WG Face to Face, 10 January 2003), Jonathan Dale, Bernard Horan, Guus Schreiber, and Jeff Heflin r�szletes b�r�latot ny�jtottak be az "�tmutat�hoz", amelyek alapj�n t�bb v�ltoztat�s t�rt�nt az anyagban. A nyilv�nos hozz�sz�l�sok is sz�mos seg�t� javaslattal �s korreci�val j�rultak hozz� a dokumentum finom�t�s�hoz.
A ford�t� megjegyz�se:
M�s ford�t�sokkal ellent�tben, itt megtartottuk az eredeti angol c�mszavakat �s azok �b�c� sorrendj�t, de megadtuk ezek r�vid magyar megfelel�j�t is. Ennek a megold�snak az a c�lja, hogy a glossz�rium a fogalmak �rtelmez�s�n t�l terminol�giai kapcsolatot is l�tes�tsen az angol �s magyar nyelv� dokumentumok k�z�tt. A k�vetkez� szekci�ban (a kifejez�sek index�ben) ugyanilyen okokb�l tartottuk meg az angol kifejez�seket, de ott a magyar megfelel�j�k alapj�n rendezt�k �b�c� sorrendbe a c�mszavakat.
Kifejez�s | Szekci� |
---|---|
Adatt�pus (datatype) | 3.2.1. |
Adatt�pus-tulajdons�g (datatype property) | 3.2.1. |
Egyed (individual) | 3.1.3. |
Egyede (instance of) | 3.1.3. |
Egyedi nevek (unique names) | 4.2. |
�rt�ktartom�ny (range) | 3.2.1. |
�rv�nyess�gi k�r (domain) | 3.2.1. |
Felsorol�s oszt�ly (enumerated class) | 5. |
Import�lja (imports) | 2.2. |
Kardinalit�s (cardinality) | 3.4.2. |
Kiterjed�s (extension) | 3.1. |
Komplemens/komplementer (complement) | 5.1.3. |
Korl�toz�s oszt�ly (restriction class) | 3.4.1. |
Metszete (intersectionOf) | 5.1.1. |
Monoton (monotonic) | 2. |
N�vtelen oszt�ly (anonimous class) | 3.2.1. |
Nyitott vil�g (open world) | 2. |
Objektumtulajdons�gok (object properties) | 3.2.1. |
Ontol�gia (ontology) | 1. |
Oszt�ly (class) | 3.1.3. |
OWL DL | 1.1. |
OWL Full | 1.1. |
OWL Lite | 1.1. |
P�ld�ny, egyed (instance) | 3.1.3. |
K�vetkezm�ny (entailed) | 1. |
Tulajdons�g (property) | 3.2.1. |
Uni� (union) | 5.1.2. |
Szerkeszt�k: Jeremy J. Carroll and Jos De Roo. A mindenkori legutols� (eredeti angol) v�ltozat: http://www.w3.org/TR/owl-test/.
Ahhoz, hogy az OWL szintaxis�t �s szemantik�j�t t�k�letesen meg�rthess�k, sz�ks�ges ismern�nk a t�m�hoz kapcsol�d�, al�bb felsorolt W3C �s IETF szabv�nyokat is. (A minim�lisan sz�ks�ges bevezet�s az XML-be �s az RDF-be az els� k�t link alatt tal�lhat�.)
A Resource Description Framework (RDF) volt a W3C �ltal specifik�lt els� olyan nyelv, amellyel tetsz�leges adatforr�sokr�l szemantikai inform�ci�t lehet �br�zolni. Az RDF Schema (RDFS) egy W3C aj�nl�s tervezet az RDF kiterjeszt�s�re, amellyel le�rhatjuk az RDF sz�k�szleteket. Az RDFS is ontol�gi�k alkot�s�ra alkalmas, de c�lszer�en k�nny�tett, az OWL-n�l kisebb kifejez� er�vel b�r� nyelv.
Ugyan�gy, mint az OWL, az RDFS is oszt�lyokat �s tulajdons�gokat, �s ez ut�bbiakra �rt�ktartom�ny- �s �rv�nyess�gi k�r korl�toz�sokat defini�l. Lehet�v� teszi �r�kl�si hierarchi�k �p�t�s�t oszt�lyokb�l �s tulajdons�gokb�l egyar�nt. R�viddel a nyelv megjelen�se ut�n a felhaszn�l�k elkezdt�k k�vetelni tov�bbi lehet�s�gek be�p�t�s�t (pl. adatt�pusokat, felsorol�s oszt�lyokat �s a tulajdons�gok rigor�zusabb defini�lhat�s�g�t).
A kutat�k�z�ss�gekben m�s projektek is vizsg�lt�k m�r pontosan ugyanilyen lehet�s�gek megval�s�t�s�t. Azok sz�m�ra, akik m�lyebben bele k�v�nj�k �sni magukat ebbe a h�tt�ranyagba, az al�bbiakban (a teljess�g ig�nye n�lk�l) adunk egy list�t ezekr�l a projektekr�l �s az �ltaluk fejlesztett nyelvekr�l:
A kutat�k, akik k�z�l sokan f� r�sztvev�i voltak mind az OIL, mind a DAML-ONT projekteknek, ahelyett, hogy folytatt�k volna az egym�st�l elt�r� ontol�gia nyelvek fejleszt�s�t a Szemantikus Web sz�m�ra, alak�tottak egy bizotts�got (Joint US/EU ad hoc Agent Markup Language Committee), hogy egy �j ontol�gia nyelvet dolgozzanak ki. Ezt a nyelvet (DAML+OIL), mely az OIL-ra �s a DAML-ONT-ra �p�l, az OWL nyelv b�zisak�nt el�terjesztett�k a W3C-nek, �s ett�l kezdve ezt az OWL kiindul�si alapj�nak tekintik.
Az ontol�gia nyelvek mellett k�l�nf�le megl�v� taxon�mi�kat �s ontol�gi�kat m�r kereskedelmi c�lokra is haszn�lnak. Egyes e-kereskedelmi webhelyeken ezek seg�tik a g�pi kommunik�ci�t a v�s�rl� �s az elad� k�z�tt, emellett megk�nny�tik a piacok vertik�lis integr�ci�j�t, �s lehet�v� teszik, hogy a le�r�sokat �jra fel lehessen haszn�lni k�l�nb�z� piaci szegmensekben. �me, p�ldak�nt n�h�ny webhely, ahol t�nylegesen haszn�lnak ontol�gi�kat kereskedelmi c�lokra:
K�l�nb�z� orvosi �s gy�gyszervegy�szeti ontol�gi�kat fejlesztettek ki, hogy seg�ts�k a jelenlegi orvosi �s biok�miai kutat�sok �ri�si adatt�meg�nek kezel�s�t, amelyet ontol�gi�k n�lk�l nagyon neh�z lenne �sszetart� eg�ssz� �sszekapcsolni. Az egyik legnagyobb ilyen forr�s a Gene Ontology Consortium, mely ontol�gi�kat defini�l az al�bbi t�mater�letekre:
Ez a webhely linkeket tartalmaz ilyen ontol�gi�kra, mint:
Ma m�r haszn�latban vannak olyan terjedelmes taxon�mi�k, amelyek el�g �rettek arra, hogy kiterjessz�k �ket az OWL ter�letre. P�ld�ul a North American Industry Classification System (NAICS) defini�l egy t�bb, mint 1900 egys�gb�l �ll� hierarchi�t, mely a k�l�nf�le ipari tev�kenys�geket oszt�lyozza. A NAICS kapcsol�dik az International Standard Industrial Classification System (ISIC, Revision 3) oszt�lyoz�shoz is, amelynek karbantart�sa az ENSz keret�ben t�rt�nik.