(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.
Az OWL Web Ontol�gia Nyelv egy szemantikai jel�l�nyelv, mely ontol�gi�k Weben t�rt�n� publik�l�s�ra �s k�z�s haszn�lat�ra szolg�l. Az OWL nyelvet az RDF (Resource Description Framework) sz�k�szlet�nek kiterjeszt�sek�nt, a DAML+OIL nyelvb�l kiindulva fejlesztett�k ki. Ez a dokumentum az OWL nyelvi konstrukci�k teljes halmaz�nak inform�lis le�r�s�t tartalmazza, ez�rt referenciak�nt szolg�lhat azon felhaszn�l�k sz�m�ra, akik ontol�gi�kat k�v�nnak �p�teni.
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, ahttp://www.w3.org/TR/ alatt.
A jelen dokumentum egyes r�szei a "DAML+OIL (March 2001) Reference Description" [DAML+OIL] dokumentumb�l sz�rmaznak, amelyet a DAML+OIL W3C Note r�szek�nt terjesztettek el�. Ennek a dokumentumnak �s kor�bbi v�ltozatainak szponzorai k�l�nleges k�sz�netet �rdemelnek.
Jeremy Carroll, Jim Hendler, Brian McBride �s Peter Patel-Schneider l�nyegbev�g� lektori munk�t v�geztek az anyagon, �s bizonyos sz�vegr�szek szerz�ik�nt is k�zrem�k�dtek. Jerome Euzenat bocs�totta rendelkez�s�nkre a Felsorol�s adatt�pussal kapcsolatos egyik p�ld�t.
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 �s John Yanosy.
Ez a dokumentum az OWL modellez� nyelvi elemeinek szisztematikus �s t�m�r informat�v le�r�s�t ny�jtja az OWL sz�m�ra is �rv�nyes RDF/XML adatcsere-szintaxis seg�ts�g�vel.
A jelen dokumentum annak az OWL Web Ontol�gia Nyelv-le�r�snak az egyik komponense, amelyet a W3C Web Ontol�gia Munkacsoportja (WebOnt) k�sz�t. Az OWL �ttekint�s dokumentum 1.1 szekci�ja, "A javasolt olvas�si sorrend" bemutatja az egyes r�sz-dokumentumokat, �s azt, hogy ezek mik�nt illeszkednek egym�shoz. Azok az olvas�k, akik m�g nem ismerik az OWL-t, els�k�nt elolvashatj�k az [OWL �ttekint�s] dokumentumot, majd folytathatj�k az [OWL �tmutat�] dokumentummal, mely olvasm�nyosabban mutatja be, �s p�ld�kkal illusztr�lja a nyelv haszn�lat�t.
A jelen dokumentum felt�telezi, hogy az olvas� ismeri az RDF alapfogalmait [RDF Fogalmak], �s gyakorlati ismeretekkel is rendelkezik az RDF szintaxisa [RDF/XML Szintaxis], valamint az RDF S�ma, azaz az [RDF Sz�k�szlet] ter�let�n.
Az OWL nyelvi konstrukci�k pontos szintaxis�nak normat�v defin�ci�ja az OWL Szemantika �s absztrakt szintaxis [OWL Sz&ASz] dokumentumban tal�lhat�. Ugyanez a dokumentum tartalmazza – modell-elm�leti szemantika form�j�ban – a nyelvi konstrukci�k jelent�s�nek prec�z defin�ci�j�t is. Ugyancsak ez a dokumentum t�rgyalja az olyan fogalmakat, mint Pl.: az OWL ontol�gi�k konzisztenci�ja.
Az OWL nyelv alkalmaz�si eseteit, illetve k�vetelm�nyeit az [OWL K�vetelm�nyek] dokumentum �rja le, az OWL eszk�z�k tesztel�si l�p�seit pedig az [OWL Tesztsorozat] dokumentum specifik�lja. Ebben tal�lhat�k tesztsorozatok a k�vetkeztet�si helyess�g (entailment correctness) �s az ellentmond�s-mentess�g (konzisztencia) ellen�rz�s�re is.
Ahogy azt m�r az [OWL �ttekint�s] �s az [OWL �tmutat�] dokumentum is t�rgyalta, az OWL nyelvnek k�t specifikus r�szhalmaza (alnyelve) van, amelyekr�l �gy hissz�k, hogy el�ny�sek lehetnek a nyelv implementorai �s felhaszn�l�i sz�m�ra. Ezek k�z�l az OWL Lite-ot �gy tervezt�k meg, hogy egyr�szt k�nnyen implement�lhat� legyen, m�sr�szt a nyelv olyan funkcion�lis r�szhalmaz�t val�s�tsa meg, mely seg�ti a felhaszn�l�t az elindul�sban. Az OWL DL-t – ahol a "DL" a Description Logic, (le�r� logika) r�vid�t�se – arra tervezt�k, hogy t�mogassa a megl�v� le�r� logikai �zleti szegmenst, �s olyan nyelvi r�szhalmazt biztos�tson, mely a k�vetkeztet� rendszerek szempontj�b�l kedvez� kisz�m�that�s�gi tulajdons�gokkal rendelkezik. A teljes OWL nyelv (amelyet OWL Full-nak, azaz teljes OWL-nak nevez�nk, hogy megk�l�nb�ztess�k a k�t r�szhalmazt�l) feloldja az OWL DL n�h�ny k�t�tts�g�t, amennyiben olyan opci�kat biztos�t, amelyek sok adatb�ziskezel� �s tud�s�br�zol� rendszer sz�m�ra el�ny�sek, de amelyek �th�gj�k a le�r� logikai k�vetkeztet� rendszerek hat�rait.
MEGJEGYZ�S: Az RDF dokumentumok �ltal�ban OWL Full nyelven �r�dnak, hacsak nem kifejezetten OWL DL-re vagy Lite-ra tervezt�k �ket.
Az OWL Full �s az OWL DL az OWL nyelvi konstrukci�inak ugyanazt a halmaz�t t�mogatj�k. A k�t alnyelv k�l�nbs�ge abban �ll, hogy milyen korl�toz�sok mellett haszn�lhatj�k ezeket a nyelvi konstrukci�kat, valamint abban, hogy kihaszn�lhatj�k-e az RDF alapvet� tulajdons�gait. Az OWL Full p�ld�ul lehet�v� teszi az OWL �s az RDF S�ma vegyes haszn�lat�t, �s ugyan�gy, mint az RDF S�ma, nem er�lteti az oszt�lyok, tulajdons�gok, egyedek �s adat�rt�kek szigor� sz�tv�laszt�s�t. Az OWL DL azonban korl�tozza a vegyes haszn�latot, �s megk�veteli, hogy az oszt�lyok, tulajdons�gok, egyedek �s adat�rt�kek diszjunkt halmazokat alkossanak. Az OWL DL alnyelv l�t�t az indokolja, hogy az eszk�zfejleszt�k m�r kor�bban olyan ontol�gi�k t�mogat�s�ra szolg�l� nagy teljes�tm�ny� k�vetkeztet� rendszereket fejlesztettek ki, amelyek korl�toz�sai �ppen az OWL DL korl�toz�sait ig�nylik. Az OWL Full �s az OWL DL k�l�nbs�geinek form�lis defin�ci�j�t az OWL Szemantika �s absztrakt szintaxis [OWL Sz&ASz] dokumentum 8.2 "OWL DL" szekci�ja adja meg, mely �sszefoglalja az OWL Full �s az OWL DL k�z�tti k�l�nbs�geket is.
Az OWL Lite az OWL DL alnyelve, mely az OWL nyelvi konstrukci�inak csup�n egy r�szhalmaz�t t�mogatja. Az OWL Lite-ot els�sorban olyan eszk�zfejleszt�knek sz�nt�k, akik t�mogatni k�v�nj�k az OWL-t, de els� l�p�sben a nyelvi konstrukci�knak csak egy viszonylag egyszer�, de alapvet� r�szhalmaz�t szeretn�k megc�lozni. Az OWL Lite ugyanazokhoz a szemantikai korl�toz�sokhoz tartja mag�t, mint az OWL DL, s ez lehet�v� teszi, hogy a k�vetkeztet�g�pek garant�lni tudjanak bizonyos k�v�natos tulajdons�gokat. Az OWL Lite-ban enged�lyezett nyelvi konstrukci�k �sszefoglal�s�t a 8.3 szekci� tartalmazza. Az OWL Lite �ltal t�mogatott nyelvi konstrukci�k form�lis le�r�s�t az OWL Szemantika �s absztrakt szintaxis [OWL Sz&ASz] dokumentumban tal�lja meg az olvas�.
MEGJEGYZ�S: Azok az RDF felhaszn�l�k, akik szeretn�nek �t�llni az OWL-ra, vegy�k figyelembe, hogy az OWL Lite nem puszt�n csak egy kiterjeszt�se az RDF S�m�nak! Az OWL Lite val�j�ban egy "k�nny�tett" v�ltozata az OWL DL-nek, mely korl�tozza az RDF sz�k�szlet haszn�lat�t (pl. oszt�lyok, tulajdons�gok stb. diszjunktivit�sa). Az OWL Full-t viszont �ppen az RDF-fel val� maxim�lis kompatibilit�sra tervezt�k, �s �gy ez a megfelel� nyelv, amellyel az RDF felhaszn�l�k elindulhatnak. Amikor az OWL DL vagy az OWL Lite haszn�lat�t fontolgatjuk, m�rlegeln�nk kell, hogy az OWL DL/Light el�nyei a k�vetkeztet�s t�mogat�s�ban t�bbet nyomnak-e a latban, mint az OWL DL/Light h�tr�nyai az OWL �s RDF konstrukci�k korl�tozott haszn�lat�ban.
MEGJEGYZ�S: Az OWL Lite-ot ebben a dokumentumban �gy t�rgyaljuk, mint az OWL DL n�h�ny tov�bbi korl�toz�s�t. Ez azt jelenti, hogy az OWL DL konstrukci�k az OWL Lite-nak is r�szei, hacsak kifejezetten m�sk�nt nem defini�ljuk. A 8.3 szekci� foglalja �ssze az OWL Lite-ra vonatkoz� t�bbletkorl�toz�sokat.
Egy OWL ontol�gia tulajdonk�ppen egy RDF gr�f [l�sd: RDF Fogalmak], mely RDF tripletekb�l �ll. Ugyan�gy, mint b�rmilyen RDF gr�f, az OWL ontol�gia gr�fja is sokf�le szintaktikai form�ban le�rhat� (L�sd az RDF/XML Szintaxis specifik�ci� �j kiad�s�ban [RDF/XML Szintaxis]). A jelen dokumentum (az �tmutat�hoz hasonl�an) az RDF/XML szintaxisnak egy specifikus form�j�t haszn�lja a tripletek �br�zol�s�ra. Az OWL ontol�gia jelent�s�t azonban kiz�r�lag az RDF gr�f hat�rozza meg. �gy teh�t haszn�lhatunk b�rmi m�s RDF/XML szintaxisform�t is, ha ez ugyanazokat az alapvet� RDF tripleteket produk�lja. B�rmilyen szintaxisforma, mely megfelel ennek a krit�riumnak, ugyanazt a jelent�startalmat �br�zolja, mint a jelen dokumentumban haszn�lt forma.
Az al�bbi p�lda k�t alternat�v form�t mutat be, melynek eredm�nye ugyanaz az RDF triplet. Tekints�k a k�vetkez� RDF/XML szintaxist:
<owl:Class rdf:ID="Continent"/>
Az al�bbi RDF/XML szintaxis
<rdf:Description rdf:about="#Continent"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> </rdf:Description>
ugyanazt az RDF tripletet k�dolja, mint a fenti, �s ez�rt ugyanazt a jelent�st hordozza.
Az OWL az RDF sz�k�szlet (RDF vocabulary) kiterjeszt�se [RDF Szemantika]. �gy teh�t minden RDF gr�f egy OWL Full ontol�gi�t alkot. Ebb�l k�vetkez�en az OWL �ltal el��ll�tott RDF gr�f jelent�se ugyanaz, mint az RDF �ltal el��ll�tott gr�f�. Az OWL Full ontol�gi�k ez�rt tetsz�leges RDF tartalmat foglalhatnak magukban, amelyek kezel�se is konzisztens az RDF kezel�s�vel. Az OWL azonban tov�bbi jelent�st tulajdon�that egyes RDF tripleteknek. Az OWL Szemantika �s absztrakt szintaxis dokumentum [OWL Sz&ASz] specifik�lja, hogy pontosan mely tripletekhez rendel specifikus jelent�st az OWL, �s hogy mi ez a jelent�s.
MEGJEGYZ�S : Mint m�r kor�bban is eml�tett�k, az OWL DL �s OWL Lite kiterjeszti az RDF sz�k�szletet, de korl�toz�sokat is bevezet e sz�k�szlet haszn�lat�ra. Ez�rt az RDF dokumentumok �ltal�ban OWL Full-ban is �rv�nyes dokumentumok (kiv�ve, ha kifejezetten OWL DL vagy Lite dokumentumk�nt k�dolt�k �ket).
A k�nnyebb olvashat�s�g kedv��rt e dokumentum p�ld�i felt�telezik, hogy az
olyan XML entit�sok, mint &rdf;
&rdfs;
&owl;
�s &xsd;
(XML S�ma adatt�pus) el�re
defini�lva vannak oly m�don, ahogy a B. F�ggel�k
ismerteti. Ugyanez �rv�nyes az ezeknek megfelel� olyan n�vterekre is, mint az
rdf:
rdfs:
, owl:
�s
xsd:
.
A p�ld�kat ebben a dokumentumban csak az OWL nyelvi szerkezetek illusztr�l�s�ra sz�ntuk. Ezek itt nem alkotnak egy konzisztens ontol�gi�t. Egy komplettebb p�ld�t tal�lhat az olvas� az [OWL �tmutat�] dokumentumban.
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 t�mogatja az adatok �sszekapcsol�s�t. A nyelv be�p�tett
szemantik�ja t�mogatja az �sszekapcsolhat� inform�ci�k logikai feldolgoz�s�t
is, s ez nem v�rt eredm�nyekhez vezethet. K�l�n�sen igaz ez az owl:sameAs haszn�lat�ra, 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 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
azonos. 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�si (aggregation) funkci� teh�t arra is
haszn�lhat�, hogy olyan t�nyeket is meg�llap�thassunk, 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 tudunk 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, az OWL k�vetkeztet� k�pess�geivel kombin�lva mag�ban hordja a vissza�l�s lehet�s�g�t is. Az OWL felhaszn�l�inak �bereknek kell teh�t lenni�k, ha meg akarj�k �rizni a priv�t szf�r�juk integrit�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).
Dokumentumunk v�g�n tal�lhat� egy sor f�ggel�k, mely tov�bbi inform�ci�kat tartalmaz az anyag meg�rt�s�hez.
A dokumentumban azok a linkek, amelyeket a nyelvi konstrukci�k defin�ci�in�l megadtunk, k�zvetlen�l el�rhet�v� teszik a megfelel� szemantikai le�r�st az OWL Szemantika �s absztrakt szintaxis dokumentumban [OWL Sz&ASz]. Az A. f�ggel�k a nyelvi konstrukci�k neveinek, illetve hiperlinkjeinek olyan t�bl�zata, mely kereszthivatkoz�st teremt az �tmutat�, a Referencia �s a Szemantika dokumentum azon szekci�i k�z�tt, amelyek ugyanazt a nyelvi konstrukci�t t�rgyalj�k.
A B. f�ggel�k az OWL nyelvi
konstrukci�k RDF s�m�j�t tartalmazza. Ez a s�ma inform�ci�kat szolg�ltat az
OWL sz�k�szlet�r�l, �s hasznos referenciapont lehet az ontol�gia�p�t�k �s
eszk�zfejleszt�k sz�m�ra. Azok a korl�toz�sok, amelyeket az OWL oszt�lyokkal
�s tulajdons�gokkal kapcsolatban a s�ma k�z�l, csak informat�v jelleg�ek, �s
nem teljesek. Tov�bb�, ez a s�ma nem tesz k�l�nbs�get az OWL Full, az OWL DL
�s az OWL Lite k�z�tt sem. A hagyom�nyoknak megfelel�en, az oszt�lyok neveit
nagy kezd�bet�vel, a tulajdons�gok�t pedig kis kezd�bet�vel �rjuk. �gy teh�t
az owl:Ontology
egy oszt�ly, m�g az owl:imports
egy
tulajdons�g.
MEGJEGYZ�S: Az OWL ontol�gi�kban nem sz�ks�ges explicit m�don
import�lni (az owl:imports
seg�ts�g�vel) az RDF S�ma f�jlt. A
s�ma itt informat�v jelleg�, �s csak arra szolg�l, hogy rendelkez�sre
bocs�ssa azokat az oszt�lyokat �s tulajdons�gokat, amelyeket az RDF/XML
szintaxis haszn�l. Azok, akik m�gis import�lj�k ezt a s�m�t, sz�m�tsanak
arra, hogy az ontol�gi�juk OWL Full ontol�gia lesz.
A C. f�ggel�k egy t�bl�zatos �ttekint�s az OWL sz�k�szlet�r�l, mely a nyelvi elemeket k�t r�szre (be�p�tett OWL oszt�lyokra, illetve tulajdons�gokra) bontja. A tulajdons�gokn�l az �rv�nyess�gi k�rt �s az �rt�ktartom�nyt is felt�nteti.
Azon olvas�k sz�m�ra, akik ismerik a DAML+OIL nyelvet, a D. f�ggel�k felsorolja a DAML+OIL �s az OWL k�z�tti elt�r�sek nagy r�sz�t.
�s v�g�l az E. f�ggel�k egy gyakorlati vez�rfonalat ad az OWL DL-szint� ontol�gi�k RDF-ben t�rt�n� specifik�l�s�hoz.
Egy OWL dokumentum (tipikusan) egy opcion�lis ontol�gia-header-b�l, plusz tetsz�leges sz�m� oszt�lyaxiom�b�l, tulajdons�gaxiom�b�l �s egyeddel kapcsolatos t�ny�ll�t�sb�l �ll. Megjegyzend�, hogy az "axi�ma" egy form�lis kifejez�s, amelyet a Szemantika (Sz&ASz) dokumentum haszn�l. Az axi�m�kat kiss� inform�lisabban "defin�ci�knak" nevezz�k az �tmutat� �s az �ttekint�s dokumentumban.
MEGJEGYZ�S: Az OWL semmilyen m�don nem korl�tozza a komponensek sorrendj�t az ontol�gi�n bel�l. Persze, mindig haszn�lunk valamilyen sorrendet (p�ld�ul az ontol�gia elej�re tessz�k a headert), de ennek nincs hat�sa a jelent�s�re. Az ontol�gi�t feldolgoz� eszk�z�k sem t�telezhetnek fel semmilyen k�t�tt sorrendet.
Mint a legt�bb RDF dokumentumn�l, az OWL-n�l is minden elem az
rdf:RDF
elem al� van rendelve. Ez a befogad� elem tartalmazza
�ltal�ban az XML n�vter�t �s b�zisdeklar�ci�it is. Egy ontol�giadokumentum is
gyakran kezd�dik egy sor entit�sdeklar�ci�val. Az ilyen t�pus� inform�ci�ra
tipikus p�ld�t mutat be a Bor �s az �tel ontol�gia, amelyet az [OWL �tmutat�] t�rgyal.
Az OWL be�p�tett sz�k�szlet�t az OWL n�vt�r
http://www.w3.org/2002/07/owl#
defini�lja, mely konvencion�lisan az owl
n�vhez van
kapcsolva. Aj�nlatos, hogy az ontol�gi�k ebb�l a (t�gabb) n�vt�rb�l kiz�r�lag
a be�p�tett sz�k�szletet haszn�lj�k. Az OWL eszk�z�k fejleszt�i teh�t akkor
j�rnak el helyesen, ha a programjukb�l figyelmeztet� jelz�st adnak, amikor a
felhaszn�l� m�s neveket is haszn�l, de ezt k�vet�en a programnak norm�lisan
tov�bb kell folytatnia a feldolgoz�st.
A Web Ontol�gia Munkacsoport nem ig�nyelt k�l�n MIME t�pust az OWL
dokumentumok sz�m�ra. Ehelyett az RDF Core Munkacsoport �ltal
ig�nyelt MIME t�pus haszn�lat�t aj�nlja (nevezetesen az application/rdf+xml
[l�sd: RDF Fogalmak], vagy
alternat�vak�nt az application/xml
MIME t�pust).
F�jln�v-kiterjeszt�sk�nt az .rdf
vagy az .owl
kiterjeszt�st aj�nlja a Munkacsoport.
Az oszt�lyok olyan absztrakci�s mechanizmusok, amelyek seg�ts�g�vel csoportos�thatjuk az azonos tulajdons�g� er�forr�sokat. Ugyan�gy, mint az RDF-n�l, az OWL-n�l is egy oszt�lyhoz egyedek halmaz�t asszoci�ljuk, s ezt az oszt�ly kiterjed�s�nek nevezz�k. Az oszt�ly kiterjed�s�t alkot� egyedeket (angolul: individuals) m�s szavakkal az oszt�ly p�ld�nyainak, eseteinek, vagy el�fordul�sainak is h�vjuk (angolul: "instances"). Az oszt�ly jelent�se intenzion�lis (azaz absztrakt fogalmat takar), amely kapcsolatos ugyan, de nem azonos az oszt�ly kiterjed�s�vel (ami extenzion�lis, teh�t konkr�t jelent�s�). �gy teh�t k�t oszt�lynak lehet ugyanaz a kiterjed�se, m�gis k�l�nb�z� oszt�lyokat alkothatnak.
Amikor ebben a dokumentumban azt mondjuk, hogy "egyedek oszt�lya", ezt �gy �rtj�k, hogy "egy oszt�ly, amelynek az oszt�lykiterjed�se egyedekb�l �ll..."
MEGJEGYZ�S: Az OWL Lite-ban �s az OWL DL-ben egy egyed nem lehet egyidej�leg oszt�ly is: az egyedek �s oszt�lyok itt diszjunkt fogalmi k�rt alkotnak (mik�nt a tulajdons�gok �s az adat�rt�kek is). Ezzel szemben az OWL Full az RDF S�m��hoz hasonl� szabads�got biztos�t: egy oszt�ly fell�phet egy m�sik (meta)oszt�ly egyedek�nt is.
Az OWL oszt�lyokat "oszt�lyle�r�sok" seg�ts�g�vel defini�ljuk, amelyek "oszt�lyaxi�m�kk�" kombin�lhat�k. Az al�bbiakban el�sz�r az oszt�lyle�r�sokat ismertetj�k, majd pedig oszt�lyaxi�m�kk� alak�t�sukat t�rgyaljuk.
Ebben a dokumentumban (�s az OWL Szemantika �s absztrakt szintaxis dokumentumban is) oszt�lyle�r�sok alatt az oszt�lyaxi�m�k alapvet� �p�t�k�veit �rtj�k. (Az oszt�lyaxi�m�kat, kev�sb� form�lisan, oszt�lydefin�ci�knak h�vjuk az �ttekint�s �s az �tmutat� dokumentumban). Egy oszt�lyle�r�s az oszt�lyt a nev�nek, vagy a kiterjed�s�nek a megad�s�val �rja le. Az el�bbi esetben neves�tett, az ut�bbi esetben n�vtelen oszt�lyr�l besz�l�nk.
Az OWL hatf�le oszt�lyle�r�st k�l�nb�ztet meg:
Az els� t�pus k�l�nleges abban az �rtelemben, hogy az oszt�lyt puszt�n az oszt�ly nev�vel �rja le (amit szintaktikailag egy URI hivatkoz�s �br�zol). A t�bbi �t oszt�lyle�r�s t�pus n�vtelen oszt�lyt �r le, m�gpedig oly m�don, hogy korl�toz�sokat fogalmaz meg az oszt�ly kiterjed�s�re (azaz a lehets�ges egyedeire) vonatkoz�an.
Az 2. t�pus olyan oszt�lyt �r le, amelyik pontosan �s kiz�r�lag a felsorolt egyedekb�l �ll. A 3. t�pus olyan oszt�lyt hat�roz meg, amelynek az egyedei kiel�g�tenek egy bizonyos tulajdons�gkorl�toz�st. A 4., az 5. �s a 6. t�pus olyan oszt�lyt specifik�l, mely m�s oszt�lyle�r�sok Boole-algebrai kombin�ci�j�nak felel meg. (A metszet, az uni� �s a komplemens rendre az �S, VAGY, illetve a NEM oper�tornak felel meg.) Az utols� n�gy oszt�lyle�r�s egym�sba skatuly�zhat�, �s �gy elvileg tetsz�legesen bonyolult oszt�lyle�r�st alkothatnak. A gyakorlatban azonban az egym�sba skatuly�zhat� szintek sz�m�t �ltal�ban korl�tozz�k.
Az 1. t�pus� oszt�lyle�r�st szintaktikailag az owl:Class (az
rdfs:Class
: aloszt�lya) egy neves�tett egyed�nek megad�s�val
�br�zoljuk:
<owl:Class rdf:ID="Human"/>
Ez a mondat az "ex:Human rdf:type owl:Class ."
tripletet
gener�lja, ahol ex:
a Human fogalmat tartalmaz�
t�mater�let ontol�gi�j�nak a n�vtere.
MEGJEGYZ�S: Az OWL Lite-ban �s az OWL DL-ben az
owl:Class
(vagy a k�s�bb ismertetend�
owl:Restriction
) elem keret�ben adjuk meg az �sszes
oszt�lyle�r�st.
MEGJEGYZ�S: Az owl:Class
az
rdfs:Class
aloszt�lyak�nt van defini�lva. Annak az oka, hogy egy
k�l�n "OWL Class" konstrukci�t haszn�lunk, az OWL DL �s az OWL Lite
korl�taiban keresend�. E korl�tok miatt nem minden RDFS oszt�ly leg�lis OWL
DL oszt�ly is. Az OWL Full-ban ezek a korl�toz�sok nem �rv�nyesek, ez�rt ott
az owl:Class
�s az rdfs:Class
egyen�rt�k�.
A m�sik �t oszt�lyle�r�si forma RDF tripletek (gr�f-elemek) halmaz�b�l
�ll, ahol egy �res csom�pont az �ppen defini�lt oszt�lyt �br�zolja. Ennek az
�res csom�pontnak van egy rdf:type
tulajdons�ga, amelynek �rt�ke
az owl:Class
.
MEGJEGYZ�S: Ha egy RDF azonos�t�val l�tjuk el a felsorol�s, a metszet, az uni� vagy a komplemens t�pus� oszt�lyle�r�st, akkor ezt m�r nem oszt�lyle�r�snak, hanem egy komplett oszt�lyt defini�l� oszt�lyaxi�m�nak tekintj�k. A r�szleteket l�sd a 3.2.3 szekci�ban.
MEGJEGYZ�S: Ebben a dokumentumban a k�nnyebb olvashat�s�g kedv��rt "oszt�lyle�r�s"-t �runk, amikor azt akarjuk mondani, hogy "az oszt�ly, amelyet az oszt�lyle�r�ssal defini�lunk". Szigor�an v�ve ez k�t k�l�nb�z� dolog a 2-6 t�pus� oszt�lyle�r�sok eset�ben: az oszt�lyt a megfelel� �res csom�pont �br�zolja; az oszt�ly le�r�s�t pedig azok a tripletek �br�zolj�k, amelyeknek ez az �res csom�pont az alanyuk.
K�t OWL oszt�lyazonos�t�t el�re defini�l a nyelv; nevezetesen az owl:Thing �s
az owl:Nothing
azonos�t�t. Az owl:Thing
oszt�lykiterjed�se az �sszes egyedek
halmaza, m�g az owl:Nothing
oszt�ly kiterjed�se az �res halmaz.
Ebb�l az k�vetkezik, hogy minden oszt�ly az owl:Thing
aloszt�lya, valamint az, hogy az owl:Nothing
minden m�s
oszt�lynak aloszt�lya. (Az aloszt�lyrel�ci� jelent�s�t l�sd az rdfs:subClassOf
szekci�ban.)
A "Felsorol�s" t�pus�
oszt�lyle�r�st az owl:oneOf
tulajdons�g seg�ts�g�vel adjuk meg. Ennek a be�p�tett OWL tulajdons�gnak az
�rt�kei azon egyedek list�ja, amelyek az oszt�lyt
alkotj�k. Ez lehet�v� teszi, hogy egy oszt�lyt defini�lhassunk az egyedeinek
a teljes felsorol�s�val. Az owl:oneOf
seg�ts�g�vel le�rt oszt�ly
kiterjed�se pontosan a felsorolt egyedeket tartalmazza; sem t�bbet, sem
kevesebbet. Az egyedek list�j�t tipikusan az
rdf:parseType="Collection"
RDF konstrukci�val �br�zoljuk, mely
k�nyelmes r�vid�t�si lehet�s�geket biztos�t a listaelemek le�r�s�hoz.
P�ld�ul, az al�bbi RDF/XML szintaxis a kontinensek oszt�ly�t defini�lja:
<owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Eurasia"/> <owl:Thing rdf:about="#Africa"/> <owl:Thing rdf:about="#NorthAmerica"/> <owl:Thing rdf:about="#SouthAmerica"/> <owl:Thing rdf:about="#Australia"/> <owl:Thing rdf:about="#Antarctica"/> </owl:oneOf> </owl:Class>
Az <owl:Thing rdf:about="..."/>
RDF/XML szintaxis
valamilyen egyedre utal (eml�kezz�nk, hogy minden egyed
automatikusan az owl:Thing
oszt�ly egyede).
Az adatt�pusokkal foglalkoz� szekci�ban l�tni fogjuk az
owl:oneOf
egy m�s c�l� haszn�lat�t is, nevezetesen, amikor adat�rt�keket sorolunk fel a seg�ts�g�vel.
MEGJEGYZ�S: a "Felsorol�s" elem az OWL Lite-ban nem haszn�lhat�.
A tulajdons�gkorl�toz�s az oszt�lyle�r�s speci�lis form�ja, mely egy n�vtelen oszt�lyt �r le, nevezetesen: mindazon egyedek oszt�ly�t, amelyek megfelelnek az adott korl�toz�snak. Az OWL a tulajdons�gkorl�toz�sok k�t t�pus�t k�l�nb�zteti meg: az �rt�kkorl�toz�st �s a kardinalit�skorl�toz�st.
Az �rt�kkorl�toz�s valamely tulajdons�g
�rt�ktartom�ny�t hat�rozza meg az �ppen le�rt oszt�lyra �rv�nyes
hat�llyal. P�ld�ul ennek seg�ts�g�vel hivatkozhatn�nk azokra az
egyedekre, amelyekn�l a "szomsz�dosMegy�je
" tulajdons�g �rt�ke
valamilyen Dun�nt�liMegye
, majd pedig haszn�lhatn�nk ezt a
hivatkoz�st egy oszt�lyaxi�m�n bel�l (ak�r m�g mag�n a
Dun�nt�liMegye
oszt�lyaxi�m�j�n bel�l is). Figyelj�k meg
azonban, hogy ez az �rt�kkorl�toz�s k�l�nb�zik pl. az
rdfs:range
-t�l, mely minden�tt hat�lyos, ahol az �ltala
korl�tozott tulajdons�got haszn�ljuk.
A kardinalit�skorl�toz�s
seg�ts�g�vel azt hat�rozhatjuk meg az adott oszt�lyle�r�s kontextus�n
bel�l (azaz lok�lis �rv�nnyel), hogy egy tulajdons�g h�ny k�l�nb�z�
�rt�ket vehet fel. P�ld�ul: megadhatn�nk azt, hogy a Futballcsapat nev�
oszt�ly j�t�kosa
tulajdons�g�nak 11 �rt�ke lehet (pl. a 11
j�t�kos neve). Egy kos�rlabdacsapat eset�n ugyanez a tulajdons�g csak 5
�rt�ket vehetne fel.
Az OWL t�mogat egy korl�tozott sz�m� olyan konstrukci�t is, nevezetesen az owl:FunctionalProperty �s az owl:InverseFunctionalProperty konstrukci�t, amelyek glob�lis �rv�nnyel korl�tozz�k a tulajdons�gok kardinalit�s�t (l�sd a tulajdons�gokr�l sz�l� szekci�ban).
A tulajdons�gkorl�toz�sok �ltal�nos form�ja a k�vetkez�k�ppen n�z ki:
<owl:Restriction> <owl:onProperty rdf:resource="(valamilyen tulajdons�g)" /> (egy �rt�k- vagy egy kardinalit�skorl�toz�s, l�sd al�bb) </owl:Restriction>
Az owl:Restriction
(Korl�toz�s) oszt�lyt az owl:Class
aloszt�lyak�nt defini�lt�k. Egy Restriction oszt�lynak van egy, �s
csak egy olyan tripletje, mely a korl�toz�st egy tulajdons�ghoz kapcsolja az
owl:onProperty
tulajdons�g seg�ts�g�vel. �s van egy, �s csak egy olyan tripletje, mely az
�rt�kkorl�tot vagy a kardinalit�skorl�tot reprezent�lja az adott
tulajdons�gra vonatkoztatva (pl. azt, hogy a tulajdons�g kardinalit�sa
pontosan 1).
Tulajdons�gkorl�toz�sokat alkalmazhatunk adatt�pus-tulajdons�gokra (amelyek �rt�ke liter�l t�pus�) valamint objektumtulajdons�gokra (amelyek �rt�ke egyed t�pus�). E megk�l�nb�ztet�ssel kapcsolatban l�sd a tulajdons�gokr�l sz�l� szekci�t.
A ford�t� megjegyz�se:
Annak �rdek�ben, hogy az al�bb k�vetkez� p�ld�k magyar�zat�n�l a ford�tott sz�rend� angol �ll�t�sokat logikailag helyesen ford�thassuk magyarra, n�ha besz�runk egy tilde (~) karaktert a tulajdons�gok (�ll�tm�nyok) nev�be, amellyel el�reutalunk az �ll�t�s t�rgy�ra. Ha a tilde 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 nem lesz igaz�n eszt�tikus). Pl. az X isBiologicalMotherOf Y angol tripletet term�szetesen nem ford�thatjuk �gy, hogy X "biol�giaiAnyja" Y, mert ez teljesen t�ves ford�t�s. Ehelyett �gy �rjuk �t magyarra: X "biol�giaiAnyja~nak" Y, �s �gy olvassuk, hogy X biol�giai anyja Y-nak. Ez nem t�l sz�p magyar mondat, de ha a triplet magyar ford�t�s�ban el akarn�nk ker�lni az ilyen ford�tott sz�rendet, akkor a p�ld�t mag�t kellene megford�tanunk. Vagyis, meg kellene cser�ln�nk az alanyt �s a t�rgyat (s �gy az �rv�nyess�gi k�rt �s az �rt�ktartom�nyt is), az �ll�tm�nynak pedig a ford�tott jelent�s�t kellene haszn�lnunk. �m ha ezt tenn�nk, az �j p�ld�val gyakran eg�szen m�st illusztr�ln�nk, mint ami a szerz�k eredeti sz�nd�ka volt. P�ld�ul, ha megford�tjuk a fenti p�ld�t, akkor angolul az Y hasBiologicalMother X, magyarul pedig az Y biol�giaiAnyja X form�t kapjuk, s �gy a k�t kijelent�s logikailag �s nyelvtanilag is konzisztens lesz, csakhogy ebben a form�ban m�r nem igazolj�k a bizony�tand� t�telt, t�rt�netesen azt, hogy "egy ford�tott funkcion�lis tulajdons�g t�rgya egy�rtelm�en azonos�tja az alany�t", ugyanis, egy any�nak (a Woman oszt�ly X egyed�nek) t�bb gyermeke is lehet (a Human oszt�ly egyedei k�z�tt). Az eredeti p�lda m�g bizony�t� erej� volt, mert egy embernek (Y) val�ban csak egy biol�gia anyja lehet (X). (L�sd ezt a helyzetet a ford�tott funkcion�lis tulajdons�got illusztr�l� p�ld�n�l.)
Megjegyezz�k m�g, hogy a tilde csak seg�dlet a magyar ford�t�shoz, �s nem r�sze az OWL szintaxis�nak. Ha OWL nyelven ford�tott sz�rend� magyar �ll�tm�nyokat (tulajdons�gneveket) kell megfogalmaznunk, akkor tilde helyett egy olyan karaktert v�lasszunk, mely megengedett az ilyen nevek szintaxis�ban, �s megfelel a tilde szerep�nek.
Az owl:allValuesFrom
�rt�kkorl�toz�s egy be�p�tett OWL tulajdons�g, mely egy korl�toz�soszt�lyt
egy oszt�lyle�r�shoz vagy egy adat�rt�k-tartom�nyhoz kapcsol. Az
owl:allValuesFrom
(~minden�rt�ke) �ll�tm�nyt tartalmaz�
korl�toz�st azon egyedek oszt�ly�nak le�r�s�ra haszn�ljuk, amelyek sz�m�ra az
�ppen korl�tozott tulajdons�g minden �rt�ke: vagy az oszt�lyle�r�s
kiterjed�s�nek a tagja, vagy pedig olyan adat�rt�k, mely egy (liter�lisan
megadott) �rt�ktartom�nyon bel�l helyezkedik el. M�sk�nt kifejezve: ez az
�rt�kkorl�toz�s olyan X egyedek oszt�ly�t defini�lja, amelyekre �rv�nyes,
hogy, ha az (X,Y) alany-t�rgy p�ros az �ppen korl�tozott P tulajdons�g
(�ll�tm�ny) egyik el�fordul�sa, akkor Y vagy az oszt�lyle�r�s egyik egyede,
vagy egy adat�rt�k-tartom�ny egyik adat�rt�ke.
Egy egyszer� p�lda:
<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:allValuesFrom rdf:resource="#Human" /> </owl:Restriction>
Ez a p�lda azon egyedek n�vtelen oszt�ly�t �rja le, amelyek eset�ben a
hasParent
(sz�l�je) tulajdons�g csak a Human
(Ember)
oszt�ly egyede lehet. Jegyezz�k meg, hogy ez az oszt�lyle�r�s nem azt mondja
ki, hogy ez a tulajdons�g mindig ebb�l az oszt�lyb�l kaphat csak
�rt�ket, hanem azt, hogy ez a megk�t�s csak a n�vtelen korl�toz�soszt�ly
kiterjed�s�re vonatkoztatva �rv�nyes.
MEGJEGYZ�S: Az OWL Lite-ban az owl:allValuesFrom
�ll�tm�ny t�rgyak�nt megadott oszt�lyle�r�s-t�pus csak egy oszt�lyn�v
lehet.
Az owl:allValuesFrom
korl�toz�s jelent�se l�nyeg�ben azonos az �t�letkalkulus univerz�lis
kvantor�nak jelent�s�vel ("minden elemre igaz"), minthogy a le�rt oszt�ly
minden egyed�re igaz, hogy P tulajdons�g minden �rt�k�nek ki kell el�g�tenie
a megk�t�st. Vegy�k �szre azt is, hogy az owl:allValuesFrom
�s az univerz�lis
kvantor abban is megfelelnek egym�snak, hogy a P tulajdons�g �rt�keire
bevezetett owl:allValuesFrom
korl�toz�st egy olyan egyed is trivi�lis m�don kiel�g�ti, amelyiknek
egy�ltal�n nincs �rt�ke P-re. Hogy l�ssuk, mi�rt van ez �gy, vegy�k �szre,
hogy az owl:allValuesFrom
korl�toz�s azt k�ti ki, hogy P minden �rt�ke T t�pus� legyen. Ha teh�t nem
l�tezik ilyen �rt�k, akkor a korl�toz�s eleve megval�sul.
Az owl:someValuesFrom
�rt�kkorl�toz�s egy be�p�tett OWL tulajdons�g, mely egy korl�toz�soszt�lyt
egy oszt�lyle�r�shoz vagy egy adat�rt�k-tartom�nyhoz kapcsol. Az
owl:someValuesFrom
(~n�h�ny�rt�ke) megk�t�st tartalmaz�
korl�toz�s azon egyedek oszt�ly�t �rja le, amelyek sz�m�ra az �ppen
korl�tozott tulajdons�gnak legal�bb egy �rt�ke az oszt�lyle�r�s
egyede, vagy egy adat�rt�k-tartom�ny valamelyik �rt�ke. M�sk�nt fogalmazva:
ez az �rt�kkorl�toz�s olyan X egyedek oszt�ly�t defini�lja, amelyek sz�m�ra
l�tezik egy olyan Y (az oszt�lyle�r�s egyik egyede, vagy egy �rt�ktartom�ny
egyik �rt�ke) amelyn�l az (X,Y) p�r a P tulajdons�g egyik el�fordul�sa. Ez a
megk�t�s nem z�rja ki azonban, hogy P-nek lehetnek m�s olyan (pl. X,Y')
el�fordul�sai, amelyekn�l Y' nem tartozik az adott oszt�lyle�r�shoz vagy
adat�rt�k-tartom�nyhoz.
Az al�bbi p�lda olyan egyedek oszt�ly�t defini�lja, amelyeknek legal�bb
egyik "sz�l�je" (hasParent
) "Orvos" (Physician
):
<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:someValuesFrom rdf:resource="#Physician" /> </owl:Restriction>
Az owl:someValuesFrom
korl�toz�s l�nyeg�ben azonos az �t�letkalkulus egzisztenci�lis kvantor�val,
mivel azt k�ti ki az �ppen defini�lt oszt�ly minden egyed�nek P
tulajdons�g�ra, hogy "l�tezz�k legal�bb egy" olyan �rt�ke, mely kiel�g�ti a
korl�toz�st.
MEGJEGYZ�S: Az OWL Lite-ban az
owl:someValuesFrom
�ll�tm�ny t�rgyak�nt megadott
oszt�lyle�r�s-t�pus csak egy oszt�lyn�v lehet.
Az owl:hasValue
�rt�kkorl�toz�s egy be�p�tett OWL tulajdons�g, mely egy korl�toz�soszt�lyt
egy olyan V �rt�khez kapcsol, amelyik vagy egy egyed, vagy egy adat�rt�k. Az
owl:hasValue
�rt�kkorl�toz�s teh�t azon egyedek oszt�ly�t �rja
le, amelyek sz�m�ra az �ppen korl�tozott tulajdons�gnak van legal�bb
egy olyan �rt�ke, amelyik szemantikailag egyenl� V-vel (de emellett
lehetnek m�s �rt�kei is).
MEGJEGYZ�S: Az, hogy "szemantikailag egyenl�", adatt�pusok eset�ben azt jelenti, hogy a k�t adat lexikai �br�zol�s�nak g�pi nyelvre t�rt�n� leford�t�sa ugyanazt az �rt�ket adja. Egyedek eset�ben pedig azt jelenti, hogy vagy azonos az URI hivatkoz�suk, vagy k�l�nb�z� ugyan, de ezeket el�z�leg azonosnak deklar�ltuk (l�sd: owl:sameAs).
MEGJEGYZ�S: az owl:hasValue
�rt�kkorl�toz�s nem
haszn�lhat� az OWL Lite-ban.
Az al�bbi p�lda azon egy�nek oszt�ly�t �rja le, akikn�l a "sz�l�je" tulajdons�g �rt�ke: Clinton.
<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:hasValue rdf:resource="#Clinton" /> </owl:Restriction>
Az OWL-ban az RDF-hez hasonl�an felt�telezz�k, hogy egy oszt�ly b�rmelyik egyed�nek tetsz�leges sz�m� (z�r�, egy vagy t�bb) �rt�ke lehet egy adott tulajdons�g�ra. Annak �rdek�ben, hogy egy adott oszt�ly egyedei sz�m�ra egy tulajdons�got felt�tlen�l sz�ks�gesnek deklar�lhassunk (azaz megk�vetelhess�k, hogy az legal�bb egy �rt�kkel rendelkezz�k), vagy hogy egy tulajdons�got kitilthassunk (azaz kik�thess�k, hogy a tulajdons�g legfeljebb z�r� sz�m� �rt�kkel rendelkezhet), vagy hogy el��rhassuk, hogy egy tulajdons�g pontosan h�ny �rt�ket vehet fel, kardinalit�skorl�toz�st alkalmazunk. Az OWL-ban h�rom konstrukci� �ll rendelkez�sre a tulajdons�gok kardinalit�s�nak helyi, azaz oszt�lyra �rv�nyes korl�toz�s�ra.
Megjegyz�s: Az OWL Lite tartalmazza a kardinalit�s korl�toz�s�nak mind a h�rom t�pus�t, de a kardinalit�s �rt�ke itt csak 0 vagy 1 lehet.
Az owl:maxCardinality
t�pus� kardinalit�skorl�toz�s egy be�p�tett OWL tulajdons�g, mely egy
korl�toz�soszt�lyt egy olyan adat�rt�khez kapcsol, mely az XML S�ma
nonNegativeInteger
�rt�kter�be tartozik. Egy
owl:maxCardinality
megk�t�st tartalmaz� korl�toz�s azon egyedek
oszt�ly�t �rja le, amelyeknek az �ppen korl�tozand� tulajdons�ga
legfeljebb N sz�m�, szemantikailag k�l�nb�z� �rt�ket (egyedet vagy
adat�rt�ket) kaphat, ahol N a kardinalit�skorl�t �rt�ke. Szintaktikailag a
kardinalit�skorl�toz�st egy RDF tulajdons�gelemmel, �s a hozz� tartoz�
rdf:datatype
attrib�tummal �br�zoljuk.
Az al�bbi p�lda olyan egyedek oszt�ly�t �rja le, amelyeknek legfeljebb k�t sz�l�j�k lehet:
<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:maxCardinality> </owl:Restriction>
Az RDF adatt�pusainak haszn�lat�t r�szletesebben a 6. szekci� t�rgyalja.
Az owl:minCardinality
t�pus� kardinalit�skorl�toz�s egy be�p�tett OWL tulajdons�g, mely egy
korl�toz�soszt�lyt egy olyan adat�rt�khez kapcsol, mely az XML S�ma
nonNegativeInteger
�rt�kter�be tartozik. Egy
owl:minCardinality
megk�t�st tartalmaz� korl�toz�s azon egyedek
oszt�ly�t �rja le, amelyeknek az �ppen korl�tozand� tulajdons�ga
legal�bb N sz�m�, szemantikailag k�l�nb�z� �rt�ket (egyedet vagy
adat�rt�ket) kell kapnia, ahol N a kardinalit�skorl�t �rt�ke. Szintaktikailag
a kardinalit�skorl�toz�st egy RDF tulajdons�gelemmel, �s a hozz� tartoz�
rdf:datatype
attrib�tummal �br�zoljuk.
Az al�bbi p�lda olyan egyedek oszt�ly�t �rja le, amelyeknek legal�bb k�t sz�l�j�k van:
<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality> </owl:Restriction>
Jegyezz�k meg, hogy ha az owl:minCardinality
�rt�ke nagyobb
vagy egyenl� eggyel, az egyben azt is jelenti, hogy az adott oszt�ly
egyedein�l ez a tulajdons�g felt�tlen�l �rt�ket kell hogy kapjon.
Az owl:Cardinality
t�pus� kardinalit�skorl�toz�s egy be�p�tett OWL tulajdons�g, mely egy
korl�toz�soszt�lyt egy olyan adat�rt�khez kapcsol, mely az XML S�ma
nonNegativeInteger
�rt�kter�be tartozik. Egy
owl:Cardinality
megk�t�st tartalmaz� korl�toz�s azon egyedek
oszt�ly�t �rja le, amelyeknek az �ppen korl�tozand� tulajdons�ga
pontosan N sz�m�, szemantikailag k�l�nb�z� �rt�ket (egyedet vagy
adat�rt�ket) kell kapnia, ahol N a kardinalit�skorl�t �rt�ke. Szintaktikailag
a kardinalit�skorl�toz�st egy RDF tulajdons�gelemmel, �s a hozz� tartoz�
rdf:datatype
attrib�tummal �br�zoljuk.
Ez a konstrukci� tulajdonk�ppen redund�ns, hiszen b�rmikor helyettes�thet�
egy owl:minCardinality
�s egy
owl:maxCardinality
korl�toz�sb�l �ll� p�rral �gy, hogy mindkett�nek azonos �rt�ket adunk. Ezt a
korl�toz�st�pust csak a k�nyelem �s a t�m�rebb �r�sm�d �rdek�ben vett�k fel a
nyelvbe.
Az al�bbi p�lda olyan egyedek oszt�ly�t �rja le, amelyeknek pontosan k�t sz�l�j�k lehet:
<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality> </owl:Restriction>
Az ebben a szekci�ban t�rgyalt h�rom oszt�lyle�r�s-t�pus azokat a fejlettebb oszt�lykonstruktorokat reprezent�lja, amelyeket a le�r� logik�ban haszn�lnak. Ezeket �gy is tekinthetj�k, mint oszt�lyokra alkalmazott �S, VAGY �s NEM m�veleteket. Ez a h�rom m�velet a halmazoper�torok szok�sos neveit viseli: metszet, uni� �s komplemens. Ezek a nyelvi konstrukci�k abban hasonl�tanak egym�sra, hogy egym�sba �gyazott oszt�lyle�r�sokat tartalmaznak: vagy egyet (mint a komplemens eset�n), vagy pedig t�bbet (mint az uni� �s a metszet eset�n).
Az owl:intersectionOf
egy be�p�tett OWL tulajdons�g, mely egy oszt�lyt kapcsol egy oszt�lyle�r�s-list�hoz. Az owl:intersectionOf
konstrukci�
egy olyan oszt�lyt �r le, amelynek a kiterjed�se pontosan azokb�l az
egyedekb�l �ll, amelyek a list�ban szerepl� minden oszt�lyle�r�s
kiterjed�sben benne vannak.
P�lda:
<owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Tosca" /> <owl:Thing rdf:about="#Salome" /> </owl:oneOf> </owl:Class> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Turandot" /> <owl:Thing rdf:about="#Tosca" /> </owl:oneOf> </owl:Class> </owl:intersectionOf> </owl:Class>
Ebben a p�ld�ban az owl:intersectionOf
tulajdons�g �rt�ke k�t
oszt�lyle�r�s: nevezetesen k�t felsor�l�s t�pus� oszt�lyle�r�s, amelyek
mindegyike k�t-k�t egyedet tartalmaz. Az eredm�ny�l kapott metszet pedig egy
olyan oszt�ly, mely egyetlen egyedet tartalmaz, nevezetesen a
Tosca-t
, minthogy ez az egyetlen olyan egyed, amelyik k�z�s a
k�t felsorol�sban.
MEGJEGYZ�S: Ez felt�telezi, hogy a h�rom egyed mind k�l�nb�z�. Az OWL-ban azonban ez nem mag�t�l �rtet�d�en van �gy. Ugyanis, k�l�nb�z� URI hivatkoz�sok mutathatnak ugyanarra az egyedre, l�v�n, hogy az OWL nem felt�telez egyedi neveket. Az 5. szekci�ban olyan nyelvi konstrukci�kat tal�lhat az olvas�, amelyekkel egyedek egyenl�s�g�t �s k�l�nb�z�s�g�t deklar�lhatjuk.
MEGJEGYZ�S: Ebben a p�ld�ban t�rt�netesen most csak felsorol�sokat haszn�ltunk, hogy �tl�that�v� tegy�k ennek a nyelvi konstrukci�nak a jelent�s�t. �letszer�bb p�ld�kat tal�lhat azonban az olvas� az [OWL �tmutat�] dokumentumban.
MEGJEGYZ�S: Az OWL Lite-nak vannak bizonyos korl�tai az
owl:intersectionOf
haszn�lat�ban. A 3.2.3 szekci�ban k�s�bb m�g sz�lunk err�l.
Az owl:intersectionOf
a konjunkci� (logikai �S) m�veletnek
felel meg.
Az owl:unionOf egy
be�p�tett OWL tulajdons�g, mely egy oszt�lyt kapcsol egy oszt�lyle�r�s-list�hoz. Az
owl:unionOf
konstrukci� egy olyan oszt�lyt �r le, amelynek a
kiterjed�se pontosan azokb�l az egyedekb�l �ll, amelyek a list�ban szerepl�
oszt�lyle�r�sok kiterjed�seinek legal�bb egyik�ben szerepelnek.
P�lda:
<owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Tosca" /> <owl:Thing rdf:about="#Salome" /> </owl:oneOf> </owl:Class> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Turandot" /> <owl:Thing rdf:about="#Tosca" /> </owl:oneOf> </owl:Class> </owl:unionOf> </owl:Class>
Ez az oszt�lyle�r�s egy olyan oszt�lyt �r le, amelynek a kiterjed�se h�rom
egyedet tartalmaz, nevezetesen a Tosca
, Salome
, �s
Turandot
egyedet (felt�telezve, hogy ezek mind k�l�nb�z�ek).
MEGJEGYZ�S: az owl:unionOf
nem haszn�lhat� az
OWL Lite-ban.
Az owl:unionOf
a diszjunkci� (logikai VAGY) m�veletnek felel
meg.
Az owl:complementOf
be�p�tett OWL tulajdons�g egy oszt�lyt �s egy oszt�lyle�r�st kapcsol �ssze. Az
owl:complementOf
konstrukci� egy olyan oszt�lyt �r le, amelynek
a kiterjed�se pontosan azokb�l az egyedekb�l �ll, amelyek nem
tartoznak annak az oszt�lyle�r�snak a kiterjed�s�hez, amelyet a kijelent�s
t�rgyak�nt adunk meg. Az owl:complementOf
a neg�ci� (logikai
NEM) m�veletnek felel meg, hiszen azon egyedeket adja eredm�ny�l, amelyek NEM
tartoznak a t�rgyban megnevezett oszt�lyhoz.
J� p�lda lehet a komplementer oszt�lyra a "not meat" (nem h�s) oszt�ly, amelynek le�r�s�t az al�bbi k�dr�szlet mutatja be:
<owl:Class> <owl:complementOf> <owl:Class rdf:about="#Meat"/> </owl:complementOf> </owl:Class>
Ennek az oszt�lyle�r�snak a kiterjed�se mindazon egyedeket tartalmazza, amelyek nem tartoznak a Meat (H�s) oszt�lyhoz.
MEGJEGYZ�S: az owl:complementOf
nem haszn�lhat�
az OWL Lite-ban.
Az oszt�lyle�r�sok alkotj�k azokat az �p�t�k�veket, amelyekb�l
oszt�lyaxi�m�k seg�ts�g�vel oszt�lyokat defin�lhatunk. Az oszt�lyaxi�m�k
legegyszer�bb form�ja az els� t�pus� oszt�lyle�r�s, mely csup�n az oszt�ly
l�t�t �s azonos�t� nev�t deklar�lja az owl:Class
konstruktor seg�ts�g�vel.
Az al�bbi p�lda egy oszt�lyaxi�m�t �br�zol, amelyben egy OWL oszt�lyt a
"Human"
n�vvel azonos�tunk [itt, az eredeti angol sz�vegben nem
kompatibilis a p�lda �s a magyar�zata, ez�rt a magyar�zatot �rtelemszer�en
m�dos�tottuk – a ford.]:
<owl:Class rdf:ID="Human"/>
Ez egy teljesen szab�lyos OWL mondat, de nem sokat �rul el nek�nk a Human oszt�lyr�l. Az oszt�lyaxi�m�k �ltal�ban tov�bbi komponenseket is tartalmaznak, amelyek megadj�k egy oszt�ly sz�ks�ges �s/vagy el�gs�ges jellemz�it. Az OWL h�rom olyan nyelvi konstrukci�t tartalmaz, amelyekkel az oszt�lyle�r�sok oszt�lyaxi�m�kk� kombin�lhat�k:
rdfs:subClassOf
seg�ts�g�vel azt jelenthetj�k ki, hogy egy oszt�lyle�r�s kiterjed�se egy
m�sik oszt�lyle�r�s kiterjed�s�nek a r�szhalmaza.owl:equivalentClass
�tj�n azt mondhatjuk ki, hogy egy oszt�lyle�r�s kiterjed�se azonos egy
m�sik oszt�lyle�r�s kiterjed�s�vel.owl:disjointWith
haszn�lat�val azt deklar�lhatjuk, hogy egy oszt�lyle�r�s kiterjed�s�ben
nincs egyetlen olyan egyed sem, mely egy m�sik megadott oszt�lyle�r�s
kiterjed�s�ben is szerepel (azaz nincsenek k�z�s egyedeik).Szintaktikailag ezek a nyelvi konstrukci�k olyan tulajdons�gok, amelyeknek az �rv�nyess�gi k�re �s az �rt�ktartom�nya is oszt�lyle�r�s. (Az al�bbi alszekci�kban r�szletesen t�rgyaljuk ezeket a tulajdons�gokat).
Az OWL megenged olyan oszt�lyaxi�m�kat is, amelyekben a felsorol�s t�pus�
�s a halmazoper�toros t�pus� oszt�lyle�r�soknak nevet adunk. Az ilyen
oszt�lyaxi�m�k szemantikailag egyen�rt�k�ek azokkal az oszt�lyaxi�m�kkal,
amelyekben az owl:equivalentClass
�ll�tm�nyt haszn�ljuk. Erre
k�s�bb m�g visszat�r�nk a 3.2.3 Axi�m�k komplett
oszt�lyokhoz owl:equivalentClass haszn�lata n�lk�l c�m� szekci�ban).
AZ AXI�MA S�M�JA: oszt�lyle�r�s
rdfs:subClassOf
oszt�lyle�r�s
Az rdfs:subClassOf
konstrukci�t az RDF S�ma [RDF Sz�k�szlet] r�szek�nt defini�lt�k,
de a jelent�se az OWL-ban is pontosan ugyanaz: ha a C1 oszt�lyle�r�st a C2
oszt�lyle�r�s aloszt�ly�nak defini�ltuk, akkor akkor a C1 oszt�lykiterjed�s�t
alkot� egyedek halmaza a C2 oszt�lykiterjed�s�t alkot� egyedek halmaz�nak a
r�szhalmaza kell hogy legyen. Egy oszt�ly, �rtelemszer�en, egyben �nmag�nak a
r�szhalmaza is (minthogy egy teljes halmaz is lehet r�szhalmaz).
P�lda:
<owl:Class rdf:ID="Opera"> <rdfs:subClassOf rdf:resource="#MusicalWork" /> </owl:Class>
Ez az oszt�lyaxi�ma egy "aloszt�ly" viszonyt deklar�lt k�t olyan OWL
oszt�ly k�z�tt, amelyek a nev�kkel vannak le�rva. Ez a k�t oszt�ly az
Opera
�s a MusicalWork
(Opera, illetve Zenem�). Az
aloszt�lyrel�ci� biztos�tja a sz�ks�ges felt�telt ahhoz, hogy egy
oszt�lyhoz tartoz�st deklar�ljon. A p�ld�b�l l�that�: ahhoz, hogy valami
Opera legyen, Zenem�nek kell lennie.
Megjegyz�s: Az OWL Lite-ban az rdfs:subClassOf
kijelent�s alany�nak oszt�lyazonos�t�nak kell lennie, a t�rgya pedig
oszt�lyazonos�t� vagy tulajdons�gkorl�toz�s lehet.
Egyetlen oszt�ly sz�m�ra tetsz�leges sz�m� subClassOf axi�m�t adhatunk meg. Az Opera oszt�lyra p�ld�ul megadhatjuk az al�bbi axi�m�t:
<owl:Class rdf:about="#Opera"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasLibrettist" /> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
Ez az oszt�lyaxi�ma egy tulajdons�gkorl�toz�st tartalmaz. L�v�n, hogy az
owl:Restriction
egy be�p�tett OWL
oszt�ly (az owl:Class
aloszt�lya), a fenti p�ld�ban azt
jelentj�k ki, hogy az Opera egy olyan n�vtelen OWL oszt�lynak az aloszt�lya,
amelynek kiterjed�se azon egyedek halmaza, amelyek hasLibrettist
tulajdons�ga legal�bb egy �rt�kkel rendelkezik. Ez t�m�ren azt akarja
kifejezni, hogy az opera olyan valami, aminek legal�bb egy sz�vegk�nyv�r�ja
van.
Az oszt�lyaxi�m�k bonyolultabbakk� v�lhatnak, ha az oszt�lyle�r�sok
egym�sba �gyaz�dnak. P�ld�ul: az olyan t�pus� tulajdons�gkorl�toz�sok,
amelyek owl:allValuesFrom
vagy
owl:someValuesFrom
�ll�tm�nyt
tartalmaznak, b�rmilyen oszt�lyle�r�sra mutathatnak. Figyelj�k meg az al�bbi
p�ld�t:
<owl:Class rdf:ID="TraditionalItalianOpera"> <rdfs:subClassOf rdf:resource="#Opera"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasOperaType"/> <owl:someValuesFrom> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#OperaSeria"/> <owl:Thing rdf:about="#OperaBuffa"/> </owl:oneOf> </owl:Class> </owl:someValuesFrom> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
Ez a p�lda egyebek k�zt bemutatja az owl:oneOf
konstrukci�
haszn�lat�t. A p�ldabeli oszt�lyaxi�ma a hagyom�nyos olasz oper�t az oper�k
olyan aloszt�lyak�nt defini�lja, amelyek "operaT�pusa" vagy
KomolyOpera vagy V�gopera. (Ha nem alkalmazunk k�l�n
kardinalit�skorl�toz�st, akkor az "operaT�pusa" tulajdons�g mindk�t �rt�ket
megkaphatja). Tov�bbi p�ld�k tal�lhat�k az [OWL �tmutat�] dokumentumban.
Az aloszt�ly-axi�m�k csak r�szbeni defin�ci�kat szolg�ltatnak, ugyanis
ezek csak a sz�ks�ges, de nem az el�gs�ges felt�telt biztos�tj�k
ahhoz, hogy valamely egyed oszt�lytags�g�t egy�rtelm�en meg�llap�thassuk. A
k�vetkez� alszekci�ban l�tni fogjuk, hogy a sz�ks�ges �s el�gs�ges
felt�tel defini�l�s�hoz az OWL rendelkezik egy owl:equivalentClass
konstrukci�val. Ugr�deszkak�nt az ilyen axi�m�khoz, tekints�k a k�vetkez�
p�ld�t:
<owl:Class rdf:ID="Operetta"> <rdfs:subClassOf rdf:resource="#MusicalWork"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasLibrettist" /> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Class> <owl:complementOf rdf:resource="#Opera"/> </owl:Class> </rdfs:subClassOf> </owl:Class>
Ez az oszt�lyaxi�ma �gy defini�lja az Operettet, hogy az egy Zenem�,
amelynek legal�bb egy sz�vegk�nyv�r�ja van, de nem Opera. Az "aloszt�ly"
rel�ci� haszn�lata nyitva hagyja azt a lehet�s�get, hogy vannak m�s zenem�vek
is, amelyeknek van egy sz�vegk�nyv�r�juk, �s nem oper�k. Ha azt akarn�nk
mondani, hogy az operettek pontosan �s kiz�r�lag azok a zenem�vek,
amelyeknek van sz�vegk�nyv�r�juk, de nem oper�k, akkor sz�ks�g�nk lenne az owl:equivalentClass
konstrukci�ra is.
AZ AXI�MA S�M�JA: oszt�lyle�r�s
owl:equivalentClass
oszt�lyle�r�s
Egy oszt�lyaxi�ma t�bb owl:equivalentClass
�ll�t�st is tartalmazhat. Az owl:equivalentClass
egy be�p�tett
tulajdons�g, mely egy oszt�lyle�r�st egy m�sik oszt�lyle�r�shoz kapcsol. Az
ilyen oszt�lyaxi�ma jelent�se az, hogy a benne szerepl� k�t oszt�lyle�r�snak
ugyanaz a kiterjed�se (vagyis, hogy pontosan ugyanazokat az egyedeket
tartalmazza).
Az equivalentClass t�pus� axi�ma legegyszer�bb form�ja az, amikor k�t neves�tett oszt�ly k�z�tt deklar�l (a kiterjed�s�kre vonatkoz�an) egyen�rt�k�s�get. Egy p�lda erre:
<owl:Class rdf:about="#AzEgyes�lt�llamokEln�ke"> <equivalentClass rdf:resource="#AFeh�rH�zLegfontosabbLak�ja"/> </owl:Class>
MEGJEGYZ�S: Az owl:equivalentClass
kifejez�s nem
jelenti k�t oszt�ly egyenl�s�g�t. K�t oszt�ly egyenl�s�ge ugyanis
azt jelenti, hogy azonos az intenzion�lis jelent�s�k (ugyanazt a fogalmat
jel�lik). A fenti p�ld�ban az "Egyes�lt �llamok eln�ke" fogalom �sszef�gg
ugyan azzal a fogalommal, hogy a "Feh�r H�z legfontosabb lak�ja", de nem
egyenl� vele. Egy �llam eln�k�nek a fogalma, �s az a fogalom, hogy valaki egy
bizonyos �p�let legfontosabb lak�ja, nem lehet azonos. (Itt csup�n az a k�t
egyed azonos, aki a fenti p�ld�ban szerepl� k�t, egyf�s oszt�lynak a
k�z�s tagja: az eln�k szem�lye). A t�nyleges oszt�lyazonoss�got csak
az owl:sameAs
konstrukci�val tudjuk
deklar�lni. Minthogy azonban ez azt ig�nyli, hogy oszt�lyokat egyedk�nt is
kezelhess�nk, az ilyen egyenl�s�get csak az OWL Full-ban tudjuk kifejezni.
Az owl:equivalentClass
seg�ts�g�vel fel�p�tett axi�ma
alkalmas felsorol�soszt�lyok defini�l�s�ra is oly m�don, hogy egy 1. t�pus�
oszt�lyle�r�st (oszt�lyazonos�t�t) egy 2. t�pus� oszt�lyle�r�shoz
(felsorol�shoz) kapcsol. Egy p�lda erre:
<owl:Class rdf:ID="DaPonteOperaOfMozart"> <owl:equivalentClass> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <Opera rdf:about="#Nozze_di_Figaro"/> <Opera rdf:about="#Don_Giovanni"/> <Opera rdf:about="#Cosi_fan_tutte"/> </owl:oneOf> </owl:Class> </owl:equivalentClass> </owl:Class>
Ez az axi�ma olyan oper�k oszt�ly�t defini�lja
DaPonteOperaOfMozart
n�ven, amelyek sz�veg�r�ja Da Ponte,
zeneszerz�je pedig Mozart (ez a zenetudom�ny egyik �rdekes t�m�ja). Az
equivalentClass konstrukci�val meg tudjuk adni a fenti oszt�lyhoz val�
tartoz�s sz�ks�ges �s elegend� felt�teleit, amit ebben az esetben a h�rom
t�nyleges egyed egyszer� felsorol�sa reprezent�l.
MEGJEGYZ�S: Az OWL DL semmilyen m�don nem korl�tozza azoknak
az oszt�lyle�r�soknak a t�pus�t, amelyek egy owl:equivalentClass
kijelent�s alanyai, illetve t�rgyai lehetnek. Az OWL Lite-ban azonban az
alanynak oszt�lyn�vnek kell lennie, a t�rgy pedig lehet ak�r oszt�lyn�v, ak�r
tulajdons�gkorl�toz�s.
MEGJEGYZ�S: Hab�r egy equivalentClass alanyak�nt tulajdonk�ppen k�l�nb�z� t�pus� oszt�lyle�r�sok is megadhat�k, a gyakorlatban ez �ltal�ban egy oszt�lyazonos�t� szokott lenni. Ez a jelen szekci� p�ld�ira is is jellemz�.
Egy oszt�ly defini�l�s�ban alkalmazhatunk t�bb equivalentClass t�pus� oszt�lyaxi�m�t is. Ilyenkor azonban vigy�zni kell! Mindegyik axi�m�nak ugyanazt a v�geredm�nyt (ugyanazt a kiterjed�st) kell produk�lnia. P�ld�ul, a Mozart Da Ponte oper�it le�r� alternat�v equivalentClass axi�ma az al�bbi is lehetne:
<owl:Class rdf:about="#DaPonteOperaOfMozart"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty rdf:resource="#hasComposer"/> <owl:hasValue rdf:resource="#Wolfgang_Amadeus_Mozart"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#hasLibrettist"/> <owl:hasValue rdf:resource="#Lorenzo_Da_Ponte"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class>
Ez az axi�ma azt �llap�tja meg, hogy a DaPonteOperaOfMozart
oszt�ly kiterjed�se pontosan azokb�l az oper�kb�l �ll, amelyek komponist�ja
Mozart, �s a sz�veg�r�ja Lorenzo Da Ponte (intersection = metszet =
�S). Ez az axi�ma teh�t egy olyan oszt�lyt defini�l, amelynek ugyanazok az
egyedei, mint az el�z� p�ld�ban szerepl� oszt�ly�.
MEGJEGYZ�S: Ha az "A subClassOf B" t�pus� axi�m�t egy "A equivalentClass B" t�pus� axi�m�v� k�v�nn�nk "feljav�tani" (ami azt mondan� ki, hogy A kiterjed�se nem ak�rmilyen r�szhalmaz, hanem B kiterjed�s�vel azonos halmaz), akkor kieg�sz�thetn�nk egy m�sodik axi�m�val (ez�ttal "B subClassOf A" form�ban), mely egy�tt, a k�t oszt�lyt �rtelemszer�en egyen�rt�k�v� tenn� (vagyis ugyanazt jelenten�, mint "A equivalentClass B"). A nyelv explicite lehet�v� teszi ilyen k�lcs�n�s aloszt�lyrel�ci�k alkalmaz�s�t. Minthogy az OWL elosztott k�rnyezetben is haszn�lhat�, ez egy nagyon hasznos opci� lehet.
AZ AXI�MA S�M�JA: Egy 2. t�pus� neves�tett
oszt�lyle�r�s (owl:oneOf
�ll�tm�nnyal), vagy pedig egy
4-6. t�pus� neves�tett oszt�lyle�r�s
(owl:intersectionOf
, owl:unionOf
vagy
owl:complementOf
�ll�tm�nnyal).
Az OWL lehet�v� teszi, hogy a felhaszn�l� egy oszt�lyaxi�m�t defini�ljon �gy, hogy oszt�lynevet rendel egy felsorol�s t�pus� vagy egy halmazm�velet t�pus� oszt�lyle�r�shoz. Az ilyen oszt�lyaxi�ma sz�ks�ges �s elegend� felt�telt biztos�t az oszt�lyhoz tartoz�s meg�llap�t�s�ra. Egy kor�bbr�l kiss� m�r ismert p�lda erre:
<owl:Class rdf:ID="DaPonteOperaOfMozart"> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Nozze_di_Figaro"/> <owl:Thing rdf:about="#Don_Giovanni"/> <owl:Thing rdf:about="#Cosi_fan_tutte"/> </owl:oneOf> </owl:Class>
Ezt az oszt�lyaxi�m�t �gy kell �rtelmezn�nk, hogy a DaPonteOperaOfMozart oszt�ly kiterjed�s�t pontosan �s v�glegesen defini�lja a megadott felsorol�s.
Ez az oszt�lyaxi�ma szemantikailag egyen�rt�k� az el�z� szekci� els� opera
p�ld�j�val, amelyik m�g egy owl:equivalentClass
�ll�tm�nyt is
tartalmazott. Ilyen axi�m�t az owl:intersectionOf
, az
owl:unionOf
�s az
owl:complementOf
�ll�tm�nnyal
is
el��ll�thatunk. Egy p�lda az uni� alkalmaz�s�val:
<owl:Class rdf:ID="LivingBeing"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Plant"/> <owl:Class rdf:about="#Animal"/> </owl:unionOf> </owl:Class>
Ez az oszt�lyaxi�ma azt jelenti ki, hogy az �l�l�ny
(LivingBeing
) oszt�ly kiterjed�se megegyezik a N�v�ny �s az
�llat (Plant
�s Animal
) oszt�ly kiterjed�s�nek
uni�j�val.
MEGJEGYZ�S: Az OWL Lite csak ilyen t�pus� oszt�lyaxi�m�kat
ismer, amelyeket az owl:intersectionOf
tulajdons�ggal
konstru�lunk. Itt az intersectionOf list�j�nak �rt�kei csak oszt�lyazonos�t�k
�s/vagy tulajdons�gkorl�toz�sok lehetnek. �gy teh�t komplett
oszt�lyt defini�l� axi�m�k (mint a felsorol�s, a komplemens �s az uni�)
az OWL Lite-ban nem alkalmazhat�k.
AZ AXI�MA S�M�JA: class description
owl:disjointWith
class description
Egy oszt�lyaxi�ma (t�bb) owl:disjointWith
(diszjunkt/idegen oszt�ly) �ll�t�st tartalmazhat. Az
owl:disjointWith
egy be�p�tett tulajdons�g, amelynek
�rv�nyess�gi k�re �s �rt�ktartom�nya egy-egy oszt�lyle�r�s. Minden egyes
owl:disjointWith
�ll�tm�ny azt jelenti ki, hogy az �ll�t�sban
szerepl� k�t oszt�lyle�r�s kiterjed�s�ben nincsenek k�z�s egyedek. Ugyan�gy,
mint egy "aloszt�ly" viszony deklar�l�sa (rdfs:subClassOf
), a
"diszjunkt" viszony deklar�l�sa (owl:disjointWith
) is csak
parci�lis defin�ci�t eredm�nyez. Ez is csak a sz�ks�ges, de nem az el�gs�ges
felt�telt szolg�ltatja az oszt�lyhoz tartoz�s meg�llap�t�s�hoz.
Egy n�pszer� p�lda diszjunkt oszt�lyokra:
<owl:Class rdf:about="#Man"> <owl:disjointWith rdf:resource="#Woman"/> </owl:Class>
Hogy ez az �ll�t�s t�nylegesen igaz-e, annak eld�nt�se a biol�gusokra tartozik. A k�vetkez� p�lda aloszt�ly-hierarchi�kon mutatja be a diszjunktivit�s egyszer� alkalmaz�s�t:
<owl:Class rdf:about="#MusicDrama"> <owl:equivalentClass> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Opera"/> <owl:Class rdf:about="#Operetta"/> <owl:Class rdf:about="#Musical"/> </owl:unionOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="#Opera"> <rdfs:subClassOf rdf:resource="#MusicDrama"/> </owl:Class> <owl:Class rdf:about="#Operetta"> <rdfs:subClassOf rdf:resource="#MusicDrama"/> <owl:disjointWith rdf:resource="#Opera"/> </owl:Class> <owl:Class rdf:about="#Musical"> <rdfs:subClassOf rdf:resource="#MusicDrama"/> <owl:disjointWith rdf:resource="#Opera"/> <owl:disjointWith rdf:resource="#Operetta"/> </owl:Class>
Itt az owl:disjointWith
�ll�t�st a owl:unionOf
�ll�t�ssal egy�tt haszn�ltuk
annak �rdek�ben, hogy defini�lhassuk egy f�oszt�ly k�lcs�n�sen diszjunkt �s
komplett aloszt�lyait. Term�szetes nyelven fogalmazva, itt azt mondtuk ki:
miden Zenedr�ma vagy Opera, vagy Operett, vagy Musical (az oszt�lyok
sz�tv�laszt�sa teljes), �s hogy azok az egyedek, amelyek az
egyik aloszt�lyhoz (pl. Opera) tartoznak, nem tartozhatnak m�s aloszt�lyhoz
is (mint pl. Musical), vagyis, ezek diszjunkt, nem �tfed� aloszt�lyok. Ez egy
�ltal�nosan ismert modellez�si fogalom, amelyet sok adatmodellez� nyelvben
alkalmaznak.
MEGJEGYZ�S: Az OWL Lite nem enged�lyezi az
owl:disjointWith
haszn�lat�t.
Az OWL a tulajdons�gok k�t kateg�ri�j�t k�l�nb�zteti meg, amelyeket az ontol�giafejleszt� haszn�lhat:
MEGJEGYZ�S: Az OWL haszn�l olyan fogalmakat is, mint
annot�ci�tulajdons�g (owl:AnnotationProperty
) �s
ontol�giatulajdons�g (owl:OntologyProperty
). Ezeket az
OWL DL ig�nyli, szemantikai okokb�l. L�sd a 7.
szekci�ban, valamint az OWL Szemantika �s absztrakt szintaxis [OWL Sz&ASz] dokumentumban.
Egy objektumtulajdons�got az owl:ObjectProperty
nev� be�p�tett OWL oszt�ly tagjak�nt, egy adatt�pus-tulajdons�got pedig az owl:DatatypeProperty
tagjak�nt defini�lhatunk. Mind az owl:ObjectProperty
, mind az
owl:DatatypeProperty
az rdf:Property
nev� RDF
oszt�ly tagja (l�sd a B. f�ggel�kben).
MEGJEGYZ�S: Az OWL Full-ban az objektumtulajdons�gok �s az
adatt�pus-tulajdons�gok nem alkotnak diszjunkt halmazokat. Mivel itt az
adat�rt�kek egyedk�nt kezelhet�k, az adatt�pus-tulajdons�g l�nyeg�ben az
objektumtulajdons�g aloszt�lyak�nt funkcion�l. Az OWL Full-ban az
owl:ObjectProperty
gyakorlatilag egyen�rt�k� az
rdf:Property
-vel; ez f�leg az owl:InverseFunctionalProperty
haszn�lata eset�n j�r k�vetkezm�nyekkel. L�sd az OWL Full jellemz�s�t a 8.1 szekci�ban.
Egy tulajdons�gaxi�ma egy tulajdons�g jellemz�it defini�lja. A tulajdons�gaxi�ma a legegyszer�bb form�j�ban csup�n a tulajdons�g l�t�t defini�lja. P�ld�ul:
<owl:ObjectProperty rdf:ID="hasParent"/>
Ez a p�lda egy tulajdons�got defini�l azzal a kik�t�ssel, hogy annak �rt�kei csak oszt�lyok egyedei lehetnek.
A tulajdons�gaxi�m�k azonban t�bbnyire egy�b jellemz�ket is megadnak a tulajdons�gok le�r�s�n�l. Az OWL az al�bbi konstruktorokat ny�jtja a tulajdons�gaxi�m�k defini�l�s�hoz:
rdfs:subPropertyOf
,
rdfs:domain
�s rdfs:range
owl:equivalentProperty
�s owl:inverseOf
owl:FunctionalProperty
�s
owl:InverseFunctionalProperty
owl:SymmetricProperty
�s
owl:TransitiveProperty
Az al�bbi alszekci�kban r�szletesen t�rgyaljuk a k�l�nf�le tulajdons�gaxi�m�kat.
MEGJEGYZ�S: Ebben a szekci�ban az "oszt�lykiterjed�s" fogalm�hoz hasonl�an haszn�ljuk a "tulajdons�gkiterjed�s" fogalm�t. A tulajdons�g kiterjed�se a tulajdons�g azon eseteinek (el�fordul�sainak) a halmaza, amelyek a tulajdons�ghoz kapcsol�dnak. Egy tulajdons�g esetei nem egyed�l�ll� elemek, hanem a tulajdons�ghoz (mint �ll�tm�nyhoz) tartoz� alany-t�rgy p�rok. (A rel�ci�s adatb�zisok fogalomk�r�ben a tulajdons�g eseteit egy bin�ris rel�ci� – azaz tulajdons�g – tuple-jainak nevezn�nk.)
Az ebben a szekci�ban szerepl� konstrukci�kat az RDF S�ma [RDF Sz�k�szlet] r�szletesen t�rgyalja. Ez a szekci� ez�rt ink�bb csak a konstrukci�k szinopszis�t �s OWL-specifikus aspektusait ismerteti.
Egy rdfs:subPropertyOf
axi�ma azt defini�lja, hogy egy
tulajdons�g egy m�siknak altulajdons�ga. Form�lisan ez azt jelenti, hogy ha
P1 altulajdons�ga P2-nek, akkor P1 kiterjed�se (alany-�ll�tm�ny p�rjainak
halmaza) P2 hasonl� p�rokb�l �ll� kiterjed�s�nek a r�szhalmaza.
P�lda:
<owl:ObjectProperty rdf:ID="hasMother"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> </owl:ObjectProperty>
Ez azt �llap�tja meg, hogy a "anyja" (hasMother) tulajdons�g kiterjed�s�ben el�fordul� elemek (p�rok) egyben a "sz�l�je" (hasParent) tulajdons�g kiterjed�s�nek elemei is.
Az altulajdons�g-axi�m�k mind adatt�pus-tulajdons�gokhoz, mind objektumtulajdons�gokhoz alkalmazhat�k.
MEGJEGYZ�S: Az OWL DL-ben egy altulajdons�g-axi�m�nak az alanya �s t�rgya csak azonos t�pus� tulajdons�g (vagy adatt�pus-tulajdons�g, vagy objektumtulajdons�g) lehet.
Egy tulajdons�g sz�m�ra egy vagy t�bb rdfs:domain
("�rv�nyess�gi k�re") axi�m�t defini�lhatunk. Szintaktikailag az
rdfs:domain
egy be�p�tett tulajdons�g, mely egy tulajdons�got,
az rdf:Property
oszt�ly valamelyik eset�t, egy oszt�lyle�r�shoz kapcsolja. Egy
rdfs:domain
axi�ma azt jelenti ki, hogy az ilyen
tulajdons�gaxi�m�k alanyainak a megadott oszt�lyle�r�s kiterjed�s�hez kell
tartozniuk.
T�bb rdfs:domain
axi�ma is megadhat� ugyanarra a
tulajdons�gra, amelyeket �gy kell �rtelmezni, hogy konjunkci�t alkotnak:
vagyis, a tulajdons�g �rv�nyess�gi k�r�t azokra az egyedekre korl�tozz�k,
amelyek az egyes rdfs:domain
oszt�lyaxi�m�k metszet�hez
tartoznak. Ha azt akarn�nk kifejezni, hogy egy tulajdons�g �rv�nyess�gi k�re
t�bb oszt�lyra terjed ki, akkor egy owl:unionOf
t�pus� oszt�lyle�r�st
kellene haszn�lnunk. P�ld�ul: ha azt akarn�nk kifejezni, hogy a
"banksz�ml�ja" (hasBankAccount
) tulajdons�g egyar�nt �rv�nyes a
"V�llalat" (Corporation
) oszt�lyban �s a "Szem�ly"
(Person
) oszt�lyban, akkor ilyen kijelent�seket kellene
tenn�nk:
<owl:ObjectProperty rdf:ID="hasBankAccount"> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Person"/> <owl:Class rdf:about="#Corporation"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:ObjectProperty>
MEGJEGYZ�S: Az OWL Lite-ban az rdfs:domain
tulajdons�g �rt�ke csak oszt�lyazonos�t� lehet.
Egy tulajdons�g sz�m�ra egy vagy t�bb rdfs:range
("�rt�ktartom�nya") axi�m�t defini�lhatunk. Szintaktikailag az
rdfs:range
egy be�p�tett tulajdons�g, mely egy tulajdons�got, az
rdf:Property
oszt�ly valamelyik eset�t, egy oszt�lyle�r�shoz vagy egy adat�rt�k-tartom�nyhoz kapcsolja. Egy
rdfs:range
axi�ma azt jelenti ki, hogy az adott tulajdons�g
lehets�ges �rt�keinek a megadott oszt�lyle�r�s kiterjed�s�hez, vagy a
megadott adat�rt�k-tartom�nyhoz kell tartozniuk.
Ha t�bb rdfs:range
t�pus� korl�toz�st adunk meg ugyanarra a
tulajdons�gra, akkor ezzel azt jelentj�k ki, hogy a tulajdons�g
�rt�ktartom�nya a megadott �rt�ktartom�nyok metszete (oszt�lyle�r�sok
kiterjed�s�nek a metszete, vagy adat�rt�k-tartom�nyok metszete) legyen. Az rdfs:domain
-hez hasonl�an t�bb alternat�v
�rt�ktartom�nyt specifik�lhatunk egy owl:unionOf
t�pus� oszt�lyle�r�s
keret�ben is (l�sd a p�ld�t az el�z� szekci�ban).
Figyelj�k meg, hogy – szemben az �sszes �rt�kkorl�toz�ssal, amelyet az
oszt�lyle�r�sokr�l sz�l� szekci�ban t�rgyaltunk – az
rdfs:range
korl�toz�sok glob�lisak. Az olyan
�rt�kkorl�toz�sokat, mint az owl:allValuesFrom
, csak az
oszt�lyle�r�sokban haszn�ljuk, �s csak akkor hat�lyosak az adott
tulajdons�gra, amikor a le�rt oszt�ly egyedeivel kapcsolatban haszn�ljuk
�ket. Az rdfs:range
viszont mindig �rv�nyes az adott
tulajdons�gra, f�ggetlen�l att�l, hogy melyik oszt�ly egyedeire alkalmazzuk.
Ez�rt az rdfs:range
haszn�lata �vatoss�got ig�nyel.
MEGJEGYZ�S: Az OWL Lite-ban az rdfs:range
t�rgyak�nt kiz�r�lag oszt�lyneveket haszn�lhatunk.
Az owl:equivalentProperty
("egyen�rt�k� tulajdons�g") konstrukci� seg�ts�g�vel azt fejezhetj�k ki, hogy
k�t tulajdons�gnak ugyanaz a tulajdons�gkiterjed�se. Szintaktikailag az
owl:equivalentProperty
egy be�p�tett OWL tulajdons�g, amelynek
az �rv�nyess�gi k�re �s �rt�ktartom�nya egyar�nt az rdf:Property
oszt�ly.
MEGJEGYZ�S: A tulajdons�gok egyen�rt�k�s�ge nem azonos a
tulajdons�gok egyenl�s�g�vel. Az egyen�rt�k� tulajdons�goknak ugyanaz az
"�rt�k�k" (ugyanaz a kiterjed�s�k), de az intenzion�lis jelent�s�k k�l�nb�z�
lehet (k�l�nb�z� fogalmakat jel�lhetnek). A tulajdons�gok egyenl�s�g�t az owl:sameAs
konstrukci�val deklar�lhatjuk.
De mivel ez megk�veteli, hogy tulajdons�gokat egyedk�nt is kezelhess�nk, az
ilyen axi�m�k csak az OWL Full-ban haszn�lhat�k.
A tulajdons�goknak ir�nyuk van, mely az �rv�nyess�gi k�rt�l az �rt�ktartom�ny fel� mutat. A gyakorlatban azonban hasznos lehet, ha mindk�t ir�nyban defini�lhatunk tulajdons�gokat: pl. �rvezet� "g�pkocsija", illetve G�pkocsi "tulajdonosa". Az owl:inverseOf konstrukci�t haszn�ljuk az ilyen ford�tott vagy inverz tulajdons�g defini�l�s�ra (inform�lisan �rva: "g�pkocsija" inverseOf "tulajdonosa").
Szintaktikailag az owl:inverseOf
egy be�p�tett OWL
tulajdons�g, amelynek az �rv�nyess�gi k�re �s �rt�ktartom�nya egyar�nt az
owl:ObjectProperty
oszt�ly. Egy "P1 owl:inverseOf
P2
" form�tum� axi�ma azt deklar�lja, hogy a P1
tulajdons�g kiterjed�s�nek minden (x,y) p�rja sz�m�ra
l�tezik egy (y,x) p�r a P2 tulajdons�g kiterjed�s�ben, �s
megford�tva. Az owl:inverseOf
teh�t egy szimmetrikus
tulajdons�g. Az al�bbi p�lda azt deklar�lja, hogy a "gyermeke"
(hasChild
) tulajdons�g a "sz�l�je" (hasParent
)
tulajdons�g ford�tottja:
<owl:ObjectProperty rdf:ID="hasChild"> <owl:inverseOf rdf:resource="#hasParent"/> </owl:ObjectProperty>
A funkcion�lis tulajdons�g olyan speci�lis tulajdons�g, amelynek csak
egyetlen (azaz: egyed�l�ll�) y �rt�ke lehet minden x egyed
sz�m�ra. Vagyis, nem l�tezhet k�t olyan k�l�nb�z� y1 �s y2
�rt�k �gy, hogy mind az (x,y1), mind az (x,y2) p�r ennek a
tulajdons�gnak az esete lenne. Mind az objektumtulajdons�gokat, mind az
adatt�pus-tulajdons�gokat deklar�lhatjuk funkcion�lisnak. Erre a c�lra az OWL
defini�l egy owl:FunctionalProperty
nev� be�p�tett oszt�lyt, mely az rdf:Property
RDF oszt�ly
speci�lis aloszt�lya.
Az al�bbi axi�ma kijelenti, hogy a "f�rje" (husband) tulajdons�g funkcion�lis, vagyis, hogy egy Asszonynak (Woman) legfeljebb egy f�rje lehet (ez egyben j� p�lda az ontol�gi�knak a k�l�nb�z� kult�r�kt�l val� f�gg�s�g�re is):
<owl:ObjectProperty rdf:ID="husband"> <rdf:type rdf:resource="&owl;FunctionalProperty" /> <rdfs:domain rdf:resource="#Woman" /> <rdfs:range rdf:resource="#Man" /> </owl:ObjectProperty>
Mint �ltal�ban, itt is vari�lhat� a szintaxis. A fenti defin�ci� szemantikailag ekvivalens az al�bbival:
<owl:ObjectProperty rdf:ID="husband"> <rdfs:domain rdf:resource="#Woman" /> <rdfs:range rdf:resource="#Man" /> </owl:ObjectProperty> <owl:FunctionalProperty rdf:about="#husband" />
Ha egy tulajdons�got ford�tott funkcion�lisnak deklar�lunk, akkor a tulajdons�ggal megfogalmazott �ll�t�s t�rgya egy�rtelm�en meghat�rozza az alanyt (valamilyen egyedet). Form�lisabban fogalmazva: ha kijelentj�k, hogy P egy ford�tott funkcion�lis tulajdons�g (Inverse Functional Property), akkor ez azt garant�lja, hogy egy y �rt�k csup�n egyetlen x egyed P tulajdons�g�nak az �rt�ke lehet, vagyis, nem l�tezhet k�t olyan k�l�nb�z�, x1 �s x2 egyed oly m�don, hogy mind az (x1,y), mind (x2,y) p�ros a P tulajdons�g esete lenne.
Egy ford�tott funkcion�lis tulajdons�gaxi�m�t szintaktikailag �gy adunk
meg, hogy az adott tulajdons�got az owl:InverseFunctionalProperty
be�p�tett OWL oszt�ly egyed�nek deklar�ljuk. Ez az oszt�ly egy�bk�nt az
owl:ObjectProperty
OWL oszt�ly aloszt�lya.
MEGJEGYZ�S: Mivel az OWL Full-ban az adatt�pus-tulajdons�gok az objektumtulajdons�gok aloszt�ly�t k�pezik, ez�rt itt a ford�tott funkcion�lis jellemz�t adatt�pus-tulajdons�gokra is alkalmazhatjuk. Az OWL DL-ben azonban az objektumtulajdons�gok �s az adatt�pus-tulajdons�gok diszjunkt halmazokat alkotnak, s �gy az adatt�pus-tulajdons�gok nem deklar�lhat�k ford�tott funkcion�lisnak. (l�sd a 8.1. szekci�ban �s a 8.2. szekci�ban is).
Egy tipikus p�lda ford�tott funkcion�lis tulajdons�gra:
<owl:InverseFunctionalProperty rdf:ID="isBiologicalMotherOf"> <rdfs:domain rdf:resource="#Woman"/> <rdfs:range rdf:resource="#Human"/> </owl:InverseFunctionalProperty>
Ez a p�lda azt mondja, hogy az "isBiologicalMother
Of"
("biol�giaiAnyja~nak") kijelent�s minden egyes t�rgya (valamelyik
Human/Ember) sz�m�ra egy�rtelm�en azonos�that� egy alany (valamelyik
Woman/Asszony). Ez�rt az ilyen tulajdons�gok eml�keztetnek az adatb�zisok
"kulcsaira", amelyek egy�rtelm�en azonos�tanak egy egyedet.
Az "egyenes" �s a ford�tott funkcion�lis tulajdons�g k�z�tti egyik k�l�nbs�g az, hogy az ut�bbi defin�ci�j�hoz nem sz�ks�ges m�g egy tov�bbi objektumtulajdons�g-axi�ma vagy adatt�pustulajdons�g-axi�ma: a ford�tott funkcion�lis tulajdons�g ugyanis eleve csak objektumtulajdons�g lehet.
Vegy�k �szre, hogy az owl:FunctionalProperty,
valamint az
owl:InverseFunctionalProperty
glob�lis kardinalit�skorl�toz�st val�s�t meg. Azaz mindegy, hogy �ppen melyik
oszt�ly egyedeit jellemezz�k vele, a korl�toz�s mindig �rv�nyben marad. Ez
teh�t k�l�nb�zik azokt�l a kardinalit�skorl�toz�sokt�l, amelyeket a Tulajdons�gkorl�toz�sok c. szekci�ban ismertett�nk.
Ezek ugyanis mind oszt�lyle�r�sok, s ez�rt csak helyileg, az �ppen le�rt
oszt�lyra �rv�nyesek.
Amikor egy P tulajdons�got tranzit�vnak deklar�lunk, ez annyit jelent, hogy ha egy (x,y) p�r �s egy (y,z) p�r is P-nek egy-egy el�fordul�sa, akkor ebb�l az k�vetkezik, hogy az (x,z) p�r szint�n egy el�fordul�sa P-nek.
Szintaktikailag egy tulajdons�got oly m�don defini�lunk tranzit�vnak, hogy
az owl:TransitiveProperty
nev� be�p�tett OWL oszt�ly egyed�v� tessz�k. (Ezt a be�p�tett OWL oszt�lyt az
owl:ObjectProperty
aloszt�lyak�nt defini�lja az OWL nyelv.)
A tranzit�v tulajdons�gok tipikus p�ld�i azok a tulajdons�gok, amelyek egy
bizonyos r�sz-eg�sz rel�ci�t �br�zolnak. P�ld�ul: mondhatn�nk, hogy a
subRegionOf
(alr�gi�ja~nak) tulajdons�g r�gi�k k�z�tti
rel�ci�k�nt tranzit�v:
<owl:TransitiveProperty rdf:ID="subRegionOf"> <rdfs:domain rdf:resource="#Region"/> <rdfs:range rdf:resource="#Region"/> </owl:TransitiveProperty>
Ebb�l egy OWL k�vetkeztet�g�pnek le kell tudnia vezetni, hogy ha pl.
Chianti, Toscana �s It�lia egy-egy r�gi� (Region
), �s Chianti
alr�gi�ja (subregionOf
) Toscan�na
k
,
akkor Chianti alr�gi�ja It�li�nak is.
Jegyezz�k meg, hogy mivel az owl:TransitiveProperty
oszt�ly
az owl:ObjectProperty
oszt�ly aloszt�lya, az al�bbi p�lda
egyen�rt�k� a fentivel:
<owl:ObjectProperty rdf:ID="subRegionOf"> <rdf:type rdf:resource="&owl;TransitiveProperty"/> <rdfs:domain rdf:resource="#Region"/> <rdfs:range rdf:resource="#Region"/> </owl:ObjectProperty>
MEGJEGYZ�S: Az OWL DL nem engedi meg, hogy egy tranzit�v tulajdons�gra (vagy egy ilyennek a ford�tottj�ra, szupertulajdons�g�ra, vagy a ford�tottja szupertulajdons�g�ra) ak�r lok�lis, ak�r glob�lis kardinalit�skorl�toz�st deklar�ljunk.
A szimmetrikus tulajdons�g egy olyan tulajdons�g, amelyre �rv�nyes a
k�vetkez� meg�llap�t�s: ha egy (x,y) p�r a P tulajdons�g
egyik el�fordul�sa, akkor az (y,x) p�r szint�n egy el�fordul�sa
P-nek. Szintaktikailag egy tulajdons�got �gy deklar�lunk
szimmetrikusnak, hogy azt az owl:SymmetricProperty
nev� be�p�tett OWL oszt�ly aloszt�ly�v� tessz�k. (Ezt a be�p�tett OWL
oszt�lyt az owl:ObjectProperty
aloszt�lyak�nt
defini�lja az OWL nyelv.)
A szimmetrikus tulajdons�gra n�pszer� p�lda a friendOf
(bar�tja) rel�ci�:
<owl:SymmetricProperty rdf:ID="friendOf"> <rdfs:domain rdf:resource="#Human"/> <rdfs:range rdf:resource="#Human"/> </owl:SymmetricProperty>
A szimmetrikus tulajdons�gok �rv�nyess�gi k�re �s �rt�ktartom�nya azonos.
Egyedeket un. t�nyaxi�m�kkal defini�lhatunk (ezeket n�ha egyszer�en csak "t�nyeknek" nevezz�k). A t�nyek k�t csoportj�r�l besz�lhet�nk:
A legt�bb t�ny tipikusan olyan kijelent�s, mely egyedek oszt�lytags�g�r�l (oszt�lyhoz tartoz�s�r�l), vagy a tulajdons�gaik �rt�k�r�l sz�l. P�ldak�ppen tekints�k az al�bbi kijelent�sek csokr�t, amelyben az Opera oszt�ly egyik egyed�r�l tesz�nk t�ny�ll�t�sokat.
<Opera rdf:ID="Tosca"> <hasComposer rdf:resource="#Giacomo_Puccini"/> <hasLibrettist rdf:resource="#Victorien_Sardou"/> <hasLibrettist rdf:resource="#Giuseppe_Giacosa"/> <hasLibrettist rdf:resource="#Luigi_Illica"/> <premiereDate rdf:datatype="&xsd;date">1900-01-14</premiereDate> <premierePlace rdf:resource="#Roma"/> <numberOfActs rdf:datatype="&xsd;positiveInteger">3</numberOfActs> </Opera>
Ez a p�lda ilyen t�nyeket tartalmaz a Tosc�r�l, az Opera oszt�ly egyik
egyed�r�l, mint hogy a Tosca
szerz�je Giacomo Puccini, hogy az
oper�nak h�rom sz�vegk�nyv�r�ja van (Sardou, Giacosa �s Illica) �s �gy
tov�bb. Itt a "bemutat�D�tuma" (premiereDate) tulajdons�g az oper�t egy
tipiz�lt liter�lhoz, az XML S�ma "date
" adatt�pus�hoz kapcsolja.
(Az [XML S�ma Adatt�pusok]
dokumentum tartalmazza a relev�ns inform�ci�t ennek az adatt�pusnak a
szintaxis�r�l �s szemantik�j�r�l).
A t�nyaxi�m�k nem sz�ks�gszer�en sz�lnak neves�tett egyedekr�l: n�vtelen
egyedekre is vonatkozhatnak. P�ldak�ppen n�zz�k meg az al�bbi RDF/XML
k�dr�szletet. A p�lda n�h�ny t�nyt k�z�l a M�r�s (Measurement
)
oszt�ly egy n�vtelen egyed�r�l (egy m�r�siadat-rekordr�l), ahol a m�r�shez,
mint kvantitat�v megfigyel�shez, ilyen t�nyek list�ja tartozik: a megfigyelt
alany (observedSubject
), a megfigyelt jelens�g
(observedPhenomenon
), a m�rt�kegys�g
(quantityUnit
), a megfigyelt �rt�k (QuantityValue
),
�s a megfigyel�s id�pontja (TimeStamp
).
<Measurement> <observedSubject rdf:resource="#JaneDoe"/> <observedPhenomenon rdf:resource="#Weight"/> <observedValue> <Quantity> <quantityValue rdf:datatype="&xsd;float">59.5</quantityValue> <quantityUnit rdf:resource="#Kilogram"/> </Quantity> </observedValue> <timeStamp rdf:datatype="&xsd;dateTime">2003-01-24T09:00:08+01:00</timeStamp> </Measurement>
Ez a t�nyaxi�ma k�t n�vtelen egyedet tartalmaz: valamilyen
Measurement
-et �s valamilyen Quantity
-t.
Term�szetes nyelven a p�lda ezt mondja: "a Jane Doe nev� alany
eset�ben a tests�ly (Weight
) nev� jelens�g m�rt �rt�ke
egy olyan mennyis�g, amelynek m�rt�kegys�ge a Kilogramm, az �rt�ke
pedig 59.5. A m�r�s ideje 2003. janu�r 14-�n reggel, 8
perccel 9 �ra ut�n, az UTC+1 �r�s z�naid�ben (Amszterdam, Berlin, P�rizs t�li
id�sz�m�t�sa szerint)". Mint az el�bbi p�ld�ban a date
adatt�pus, az itteni float
�s dateTime
adatt�pusok
is XML S�ma adatt�pusok. (Az [XML S�ma
Adatt�pusok] dokumentum tartalmazza a sz�ks�ges inform�ci�t
ezeknek az adatt�pusoknak a szintaxis�r�l �s szemantik�j�r�l).
Sok nyelv �l az "egyedi nevek felt�telez�s�nek" m�dszer�vel, mely azt jelenti, hogy a nyelv elv�rja: a k�l�nb�z� nevek k�l�nb�z� dolgokra hivatkozzanak a vil�gban. A Weben azonban ilyen felt�telez�s nem lehets�ges, hiszen pl. ugyanarra a szem�lyre k�l�nb�z� URI-k seg�ts�g�vel hivatkozhatunk. Emiatt az OWL nem is haszn�l ilyen felt�telez�st. Hacsak explicite nem jelentj�k ki (OWL nyelven), hogy k�t URI hivatkoz�s ugyanarra, vagy hogy k�t k�l�nb�z� egyedre mutat, akkor az OWL-t t�mogat� eszk�z�knek defaultk�nt azt kell felt�telezni�k, hagy b�rmelyik eset el�fordulhat.
Az OWL h�rom olyan nyelvi konstrukci�t tartalmaz, amellyel t�nyeket jelenthet�nk ki az egyedek azonoss�g�val kapcsolatban:
owl:sameAs
azt jelenti ki, hogy k�t URI hivatkoz�s
ugyanarra az egyedre mutat.owl:differentFrom
seg�ts�g�vel azt �ll�tjuk, hogy k�t
URI hivatkoz�s k�l�nb�z� egyedekre mutat.owl:AllDifferent
pedig egy olyan fogalmat takar,
amellyel egyedek egy megadott list�j�r�l kijelenthetj�k, hogy abban
minden egyed k�l�nb�zik a t�bbit�l.Az owl:sameAs
be�p�tett OWL tulajdons�g egy egyedet egy m�sik egyedhez kapcsol. Egy
owl:sameAs
kijelent�s azt deklar�lja, hogy k�t URI hivatkoz�s
t�nylegesen ugyanarra az egyedre mutat (az egyedeknek ugyanaz az
"identit�suk").
Olyan egyedek eset�ben, mint pl. "emberek", ezt a fogalmat viszonylag k�nny� meg�rteni. P�ld�ul, �ll�thatn�nk azt, hogy a k�vetkez� k�t URI t�nylegesen ugyanarra a szem�lyre hivatkozik:
<rdf:Description rdf:about="#William_Jefferson_Clinton"> <owl:sameAs rdf:resource="#BillClinton"/> </rdf:Description>
Az owl:sameAs
�ll�tm�nyt gyakran haszn�ljuk, amikor k�t
ontol�gia k�z�tti lek�pez�seket defini�lunk. Nem realisztikus ugyanis
elv�rni, hogy mindenki ugyanazzal a n�vvel hivatkozz�k egy bizonyos egyedre.
(Ez egy grandi�zus tervet ig�nyelne, ami ellenkezik a Web szellem�vel).
Az OWL Full-ban, ahol oszt�lyokat m�s (meta)oszt�lyok egyedek�nt is
kezelhet�nk, az owl:sameAs
konstrukci�t haszn�lhatjuk oszt�lyok
egyenl�s�g�nek a deklar�l�s�ra is, kimondva ily m�don azt, hogy a k�t fogalom
intenzion�lis jelent�se azonos. Egy p�lda:
<owl:Class rdf:ID="FootballTeam"> <owl:sameAs rdf:resource="http://sports.org/US#SoccerTeam"/> </owl:Class>
Elk�pzelhetj�k ezt az axi�m�t, pl. egy hipotetikus "Eur�pai sportok
ontol�gi�ja" elemek�nt. A k�t oszt�lyt itt egyednek tekintj�k (az
owl:Class egyed�nek
). Ez lehet�v� teszi nek�nk, hogy
kijelents�k: a FootballTeam
oszt�ly az Eur�pai sportok
ontol�gi�j�ban ugyanazt a fogalmat jel�li meg, mint a SoccerTeam
az Amerikai sportok ontol�gi�j�ban. Vegy�k �szre azonban a jelent�s elt�r�s�t
az al�bbi kijelent�sben:
<footballTeam owl:equivalentClass us:soccerTeam />
Ez ugyanis azt mondja, hogy a k�t oszt�ly oszt�lykiterjed�se azonos, de a k�t oszt�ly nem sz�ks�gszer�en jelenti ugyanazt a fogalmat.
MEGJEGYZ�S: Az URI hivatkoz�sok �sszehasonl�t�s�nak r�szleteivel kapcsolatban l�sd az [RDF Fogalmak]. dokumentum megfelel� szekci�j�t.
Az owl:differentFrom
be�p�tett OWL tulajdons�g egy egyedet egy m�sik egyedhez kapcsol. Egy
owl:differentFrom
kijelent�s azt deklar�lja, hogy k�t URI
hivatkoz�s k�l�nb�z� egyedekre mutat.
P�lda:
<Opera rdf:ID="Don_Giovanni"/> <Opera rdf:ID="Nozze_di_Figaro"> <owl:differentFrom rdf:resource="#Don_Giovanni"/> </Opera> <Opera rdf:ID="Cosi_fan_tutte"> <owl:differentFrom rdf:resource="#Don_Giovanni"/> <owl:differentFrom rdf:resource="#Nozze_di_Figaro"/> </Opera>Ez a p�lda azt deklar�lja, hogy a fenti h�rom Mozart opera k�l�nb�z�.
Az olyan ontol�gi�k, amelyek egyedi neveket felt�teleznek, val�sz�n�leg
nagy sz�mban alkalmaznak owl:differentFrom
�ll�t�sokat, hiszen
az egyedek minden lehets�ges p�rkombin�ci�j�r�l k�l�n-k�l�n ki kell
mondaniuk, hogy k�l�nb�z�ek. Ilyen esetekre az OWL-nak van egy speci�lis
idi�m�ja, amelyet az owl:AllDifferent
konstrukci� realiz�l. Az owl:AllDifferent
egy speci�lis,
be�p�tett OWL oszt�ly, amelyhez defini�ltak egy owl:distinctMembers
tulajdons�got is. Ez a tulajdons�g az owl:AllDifferent
oszt�ly
egyik egyed�t m�s egyedek egy megadott list�j�hoz kapcsolja. Az ilyen
konstrukci� sz�nd�kolt jelent�se az, hogy a list�ban szerepl� minden egyed
k�l�nb�zik a lista t�bbi egyed�t�l.
P�ld�ul:
<owl:AllDifferent> <owl:distinctMembers rdf:parseType="Collection"> <Opera rdf:about="#Don_Giovanni"/> <Opera rdf:about="#Nozze_di_Figaro"/> <Opera rdf:about="#Cosi_fan_tutte"/> <Opera rdf:about="#Tosca"/> <Opera rdf:about="#Turandot"/> <Opera rdf:about="#Salome"/> </owl:distinctMembers> </owl:AllDifferent>
Ez a p�lda azt �llap�tja meg, hogy ez a hat URI hivatkoz�s hat k�l�nb�z� oper�ra mutat.
MEGJEGYZ�S: az owl:distinctMembers
egy speci�lis
szintaktikai konstrukci�, egy olyan �ll�tm�ny, amelyet k�nyelmi okokb�l
vettek fel a nyelvbe, �s amelynek alanya mindig egy
owl:AllDifferent
egyed.
Ebben a dokumentumban t�bb helyen tal�lkozhattunk azzal a fogalommal, hogy adat�rt�k-tartom�ny, amikor adat�rt�kek egy bizonyos halmaz�t kellett specifik�lnunk. Az OWL az adat�rt�ktartom�ny-specifik�ci�k h�rom t�pus�t tartalmazza:
owl:oneOf
konstrukci� felhaszn�l�s�val.Az adatt�pusok minim�lis eszk�zt�mogat�s�t a 6.3. szekci� t�rgyalja.
Az OWL az RDF adattipiz�l�si s�m�j�t alkalmazza, mely tartalmaz egy mechanizmust az XML S�ma adatt�pusaira t�rt�n� hivatkoz�shoz [XML S�ma adatt�pusok]. Ezek r�szletesebb le�r�s�t megtal�lja az olvas� az RDF dokumentumokban, pl. az [RDF Fogalmak] dokumentum�ban. Az olvas� t�j�koztat�s�ra itt most csak az RDF adatt�pusok szinopszis�t adjuk meg.
Az adat�rt�kek az rdfs:Literal
RDF S�ma oszt�ly
egyedei
. A liter�lok lehetnek egyszer�ek (adatt�pus n�lk�liek),
vagy tipiz�ltak. Az adatt�pusok az rdfs:Datatype
oszt�ly egyedei. Az RDF/XML-ben egy liter�l t�pus�t egy
rdf:datatype
attrib�tummal specifik�ljuk, amelynek az �rt�ke
aj�nlatos, hogy az al�bbiak valamelyike legyen:
http://www.w3.org/2001/XMLSchema#NAMEahol "NAME" egy egyszer�, be�p�tett XML S�ma adatt�pus neve, ahogy azt az [XML S�ma Adatt�pusok] 3. szekci�ja defini�lja, az al�bb specifik�lt kik�t�sekkel.
rdf:XMLLiteral
adatt�pus URI hivatkoz�sa. Ezt az
adatt�pust haszn�ljuk, ha XML tartalmat akarunk be�p�teni egy RDF/OWL
dokumentumba. Ennek az adatt�pusnak az URI hivatkoz�sa:
http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteralErr�l az adatt�pusr�l tov�bbi r�szletek tal�lhat�k az [RDF Fogalmak] dokumentum�ban.
Az [RDF Szemantika] dokumentum 5. fejezete az al�bbi be�p�tett XML S�ma adatt�pusok haszn�lat�t aj�nlja:
xsd:string
elemi adatt�pust, plusz az xsd:string
-b�l sz�rmaztatott
k�vetkez� adatt�pusokat: xsd:normalizedString
,
xsd:token
,
xsd:language
,
xsd:NMTOKEN
,
xsd:Name
�s xsd:NCName
.xsd:boolean
elemi adatt�pust.xsd:decimal
,
xsd:float
�s xsd:double
,
valamint az xsd:decimal adatt�pusb�l deriv�lt �sszes adatt�pust (xsd:integer
,
xsd:positiveInteger
.
xsd:nonPositiveInteger
,
xsd:negativeInteger
,
xsd:nonNegativeInteger
,
xsd:long
,
xsd:int
,
xsd:short
,
xsd:byte
,
xsd:unsignedLong
,
xsd:unsignedInt
,
xsd:unsignedShort
,
xsd:unsignedByte
).xsd:dateTime
,
xsd:time
,
xsd:date
,
xsd:gYearMonth
,
xsd:gYear
,
xsd:gMonthDay
,
xsd:gDay
�s xsd:gMonth
.xsd:hexBinary
,
xsd:base64Binary
�s xsd:anyURI
.MEGJEGYZ�S: nem illeg�lis ugyan, de nem is aj�nlatos, hogy az
alkalmaz�sok saj�t adatt�pusokat defini�ljanak az rdfs:Datatype
egyedek�nt. Az ilyen adatt�pusokat "ismeretlennek" min�s�ti a nyelv, �s
hasonl� m�don kezeli �ket, mint a "nem t�mogatott" adatt�pusokat (L�sd a
r�szleteket a 6.3. szekci�ban arr�l, hogy az
OWL szoftvereszk�zeinek hogyan kell kezelni�k ezeket az eseteket.)
Amikor adatt�pusokat haszn�lunk, ne felejts�k el, hogy az RDF/XML elv�rja,
hogy egy adatt�pus-tulajdons�g �rt�k�nek haszn�lat�n�l az adat�rt�kre mindig
megadjuk az adatt�pust, m�g akkor is, ha m�r defini�ltuk ennek az
adatt�pus-tulajdons�gnak az �rt�ktartom�ny�t. P�lda lehet erre a
timeStamp
tulajdons�g, amelyet kor�bban m�r haszn�ltunk a M�r�s
(Measurement
) p�ld�n�l. (Figyelj�k meg, hogy egyszer a
tulajdons�g �rt�ktartom�nyak�nt (rdf:range
) deklar�ljuk a
"dateTime" adatt�pust, majd az �rt�kad�sn�l adatt�pusk�nt
(rdf:datatype
) �jb�l megadjuk):
<owl:DatatypeProperty rdf:about="#timeStamp"> <rdfs:domain rdf:resource="#Measurement"/> <rdf:range rdf:resource="&xsd;dateTime"/> </owl:DatatypeProperty> <Measurement> <timeStamp rdf:datatype="&xsd;dateTime">2003-01-24T09:00:08+01:00</timeStamp> </Measurement>
Az RDF adatt�pusok mellett az OWL tartalmaz egy tov�bbi konstrukci�t is
adat�rt�k-tartom�nyok defini�l�s�ra, nevezetesen a "felsorol�s" adatt�pust.
Ezt az adatt�pus form�tumot az owl:oneOf
konstrukci�val
deklar�ljuk, amelyet egy�bk�nt felsorol�soszt�lyok le�r�s�ra is haszn�lunk.
Felsorol�s-adatt�pus eset�n az owl:oneOf
alanya egy owl:DataRange
oszt�ly� �res gr�fcsom�pont, a t�rgya pedig liter�lok list�ja. Sajnos, itt
nem haszn�lhatjuk az rdf:parseType="Collection"
idi�m�t a
liter�lok list�j�nak megad�s�ra, mivel az RDF elv�rja, hogy egy kollekci� RDF
csom�ponti elemek list�ja legyen. Ez�rt az adat�rt�kek list�j�t az elemi
listakonstrukci�k (az rdf:first
, az rdf:rest
�s az
rdf:nil
) seg�ts�g�vel specifik�ljuk.
MEGJEGYZ�S: Felsorol�s adatt�pusokat az OWL Lite-ban nem haszn�lhatunk.
Az al�bbi p�lda a tennisGameScore
(teniszj�tszma-eredm�ny)
tulajdons�g adat�rt�k-tartom�ny�t eg�sz sz�mok list�j�val {0, 15, 30, 40}
specifik�lja:
<owl:DatatypeProperty rdf:ID="tennisGameScore"> <rdfs:range> <owl:DataRange> <owl:oneOf> <rdf:List> <rdf:first rdf:datatype="&xsd;integer">0</rdf:first> <rdf:rest> <rdf:List> <rdf:first rdf:datatype="&xsd;integer">15</rdf:first> <rdf:rest> <rdf:List> <rdf:first rdf:datatype="&xsd;integer">30</rdf:first> <rdf:rest> <rdf:List> <rdf:first rdf:datatype="&xsd;integer">40</rdf:first> <rdf:rest rdf:resource="&rdf;nil" /> </rdf:List> </rdf:rest> </rdf:List> </rdf:rest> </rdf:List> </rdf:rest> </rdf:List> </owl:oneOf> </owl:DataRange> </rdfs:range> </owl:DatatypeProperty>
Az OWL-t t�mogat� szoftvereszk�z�k k�l�nb�z�ek lehetnek att�l f�gg�en,
hogy mik�nt t�mogatj�k az adatt�pus-k�vetkeztet�s fogalm�t. A
szoftvereszk�z�knek ezt az opci�t legal�bb az xsd:string
�s az
xsd:integer
XML S�ma adatt�pusok vonatkoz�s�ban t�mogatniuk
kell. Az OWL Full eszk�z�knek ezen fel�l t�mogatniuk kell az
rdf:XMLLiteral
adatt�pust is. A nem t�mogatott adatt�pusok
eset�n a lexikailag azonos liter�lokat egyenl�knek kell tekinteni, m�g a
lexikailag k�l�nb�z� liter�lokr�l azt kell felt�telezni, hogy vagy egyenl�k,
vagy nem. Az "ismeretlen" adatt�pusokat ugyan�gy kell kezelni, mint a "nem
t�mogatott" adatt�pusokat.
Az OWL Full semmilyen form�ban nem korl�tozza az annot�ci�kat (fontos megjegyz�seket) egy ontol�gi�ban. Az OWL DL lehet�v� teszi az annot�ci�kat oszt�lyokkal, tulajdons�gokkal, egyedekkel, �s ontol�gia-headerekkel kapcsolatban, de csak az al�bbi felt�telekkel:
dc:creator
nem lehet egyidej�leg adatt�pus-tulajdons�g �s
annot�ci�tulajdons�g is.AnnotationPropertyID rdf:type owl:AnnotationProperty .
Az OWL-ban �t annot�ci�tulajdons�g van el�re defini�lva, nevezetesen:
owl:versionInfo
(verzi�-inform�ci�)rdfs:label
(c�mke)rdfs:comment
(komment�r)rdfs:seeAlso
("L�sd ~t is")rdfs:isDefinedBy
("defini�lta:")�me egy p�lda egy annot�ci�tulajdons�g leg�lis haszn�lat�ra OWL DL-ben:
<owl:AnnotationProperty rdf:about="&dc;creator"/> <owl:Class rdf:about="#MusicalWork"> <rdfs:label>Musical work</rdfs:label> <dc:creator>N.N.</dc:creator> </owl:Class>
A p�lda felt�telezi, hogy a &dc;
illetve a
dc:
prefix a Dublin Core URI-ra, illetve n�vt�rre mutat. �gy a
Dublin Core tulajdons�gok annot�ci�tulajdons�gk�nt t�rt�n� haszn�lata OWL
DL-ben egy explicit tipiz�l� tripletet ig�nyel. Ez biztos�tja, hogy az OWL DL
k�vetkeztet�g�pek szemantikailag korrekt m�don haszn�lj�k az annot�ci�kat (a
r�szleteket l�sd az OWL Szemantika �s absztrakt szintaxis [OWL Sz&ASz] dokumentumban).
Ha m�r egyszer a dc:creator-t
annot�ci�tulajdons�gk�nt
deklar�ltuk, az OWL DL m�r nem engedi ezt tulajdons�gaxi�m�kban korl�tozni
– pl. az �rt�ktartom�nya tekintet�ben – l�sd al�bb:
<-- Ez p�ld�ul illeg�lis OWL DL eset�n --> <owl:AnnotationProperty rdf:about="&dc;creator"> <rdfs:range rdf:resource="&xsd;string"/> </owl:AnnotationProperty>
Jegyezz�k meg azonban, hogy annot�ci�tulajdons�g-deklar�ci�kban az adat�rt�kek liter�l t�pus�t az�rt szabad specifik�lnunk:
<Opera rdf:about="#Tosca"> <dc:creator rdf:datatype="&xsd;string">Giacomo Puccini</dc:creator> </Opera>
Egy dokumentum, mely egy ontol�gi�t �r le, �ltal�ban tartalmaz inform�ci�t mag�val az ontol�gi�val kapcsolatban is. Az ontol�gia egy adatforr�s, s �gy az le�rhat� olyan tulajdons�gokkal, amelyeket az OWL n�vter�b�l, vagy m�s n�vterekb�l vesz�nk. P�ld�ul:
<owl:Ontology rdf:about=""> <owl:versionInfo> ... </owl:versionInfo> <rdfs:comment>...</rdfs:comment> <owl:imports rdf:resource="..."/> </owl:Ontology>
Az ilyen inform�ci�blokkot ontol�gia-headernek nevezz�k, �s �ltal�ban az RDF/XML dokumentumok elej�re tessz�k. Az al�bbi sor:
<owl:Ontology rdf:about="">
kijelenti, hogy ez a blokk a jelenlegi ontol�gi�t �rja le. Pontosabban:
azt mondja, hogy a jelenlegi dokumentum b�zis URI-ja az
owl:Ontology
oszt�ly egyik egyed�t azonos�tja. Aj�nlatos, hogy a
b�zis URI-t a dokumentum legelej�n tal�lhat� <rdf:RDF
>
elem xml:base
attrib�tuma seg�ts�g�vel explicit m�don
defini�ljuk.
Egy ontol�gia-header pl. �gy n�zne ki:
<owl:Ontology rdf:about=""> <owl:versionInfo>v 1.17 2003/02/26 12:56:51 mdean</owl:versionInfo> <rdfs:comment>An example ontology</rdfs:comment> <owl:imports rdf:resource="http://www.example.org/foo"/> </owl:Ontology>
A k�vetkez� szekci�k le�rj�k azokat a k�l�nb�z� deklar�ci�kat, amelyeket tipikusan a headeren bel�l haszn�lunk.
MEGJEGYZ�S: Az owl:imports
ontol�gia import�l� konstrukci�t �s az owl:priorVersion, owl:backwardCompatibleWith, owl:incompatibleWith ontol�gia-verzi�kezel�
konstrukci�kat az OWL sz�k�szlete defini�lja az owl:OntologyProperty
oszt�ly
egyedeik�nt. Az owl:OntologyProperty
oszt�ly egyedeinek
�rv�nyess�gi k�re �s �rt�ktartom�nya egyar�nt az owl:Ontology
oszt�ly kell hogy legyen. Szabad m�s ontol�giatulajdons�gokat is defini�lni
az owl:OntologyProperty
egyedei mell�. Az OWL DL-ben az
ontol�giatulajdons�gokra ugyanazok a megk�t�sek �rv�nyesek, mint a 7.1 szekci�ban ismertetett
annot�ci�tulajdons�gokra.
Az owl:imports
kijelent�s egy m�sik ontol�gi�ra hivatkozik, mely olyan defin�ci�kat
tartalmaz, amelyek jelent�startalma az import�l� ontol�gia
jelent�startalm�nak r�sz�t k�pezi. Minden ilyen hivatkoz�s egy URI-b�l �ll,
mely azt specifik�lja, hogy honnan import�ljuk az ontol�gi�t. Szintaktikailag
az owl:imports
egy tulajdons�g, amelynek az �rv�nyess�gi k�re �s
az �rt�ktartom�nya egyar�nt az owl:Ontology
oszt�ly.
Az owl:imports
�ll�t�sok tranzit�vak, azaz, ha az A
ontol�gia import�lja B-t, �s B import�lja C-t,
akkor A import�lja B-t �s C-t is.
Az, hogy egy OWL szoftvereszk�znek be kell-e t�ltenie az import�lt ontol�gi�t a befogad� ontol�gi�ba, vagy sem, az mindig az eszk�z rendeltet�s�t�l f�gg. Ha az eszk�z egy teljes k�vetkeztet� rendszer (mely teljes konzisztencia-ellen�rz�st is tartalmaz), akkor be kell t�ltenie az import�lt ontol�gi�kat. Egy�b eszk�z�k, mint p�ld�ul az egyszer� szerkeszt� programok �s a nem teljes k�vetkeztet� rendszerek d�nthetnek �gy is, hogy az import�lt ontol�gi�kb�l csak n�h�nyat t�ltenek be, vagy ak�r egyetlenegyet sem.
Hab�r az owl:imports
deklar�ci�k �s a n�vt�rdeklar�ci�k
redund�nsnak t�nhetnek, ezek val�j�ban k�l�nb�z� c�lokra szolg�lnak. A
n�vt�rdeklar�ci�k egyszer�en csak r�vid�t�seket kre�lnak, amelyekkel
adatforr�s-azonos�t�kra lehet hivatkozni. Ezek implicite nem �p�tik be az
ontol�gi�ba annak a dokumentumnak a jelent�startalm�t, amelyet a hivatkozott
adaforr�s-azonos�t� (URI) megc�mez. Az owl:imports viszont nem produk�l olyan
r�vid�t�seket, amelyekkel az import�lt dokumentum azonos�t�ira lehetne
hivatkozni. Ez�rt bevett szok�s, hogy mindig megadjuk az import�lt
ontol�gi�knak megfelel� n�vt�rdeklar�ci�kat is.
MEGJEGYZ�S: az owl:imports
az
owl:OntologyProperty
egyede.
Az owl:versionInfo
�ll�tm�nyhoz tartoz� t�rgy �ltal�ban egy karakterl�nc, mely inform�ci�kat
tartalmaz a jelenlegi ontol�gia-verzi�r�l (ezek lehetnek p�ld�ul RCS/CVS
kulcsszavak). Egy ilyen �ll�t�s semmit nem tesz hozz� az ontol�gia
jelent�startalm�hoz azon fel�l, amit az RDF(S) model theory (az RDF
S�ma form�lis, modell-elm�leti szemantik�ja) defini�l.
Az owl:versionInfo
tulajdons�got tipikusan arra haszn�ljuk,
hogy ontol�gi�kr�l k�z�lj�nk vele verzi�-inform�ci�kat, de alkalmazhatjuk
b�rmilyen m�s OWL konstrukci�k eset�ben is. P�ld�ul egy OWL oszt�lyhoz is
csatolhatn�nk egy owl:versionInfo
deklar�ci�t.
MEGJEGYZ�S: Az owl:versionInfo
az
owl:AnnotationProperty
oszt�ly egyede.
Az owl:priorVersion
kijelent�s egy olyan URI hivatkoz�st tartalmaz, mely egy m�sik ontol�gi�ra
mutat. Ez azt mondja ki a hivatkozott ontol�gi�r�l, hogy az a jelen ontol�gia
el�z� verzi�ja. Ennek a kijelent�snek a modell-elm�leti szemantik�ban nincs
egy�b jelent�se, mint amit az RDF(S) model theory hozz�rendel. A
szoftver azonban j�l haszn�lhatja ezt az inform�ci�t az ontol�gi�k verzi�k
szerinti szervez�s�hez.
Az owl:priorVersion
egy be�p�tett OWL tulajdons�g, amelynek
�rv�nyess�gi k�re �s �rt�ktartom�nya egyar�nt az owl:Ontology
oszt�ly.
MEGJEGYZ�S: az owl:priorVersion
az
owl:OntologyProperty
oszt�ly egyede.
Az owl:backwardCompatibleWith
kijelent�s egy olyan URI hivatkoz�st tartalmaz, mely egy m�sik ontol�gi�ra
mutat. Ez azt �ll�tja a hivatkozott ontol�gi�r�l, hogy a jelen ontol�gia
el�z� verzi�ja, �s hogy a jelen ontol�gia verzi� visszamen�legesen
kompatibilis ezzel az el�dj�vel. A visszamen�leges kompatibilit�s f�leg azt
jelzi, hogy az el�z� verzi�ban haszn�lt �sszes azonos�t�nak ugyanaz az
interpret�ci�ja az �j verzi�ban is. Egy ilyen kijelent�s teh�t fontos jelz�s
lehet azok sz�m�ra, akik az el�z� verzi�t haszn�lt�k, hiszen ebb�l l�thatj�k,
hogy biztons�gosan �t�llhatnak az �j verzi�ra, el�g csak megv�ltoztatniuk a
n�vt�rdeklar�ci�kat, valamint az owl:imports
deklar�ci�t oly
m�don, hogy ezek az �j verzi� URL-j�t haszn�lj�k.
Ha az owl:backwardCompatibleWith
nincs deklar�lva k�t verzi�
sz�m�ra, akkor a kompatibilit�st nem szabad felt�telezn�nk.
Az owl:backwardCompatibleWith
kijelent�snek a modell-elm�leti
szemantik�ban nincs egy�b jelent�se, mint amit az RDF(S) model
theory hozz�rendel.
Az owl:backwardCompatibleWith
egy be�p�tett OWL tulajdons�g,
amelynek �rv�nyess�gi k�re �s �rt�ktartom�nya egyar�nt az
owl:Ontology
oszt�ly.
MEGJEGYZ�S: az
az
owl:backwardCompatibleWith
owl:OntologyProperty
oszt�ly egyede.
Az owl:incompatibleWith
kijelent�s egy m�sik ontol�gi�ra hivatkozik, �s azt mondja r�la, hogy az a
jelen ontol�gia el�z� verzi�ja, �s hogy a jelen verzi� visszamen�legesen
nem kompatibilis az el�dj�vel. Ez els�sorban azoknak az
ontol�giaszerz�knek lehet fontos inform�ci�, akik biztosak akarnak lenni
abban, hogy nem �llhatnak �t az �j ontol�gia verzi� haszn�lat�ra annak
ellen�rz�se n�lk�l, hogy sz�ks�ges-e v�ltoztatniuk a saj�t ontol�gi�jukon,
vagy sem.
Az owl:incompatibleWith
kijelent�snek a modell-elm�leti
szemantik�ban nincs egy�b jelent�se, mint amit az RDF(S) model
theory hozz�rendel.
Az owl:incompatibleWith
egy be�p�tett OWL tulajdons�g,
amelynek �rv�nyess�gi k�re �s �rt�ktartom�nya egyar�nt az
owl:Ontology
oszt�ly.
MEGJEGYZ�S: az
az owl:incompatibleWith
owl:OntologyProperty
oszt�ly egyede.
Az elavultat�s
(deprecation) egy �ltal�nosan haszn�lt fogalom a verzi�kezel� szoftverek
ter�let�n annak jelz�s�re, hogy egy bizonyos, elavult nyelvi elemet csak a
visszamen�leges kompatibilit�s miatt tartunk meg, �s hogy ez az elem
feltehet�en kimarad a nyelv k�s�bbi verzi�ib�l (l�sd pl. a Java programoz�si
nyelvn�l). Ezzel a k�t nyelvi konstrukci�val egy azonos�t�r�l azt
�ll�thatjuk, hogy owl:DeprecatedClass
t�pus�, vagy owl:DeprecatedProperty
t�pus�, ahol az owl:DeprecatedClass
az rdfs:Class
aloszt�lya, az owl:DeprecatedProperty
pedig az
rdf:Property
aloszt�lya. Azzal, hogy elavultnak nyilv�n�tunk egy
kifejez�st, azt akarjuk jelezni, hogy az ontol�giafejleszt�k ne haszn�lj�k az
�jabb dokumentumaikban, ha ezek a dokumentumok f�ggenek a jelen ontol�gi�t�l
(�s annak k�s�bbi verzi�it�l). Ez az opci� lehet�v� teszi, hogy az ontol�gi�k
fenntarthass�k a visszamen�leges kompatibilit�st, de az�rt fokozatosan
lecser�lhess�k az elavult sz�k�szletet (�gy az elavultat�snak csak a
visszamen�leges kompatibilit�s fenntart�s�val egy�tt van �rtelme). Ennek
eredm�nyek�nt k�nnyebb a r�gi adatokat �s alkalmaz�sokat �t�ll�tani az �jabb
ontol�gia verzi�ra. Az elavults�got deklar�l� kijelent�seknek a
modell-elm�leti szemantik�ban nincs t�bb jelent�s�k, mint amit az RDF(S)
model theory hozz�juk rendel. Az ontol�giafejleszt� rendszerek azonban
felhaszn�lhatj�k ezeket arra, hogy felh�vj�k a felhaszn�l�k figyelm�t a
sz�ks�ges ellen�rz�sekre.
Egy elavultat�si p�lda:
<owl:Ontology rdf:about=""> <rdfs:comment>J�rm� Ontologia, v. 1.1</rdfs:comment> <owl:backwardCompatibleWith rdf:resource="http://www.example.org/J�rm�-1.0"/> <owl:priorVersion rdf:resource="http://www.example.org/j�rm�-1.0"/> </owl:Ontology> <owl:DeprecatedClass rdf:ID="Aut�"> <rdfs:comment>Modernebb a Szem�lyg�pkocsi kifejez�s</rdfs:comment> <owl:equivalentClass rdf:resource="#Szem�lyg�pkocsi"/> <!-- Megjegyz�s: az equivalentClass csak annyit jelent, hogy ugyanaz a kiterjed�se, teh�t NEM k�vetkezik bel�le, hogy a Szem�lyg�pkocsi szint�n elavult kifejez�s volna --> </owl:DeprecatedClass> <owl:Class rdf:ID="Szem�lyg�pkocsi" /> <owl:DeprecatedProperty rdf:ID="sof�rje"> <rdfs:comment>inverse property drives is now preferred</rdfs:comment> <owl:inverseOf rdf:resource="#~g�pkocsitVezet" /> </owl:DeprecatedProperty> <owl:ObjectProperty rdf:ID="~g�pkocsitVezet" />
Ebben a p�ld�ban J�rm� ontol�gia 1.1 verzi�j�t visszamen�legesen
kompatibilisnak deklar�ltuk az 1.0 verzi�j�val. Ugyanakkor elavultnak
min�s�tett�k a r�gi verzi�ban szerepl� Automobil oszt�lyt, amelyet az �j
verzi�ban (azonos oszt�lykiterjed�ssel) m�r a Szem�lyg�pkocsi oszt�ly
helyettes�t. Ugyancsak elavultt� min�s�ti a p�lda a "sof�rje"
tulajdons�got, �s helyette a "~g�pkocsitVezet"
tulajdons�g
ford�tottj�t vezeti be, ami ugyan az XML k�dban nem szerepel, de
valami ilyesmi lehet, mint "g�pkocsiVezet�je". [A magyar ford�t�sban a tilde (~) karakter
el�reutal�s a tulajdons�ghoz tartoz� t�rgyra. (Pl. egy ilyen triplet: "J�nos
~g�pkocsitVezet BMW" �gy olvasand�: J�nos BMW g�pkocsit vezet. A ford�tott
tulajdons�ggal a triplet: "BMW g�pkocsiVezet�je J�nos") – a
ford.]
A bevezet�sben r�viden m�r t�rgyaltuk az OWL h�rom alnyelv�t. Ez a fejezet informat�v m�don specifik�lja a nyelv ezen h�rom "alfaj�nak" k�l�nbs�geit. A k�l�nbs�gek form�lis kimutat�s�t az OWL Szemantika �s absztrakt szintaxis dokumentum [OWL Sz&ASz] tartalmazza.
Az OWL Full val�j�ban nem egy alnyelv. Az OWL Full tartalmazza az �sszes
OWL nyelvi konstrukci�t, tov�bb� lehet�v� teszi az RDF konstrukci�k szabad �s
korl�tlan haszn�lat�t. Az OWL Full-ban az owl:Class
nev�
er�forr�s enyen�rt�k� az rdfs:Class
er�forr�ssal. Ez nem �gy van
az OWL DL �s OWL Lite alnyelvben, ahol az owl:Class
az
rdfs:Class
-nak egy megfelel� aloszt�lya (ami azt jelenti, hogy
az OWL DL �s OWL Lite eset�ben nem minden RDF oszt�ly egyben OWL oszt�ly is).
Az OWL Full lehet�v� teszi tov�bb�, hogy oszt�lyokat egyedk�nt is
kezelhess�nk. P�ld�ul: az OWL Full-ban teljesen leg�lis, hogy van egy
"Fokker-100" azonos�t�nk, mely egyszer �gy m�k�dik, mint egy oszt�lyn�v
(ilyenkor pl. a vil�gban rep�l� konkr�t Fokker-100 g�pek halmaz�t jelenti),
m�skor meg �gy, mint egy egyednek a neve (ilyenkor pl. a Rep�l�g�pT�pusok
oszt�ly�nak egyik egyed�t azonos�tja).
Az OWL Full-ban az �sszes adat�rt�ket egyszersmind egyednek is tekintj�k.
Az OWL Full-ban az egyedek univerzuma az �sszes er�forr�sb�l (resource) �ll.
(Az owl:Thing
egyen�rt�k� az rdfs:Resource
-szal).
Ez azt jelenti, hogy az objektumtulajdons�gok �s az adatt�pus-tulajdons�gok
itt nem alkotnak diszjunkt halmazokat. Az OWL Full-ban az
owl:ObjectProperty
egyen�rt�k� az rdf:Property
-vel.
Ennek k�vetkezm�nye az, hogy az adatt�pus-tulajdons�gok t�nylegesen az
objektumtulajdons�gok aloszt�ly�t k�pezik. Ennek nem mond ellent az a t�ny
sem, hogy az owl:ObjectProperty
�s az
owl:DatatypeProperty
az rdf:Property
aloszt�lyai.
Az OWL Full tipikusan azok sz�m�ra hasznos, akik kombin�lni szeretn�k az OWL Full kifejez�k�pess�g�t az RDF flexibilit�s�val �s metamodellez� k�pess�geivel. Az OWL Full lehet�s�geinek a kihaszn�l�sa azonban azt is jelenti, hogy bizonyos m�rt�kig elvesz�tj�k azokat a garanci�kat (l�sd al�bb) amelyeket az OWL DL �s az OWL Lite tud ny�jtani a k�vetkeztet� rendszerek sz�m�ra.
MEGJEGYZ�S: Az RDF dokumentumok �ltal�ban OWL Full szint� dokumentumoknak tekinthet�k, hacsak nem specifikusan OWL DL-nek vagy OWL Lite-nak tervezt�k �ket.
MEGJEGYZ�S: �gy az OWL Full-ban az owl:Thing
egyen�rt�k� az rdfs:Resource
-szal, az owl:Class
az
rdfs:Class
-szal, az owl:ObjectProperty
pedig az
rdf:Property
-vel.
Az OWL DL az OWL alnyelve, mely bizonyos korl�tokat vezet be az OWL nyelvi konstrukci�inak hszn�lat�ra. Ezek a korl�tok r�viden a k�vetkez�k:
Az ut�bbi kik�t�s azt is jelenti, hogy minden oszt�ly �s tulajdons�g, amelyre hivatkozunk, kifejezetten csak OWL oszt�ly, illetve tulajdons�g lehet. P�ld�ul: ha az ontol�gia az al�bbi komponenst tartalmazza:
<owl:Class rdf:ID="C1"> <rdfs:subClassOf rdf:resource="#C2" /> </owl:Class>
akkor az ontol�gi�nak (vagy egy �ltala import�lt m�sik ontol�gi�nak)
tartalmaznia kell egy owl:Class
tripletet a C2
sz�m�ra
.
Ezek az OWL DL korl�tok v�letlenszer�eknek t�nhetnek, de m�gsem azok. A felsorolt korl�toz�sok a le�r� logikai k�vetkeztet� rendszerek ter�let�n v�gzett fejleszt�seken alapulnak, amelyek az�rt ig�nylik ezeket a korl�toz�sokat, hogy megfelel� k�vetkeztet�si t�mogat�ssal l�thass�k el az ontol�gia �p�t�ket �s felhaszn�l�kat. Konkr�tabban: az OWL DL korl�toz�sok lehet�v� teszik, hogy az OWL Full lehet� legnagyobb r�szhalmaz�t kihaszn�lhassuk, de �gy, hogy az�rt ennek logikai feldolgoz�s�ra (a kutat�sok mai �ll�sa szerint) egy eld�nthet� k�vetkeztet� elj�r�st lehessen kidolgozni.
MEGJEGYZ�S: Az E. f�ggel�k gyakorlati ir�nymutat�st ad arra n�zve, hogy mik�nt lehet OWL DL ontol�gi�kat k�sz�teni RDF-ben.
Az OWL Lite is tartja mag�t azokhoz a megk�t�sekhez, amelyeket az OWL DL fogalmaz meg az OWL nyelvi konstrukci�k haszn�lat�val lkapcsolatban. Ezen t�lmen�en, az OWL Lite tiltja az al�bbi konstrukci�k haszn�lat�t is:
Az OWL Lite elv�rja tov�bb�, hogy:
owl:equivalentClass
tripletek alanya oszt�lyn�v, a
t�rgya pedig oszt�lyn�v vagy korl�toz�s legyen;rdfs:subClassOf
tripletek alanya szint�n oszt�lyn�v, a
t�rgya pedig oszt�lyn�v vagy korl�toz�s legyen;owl:intersectionOf
konstrukci�t csak egyn�l t�bb elemet
tartalmaz� list�kra alkalmazzuk, ahol a lista-elemek oszt�lynevek vagy
korl�toz�sok;
MEGJEGYZ�S: Ez egy iskolap�lda arra, hogy hogyan
haszn�ljuk OWL Lite-ban az owl:intersectionOf
konstrukci�t:
<owl:Class rdf:ID="Woman"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Female"/> <owl:Class rdf:about="#Human"/> </owl:intersectionOf> </owl:Class/>
owl:allValuesFrom
�s az owl:someValuesFrom
tripletek t�rgya oszt�lyn�v vagy adatt�pusn�v legyen;rdf:type
triplet t�rgya oszt�lyn�v vagy korl�toz�s
legyen;rdfs:domain
triplet t�rgya oszt�lyn�v legyen; valamint,
hogyrdfs:range
triplet t�rgya oszt�lyn�v vagy adatt�pusn�v
legyen.Az OWL Lite limit�lt kifejez�k�pess�ge m�g�tt az a gondolat h�z�dik meg, hogy legyen egy olyan minim�lis, de hasznos r�szhalmaza az OWL nyelvnek, amelyet az eszk�zfejleszt�k m�g viszonylag egyszer�en t�mogatni k�pesek. Az OWL Lite nyelvi konstrukci�i tartalmazz�k az alapvet� elemeket aloszt�lyhierarchi�k �p�t�s�hez is (aloszt�lydefin�ci�k �s tulajdons�gkorl�toz�sok form�j�ban). Emellett az OWL Lite lehet�v� teszi, hogy a tulajdons�gokat opcion�liss� vagy k�telez�v� tegy�k. Az OWL Lite-ot a korl�tai az OWL DL-n�l alacsonyabb komplexit�si oszt�lyba sorolj�k. Ez pozit�v hat�ssal lehet az OWL Lite k�vetkeztet�g�pek hat�konys�g�ra is.
Azok az OWL implement�ci�k, amelyek csak az OWL Lite sz�k�szlet�t t�mogatj�k, de egy�bk�nt laz�tanak az OWL DL k�t�tts�gein, nem tarthatnak ig�nyt a teljes sz�m�that�s�gra a konzisztencia biztos�t�sa �s a komplexit�s kezelhet�s�ge tekintet�ben. Mindenesetre, az ilyen implement�ci�k hasznosak lehetnek abban, hogy lehet�v� teszik az OWL rendszerek egy�ttm�k�d�s�t az RDFS modellekkel, adatb�zisokkal, jel�l� eszk�z�kkel �s m�s, nem k�vetkeztet� c�l� eszk�z�kkel. A Web Ontol�gia Munkacsoport nem adott nevet az ilyen implement�ci�k potenci�lisan hasznos r�szhalmaz�nak.
MEGJEGYZ�S: Ez a f�ggel�k csak az OWL-specifikus konstrukci�kat tartalmazza. Az RDF/RDFS konstrukci�k tekintet�ben l�sd az RDF dokument�ci�t, k�l�n�sen az RDF S�ma dokumentumot [RDF Sz�k�szlet].
Az olvas� az 1.7 szekci�ban tal�lja meg annak le�r�s�t, hogy milyen c�lokat szolg�l ez a f�ggel�k. A f�ggel�k RDF/XML v�ltozata megtal�lhat� a W3C weblapj�n: http://www.w3.org/2002/07/owl
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > <!ENTITY owl "http://www.w3.org/2002/07/owl#" > ]> <rdf:RDF xmlns ="&owl;" xmlns:owl ="&owl;" xml:base ="http://www.w3.org/2002/07/owl" xmlns:rdf ="&rdf;" xmlns:rdfs="&rdfs;" > <Ontology rdf:about=""> <imports rdf:resource="http://www.w3.org/2000/01/rdf-schema"/> <rdfs:isDefinedBy rdf:resource="http://www.w3.org/TR/2004/REC-owl-semantics-20040210/" /> <rdfs:isDefinedBy rdf:resource="http://www.w3.org/TR/2004/REC-owl-test-20040210/" /> <rdfs:isDefinedBy rdf:resource="http://www.w3.org/TR/2004/REC-owl-features-20040210/" /> <rdfs:comment>This file specifies in RDF Schema format the built-in classes and properties that together form the basis of the RDF/XML syntax of OWL Full, OWL DL and OWL Lite. We do not expect people to import this file explicitly into their ontology. People that do import this file should expect their ontology to be an OWL Full ontology. </rdfs:comment> <versionInfo>10 February 2004</versionInfo> </Ontology> <rdfs:Class rdf:ID="Class"> <rdfs:label>Class</rdfs:label> <rdfs:subClassOf rdf:resource="&rdfs;Class"/> </rdfs:Class> <Class rdf:ID="Thing"> <rdfs:label>Thing</rdfs:label> <unionOf rdf:parseType="Collection"> <Class rdf:about="#Nothing"/> <Class> <complementOf rdf:resource="#Nothing"/> </Class> </unionOf> </Class> <Class rdf:ID="Nothing"> <rdfs:label>Nothing</rdfs:label> <complementOf rdf:resource="#Thing"/> </Class> <rdf:Property rdf:ID="equivalentClass"> <rdfs:label>equivalentClass</rdfs:label> <rdfs:subPropertyOf rdf:resource="&rdfs;subClassOf"/> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="#Class"/> </rdf:Property> <rdf:Property rdf:ID="disjointWith"> <rdfs:label>disjointWith</rdfs:label> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="#Class"/> </rdf:Property> <rdf:Property rdf:ID="equivalentProperty"> <rdfs:label>equivalentProperty</rdfs:label> <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf"/> </rdf:Property> <rdf:Property rdf:ID="sameAs"> <rdfs:label>sameAs</rdfs:label> <rdfs:domain rdf:resource="#Thing"/> <rdfs:range rdf:resource="#Thing"/> </rdf:Property> <rdf:Property rdf:ID="differentFrom"> <rdfs:label>differentFrom</rdfs:label> <rdfs:domain rdf:resource="#Thing"/> <rdfs:range rdf:resource="#Thing"/> </rdf:Property> <rdfs:Class rdf:ID="AllDifferent"> <rdfs:label>AllDifferent</rdfs:label> </rdfs:Class> <rdf:Property rdf:ID="distinctMembers"> <rdfs:label>distinctMembers</rdfs:label> <rdfs:domain rdf:resource="#AllDifferent"/> <rdfs:range rdf:resource="&rdf;List"/> </rdf:Property> <rdf:Property rdf:ID="unionOf"> <rdfs:label>unionOf</rdfs:label> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="&rdf;List"/> </rdf:Property> <rdf:Property rdf:ID="intersectionOf"> <rdfs:label>intersectionOf</rdfs:label> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="&rdf;List"/> </rdf:Property> <rdf:Property rdf:ID="complementOf"> <rdfs:label>complementOf</rdfs:label> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="#Class"/> </rdf:Property> <rdf:Property rdf:ID="oneOf"> <rdfs:label>oneOf</rdfs:label> <rdfs:domain rdf:resource="&rdfs;Class"/> <rdfs:range rdf:resource="&rdf;List"/> </rdf:Property> <rdfs:Class rdf:ID="Restriction"> <rdfs:label>Restriction</rdfs:label> <rdfs:subClassOf rdf:resource="#Class"/> </rdfs:Class> <rdf:Property rdf:ID="onProperty"> <rdfs:label>onProperty</rdfs:label> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="&rdf;Property"/> </rdf:Property> <rdf:Property rdf:ID="allValuesFrom"> <rdfs:label>allValuesFrom</rdfs:label> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="&rdfs;Class"/> </rdf:Property> <rdf:Property rdf:ID="hasValue"> <rdfs:label>hasValue</rdfs:label> <rdfs:domain rdf:resource="#Restriction"/> </rdf:Property> <rdf:Property rdf:ID="someValuesFrom"> <rdfs:label>someValuesFrom</rdfs:label> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="&rdfs;Class"/> </rdf:Property> <rdf:Property rdf:ID="minCardinality"> <rdfs:label>minCardinality</rdfs:label> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="&xsd;nonNegativeInteger"/> </rdf:Property> <rdf:Property rdf:ID="maxCardinality"> <rdfs:label>maxCardinality</rdfs:label> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="&xsd;nonNegativeInteger"/> </rdf:Property> <rdf:Property rdf:ID="cardinality"> <rdfs:label>cardinality</rdfs:label> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="&xsd;nonNegativeInteger"/> </rdf:Property> <rdfs:Class rdf:ID="ObjectProperty"> <rdfs:label>ObjectProperty</rdfs:label> <rdfs:subClassOf rdf:resource="&rdf;Property"/> </rdfs:Class> <rdfs:Class rdf:ID="DatatypeProperty"> <rdfs:label>DatatypeProperty</rdfs:label> <rdfs:subClassOf rdf:resource="&rdf;Property"/> </rdfs:Class> <rdf:Property rdf:ID="inverseOf"> <rdfs:label>inverseOf</rdfs:label> <rdfs:domain rdf:resource="#ObjectProperty"/> <rdfs:range rdf:resource="#ObjectProperty"/> </rdf:Property> <rdfs:Class rdf:ID="TransitiveProperty"> <rdfs:label>TransitiveProperty</rdfs:label> <rdfs:subClassOf rdf:resource="#ObjectProperty"/> </rdfs:Class> <rdfs:Class rdf:ID="SymmetricProperty"> <rdfs:label>SymmetricProperty</rdfs:label> <rdfs:subClassOf rdf:resource="#ObjectProperty"/> </rdfs:Class> <rdfs:Class rdf:ID="FunctionalProperty"> <rdfs:label>FunctionalProperty</rdfs:label> <rdfs:subClassOf rdf:resource="&rdf;Property"/> </rdfs:Class> <rdfs:Class rdf:ID="InverseFunctionalProperty"> <rdfs:label>InverseFunctionalProperty</rdfs:label> <rdfs:subClassOf rdf:resource="&owl;ObjectProperty"/> </rdfs:Class> <rdfs:Class rdf:ID="AnnotationProperty"> <rdfs:subClassOf rdf:resource="&rdf;Property"/> </rdfs:Class> <AnnotationProperty rdf:about="&rdfs;label"/> <AnnotationProperty rdf:about="&rdfs;comment"/> <AnnotationProperty rdf:about="&rdfs;seeAlso"/> <AnnotationProperty rdf:about="&rdfs;isDefinedBy"/> <rdfs:Class rdf:ID="Ontology"> <rdfs:label>Ontology</rdfs:label> </rdfs:Class> <rdfs:Class rdf:ID="OntologyProperty"> <rdfs:subClassOf rdf:resource="&rdf;Property"/> </rdfs:Class> <rdf:Property rdf:ID="imports"> <rdfs:label>imports</rdfs:label> <rdf:type rdf:resource="#OntologyProperty"/> <rdfs:domain rdf:resource="#Ontology"/> <rdfs:range rdf:resource="#Ontology"/> </rdf:Property> <rdf:Property rdf:ID="versionInfo"> <rdfs:label>versionInfo</rdfs:label> <rdf:type rdf:resource="#AnnotationProperty"/> </rdf:Property> <rdf:Property rdf:ID="priorVersion"> <rdfs:label>priorVersion</rdfs:label> <rdf:type rdf:resource="#OntologyProperty"/> <rdfs:domain rdf:resource="#Ontology"/> <rdfs:range rdf:resource="#Ontology"/> </rdf:Property> <rdf:Property rdf:ID="backwardCompatibleWith"> <rdfs:label>backwardCompatibleWitesh</rdfs:label> <rdf:type rdf:resource="#OntologyProperty"/> <rdfs:domain rdf:resource="#Ontology"/> <rdfs:range rdf:resource="#Ontology"/> </rdf:Property> <rdf:Property rdf:ID="incompatibleWith"> <rdfs:label>incompatibleWith</rdfs:label> <rdf:type rdf:resource="#OntologyProperty"/> <rdfs:domain rdf:resource="#Ontology"/> <rdfs:range rdf:resource="#Ontology"/> </rdf:Property> <rdfs:Class rdf:ID="DeprecatedClass"> <rdfs:label>DeprecatedClass</rdfs:label> <rdfs:subClassOf rdf:resource="&rdfs;Class"/> </rdfs:Class> <rdfs:Class rdf:ID="DeprecatedProperty"> <rdfs:label>DeprecatedProperty</rdfs:label> <rdfs:subClassOf rdf:resource="&rdf;Property"/> </rdfs:Class> <rdfs:Class rdf:ID="DataRange"> <rdfs:label>DataRange</rdfs:label> </rdfs:Class> </rdf:RDF>
Oszt�lyok az OWL sz�k�szlet�ben:
Tulajdons�gok az OWL sz�k�szlet�ben (a t�bl�zat tartalmazza a tulajdons�gok �rv�nyess�gi k�r�t (domain) �s �rt�ktartom�ny�t (range) is):
rdf:Property | rdfs:domain | rdfs:range |
---|---|---|
owl:allValuesFrom | owl:Restriction | rdfs:Class |
owl:backwardCompatibleWith | owl:Ontology | owl:Ontology |
owl:cardinality | owl:Restriction | xsd:nonNegativeInteger |
owl:complementOf | owl:Class | owl:Class |
owl:differentFrom | owl:Thing | owl:Thing |
owl:disjointWith | owl:Class | owl:Class |
owl:distinctMembers | owl:AllDifferent | rdf:List |
owl:equivalentClass | owl:Class | owl:Class |
owl:equivalentProperty | rdf:Property | rdf:Property |
owl:hasValue | owl:Restriction | |
owl:imports | owl:Ontology | owl:Ontology |
owl:incompatibleWith | owl:Ontology | owl:Ontology |
owl:intersectionOf | owl:Class | rdf:List |
owl:inverseOf | owl:ObjectProperty | owl:ObjectProperty |
owl:maxCardinality | owl:Restriction | xsd:nonNegativeInteger |
owl:minCardinality | owl:Restriction | xsd:nonNegativeInteger |
owl:oneOf | owl:Class | rdf:List |
owl:onProperty | owl:Restriction | rdf:Property |
owl:priorVersion | owl:Ontology | owl:Ontology |
owl:sameAs | owl:Thing | owl:Thing |
owl:someValuesFrom | owl:Restriction | rdfs:Class |
owl:unionOf | owl:Class | rdf:List |
owl:versionInfo |
Ez a f�ggel�k �sszefoglalja azokat a v�ltoztat�sokat, amelyek a [DAML+OIL]-r�l az OWL-ra t�rt�n� �talakul�s sor�n keletkeztek.
rdfs:domain
vagy rdfs:range
tulajdons�g megad�s�t �gy kezeli az OWL mint metszetet<size> <xsd:integer rdf:value="10"/> </size>Ehelyett az OWL-ban ezt haszn�ljuk:
<size rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">10</size>
daml:List
konstrukci�, amelyet z�rt kollekci�k
�br�zol�s�ra haszn�lt a DAML+OIL, nagym�rt�kben �tker�lt az RDF-be
rdf:parseType="daml:collection"
konstrukci�t
felv�ltja az rdf:parseType="Collection"
konstrukci�daml:List
, daml:first
,
daml:rest
, �s daml:nil
hely�be
az rdf:List
, rdf:first
,
rdf:rest
�s rdf:nil
l�p.a daml:item
konstrukci�t nem t�mogatja az OWL.
Mivel tipikusan ezt haszn�lt�k tipiz�lt list�k �br�zol�s�ra, az
al�bbiakban bemutatunk egy p�ld�t arr�l, hogy mik�nt kre�lhatunk
egy ilyen list�t daml:item
haszn�lata n�lk�l:
<rdfs:Class rdf:ID="OperaList"> <rdfs:subClassOf rdf:resource="&rdf;List"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&rdf;first"/> <owl:allValuesFrom rdf:resource="#Opera"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&rdf;rest"/> <owl:allValuesFrom rdf:resource="#OperaList"/> </owl:Restriction> </rdfs:subClassOf> </rdfs:Class>Ebben a p�ld�ban egy list�t defini�ltunk, amelynek az elemei oper�k. Ezt k�t korl�toz�s seg�ts�g�vel val�s�tottuk meg: az egyik az
rdf:first
�rt�kre vonatkozik (mely a
lista-elem t�pus�t �br�zolja), a m�sik pedig az
rdf:rest
�rt�kre (mely a defini�lt lista nev�t adja
meg).daml:cardinalityQ
daml:hasClassQ
daml:maxCardinalityQ
daml:minCardinalityQ
DAML+OIL | OWL |
---|---|
daml:differentIndividualFrom |
owl:differentFrom |
daml:equivalentTo |
owl:sameAs |
daml:sameClassAs |
owl:equivalentClass |
daml:samePropertyAs |
owl:equivalentProperty |
daml:hasClass |
owl:someValuesFrom |
daml:toClass |
owl:allValuesFrom |
daml:UnambiguousProperty |
owl:InverseFunctionalProperty |
daml:UniqueProperty |
owl:FunctionalProperty |
Az owl:SymmetricProperty
beleker�lt
a nyelvbe.owl:AnnotationProperty
,
az owl:OntologyProperty
�s az owl:DataRange
konstrukci�kat.owl:DatatypeProperty
lehet
owl:InverseFunctionalProperty
is.daml:comment
daml:domain
daml:label
daml:isDefinedBy
daml:Literal
daml:Property
daml:range
daml:seeAlso
daml:subClassOf
daml:subPropertyOf
daml:type
daml:value
daml:disjointUnionOf
konstrukci�t t�r�lt�k a nyelvb�l,
hiszen ez megval�s�that� az owl:unionOf
vagy rdfs:subClassOf
�s az owl:disjointWith
kombin�ci�j�val.daml:equivalentTo
kifejez�s az owl:sameAs
nevet kapta, �s egyben megsz�nt
az owl:equivalentClass
�s
az owl:equivalentProperty
szupertulajdons�ga lenni.Az OWL Szemantika �s absztrakt szintaxis dokumentum [OWL Sz&ASz] adja meg az OWL ontol�gi�k pontos le�r�s�t absztrakt szintaxis, illetve RDF tripletekre t�rt�n� lek�pez�s form�j�ban.
Az al�bbi szab�lyok azon felt�telek inform�lis le�r�s�t adj�k, amelyek teljes�l�se eset�n egy RDF gr�f DL szint� ontol�gi�nak min�s�thet�. Ezzel nem sz�nd�kunk helyettes�teni azt a form�lis le�r�st, amelyet az Sz&ASz dokumentum ad, hanem csak �ltal�nos fog�dz�t k�v�nunk adni. Nem c�lunk ezzel azt sem elmondani, hogy mik�nt lehet a tripletes �br�zol�st az absztrakt szintaxishoz k�zelebb �ll� alakra hozni. Puszt�n csak azt k�v�njuk mindezzel sugallni, hogy ha az olvas� betartja az itt megadott szab�lyokat, akkor nagy val�sz�n�s�ggel OWL DL szint� ontol�gi�kat fog produk�lni.
A be�p�tett tulajdons�gokat �s oszt�lyokat ne akarjuk �jradefini�lni. Ez �ltal�ban teljes�l, ha az OWL, az RDF �s az RDFS n�vt�rben szerepl� dolgokat nem szerepeltetj�k tripletek alanyak�nt.
Mindennek kell, hogy legyen egy t�pusa1. Ha
b�rmilyen x URI hivatkoz�st haszn�lunk ott, ahol egy oszt�lynak kell
szerepelnie, a gr�fnak kell tartalmaznia egy ilyen tripletet:
x rdf:type owl:Class
Hasonl�k�ppen, ha egy p
tulajdons�got haszn�lunk
ott, ahol a nyelv egy objektumtulajdons�got v�r el, akkor lennie kell egy
ilyen tripletnek is:2
p rdf:type owl:ObjectProperty
Vagy, ha egy q
tulajdons�got haszn�lunk ott, ahol
egy adatt�pus-tulajdons�got v�r a nyelv, akkor szerepelnie kell egy ilyen
tripletnek is:
q rdf:type owl:DatatypeProperty
Ha egy o
tulajdons�got haszn�lunk ott, ahol egy
ontol�giatulajdons�gnak kell szerepelnie, akkor o-nak egy ilyen
be�p�tett tulajdons�gnak kell lennie, mint owl:imports
,
owl:priorVersion
, owl:backwardCompatibleWith
, vagy
owl:incompatibleWith
), vagy pedig meg kell adni egy ilyen
tripletet:
o rdf:type owl:OntologyProperty
Ha egy olyan a tulajdons�got haszn�lunk ott, ahol egy
annot�ci�tulajdons�got v�r a nyelv, akkor a-nak egy be�p�tett
annot�ci�tulajdons�gnak (owl:versionInfo
,
rdfs:label
, rdfs:comment
, vagy
rdfs:seeAlso
vagy rdfs:isDefinedBy
) kell lennie,
vagy pedig defini�lnunk egy ilyen tripletet az a tulajdons�gra:
a rdf:type owl:AnnotationProperty
Minden egyed sz�m�ra, amelyik megjelenik az ontol�gi�ban legal�bb egy t�pust specifik�lni kell, azaz, egy i egyed sz�m�ra meg kell adni egy ilyen tripletet:
i rdf:type c
ahol c
egy owl:Class
vagy egy
owl:Restriction
.
Az oszt�lyoknak, az objektum-, adatt�pus-, ontol�gia- �s annot�ci�tulajdons�goknak, valamint az egyedek URI hivatkoz�sainak diszjunkt halmazokat kell alkotniuk. Az al�bbi m�don teh�t nem adhatunk meg t�pusokat:
x rdf:type owl:Class x rdf:type owl:ObjectProperty
�s k�l�n�sen: nem haszn�lhatunk oszt�lyokat egyed szerepben, ahogyan pl. az al�bbi p�lda teszi:
x rdf:type owl:Class y rdf:type owl:Class x rdf:type y
Ez ugyanis nem leg�lis az OWL DL-ben. Az �ltal�nos szab�ly itt az, hogy ha van a gr�fban egy x csom�pont egy ilyen tripletben:
x rdf:type owl:Class
akkor x
nem jelenhet meg alanyk�nt egy m�sik olyan
tripletben, amelynek �ll�tm�nya rdf:type
.3
Ha egy x
csom�pont t�pusa korl�toz�s
(x rdf:type owl:Restriction
), akkor az x
csom�ponttal kapcsolatban az al�bbi helyzetnek kell fenn�llnia:
rdf:type
3.owl:onProperty
, m�gpedig �gy,
hogy a tripletnek a t�rgya vagy owl:ObjectProperty
vagy
owl:DatatypeProperty
t�pus�.owl:someValuesFrom
. Ebben az esetben, az
owl:onProperty
triplet t�rgyak�nt szerepl�
tulajdons�gnak ezzel adekv�tnak kell lennie. Ez azt jelenti, hogy ha
a triplet t�rgya egy adatt�pus, akkor a tulajdons�gnak
owl:DatatypeProperty
t�pus�nak kell lennie; ha pedig a
t�rgy egy oszt�lyle�r�s, akkor
a tulajdons�gnak
owl:ObjectProperty
t�pus�nak kell lennie. Ez a tipiz�l�
inform�ci� sohasem maradhat el (a fentebb eml�tett megk�t�s miatt).owl:allValuesFrom
. Itt ugyanazok a megk�t�sek
�rv�nyesek, mint az owl:someValuesFrom
eset�ben.owl:hasValue
. Ha az owl:onProperty
tripletben megadott tulajdons�g t�pusa
owl:ObjectProperty
, akkor ennek a tripletnek a t�rgya
egy egyed kell hogy legyen. Ha pedig az owl:onProperty
tripletben megadott tulajdons�g t�pusa
owl:DatatypeProperty
, akkor a triplet�nk t�rgy�nak egy
liter�lnak kell lennie.owl:minCardinality
. E triplet t�rgy�nak egy
adat-liter�lnak kell lennie, mely egy nemnegat�v eg�sz sz�mot
�br�zol.owl:maxCardinality
. A megk�t�s itt is ugyanaz, mint az
owl:minCardinality
eset�ben.owl:cardinality
. A megk�t�s itt is ugyanaz, mint az
owl:minCardinality
eset�ben.owl:equivalentClass
vagy owl:disjointWith
lehet.Minden olyan tripletnek, amelynek �ll�tm�nya rdfs:subClassOf
,
owl:equivalentClass
, vagy owl:disjointWith
, az
alanya �s t�rgya egyar�nt egy owl:Class
vagy egy
owl:Restriction
kell hogy legyen. Pl., ha van egy
x rdfs:subClassOf y
triplet�nk, akkor a gr�fnak a k�vetkez�ket is tartalmaznia kell: egy
x rdf:type owl:Class
vagy egy
x rdf:type owl:Restriction
tripletet; valamint egy
y rdf:type owl:Class
vagy egy
y rdf:type owl:Restriction
tripletet.
Minden olyan tripletnek, amelynek az �ll�tm�nya
rdfs:subPropertyOf
vagy owl:equivalentProperty
, az
alanya �s a t�rgya ugyanolyan t�pus�, m�gpedig az
owl:ObjectProperty
vagy az owl:DatatypeProperty
valamelyike kell hogy legyen; azaz, ha van egy ilyen triplet�nk:
p owl:equivalentProperty q
akkor a gr�fnak tartalmaznia kell vagy egy:
p rdf:type owl:ObjectProperty q rdf:type owl:ObjectProperty
triplet p�rt, vagy pedig egy
p rdf:type owl:DatatypeProperty q rdf:type owl:DatatypeProperty
triplet p�rt.
Azoknak a tripleteknek, amelyeknek az �ll�tm�nya rdfs:domain
,
alanyk�nt egy owl:ObjectProperty
, vagy egy
owl:DatatypeProperty
t�pus� tulajdons�got, t�rgyk�nt pedig egy
owl:Class
vagy owl:Restriction
t�pust kell
tartalmazniuk.
Azoknak a tripleteknek, amelyeknek az �ll�tm�nya rdfs:range
,
alanyk�nt vagy egy owl:ObjectProperty
, vagy egy
owl:DatatypeProperty
t�pus� tulajdons�got kell tartalmazniuk. Az
el�bbi esetben a triplet t�rgya egy owl:Class
vagy egy
owl:Restriction
t�pus lehet, az ut�bbi esetben pedig egy XML
S�ma adatt�pus, egy rdfs:Literal
, vagy egy
owl:oneOf
elem, mely egy owl:DataRange
t�pus�
adattartom�nyt defini�l.
Egy
owl:inverseOf
tripletnek mind az alanya,
mind pedig a t�rgya owl:ObjectProperty
t�pus� kell hogy
legyen.
Minden owl:sameAs
vagy owl:differentFrom
�ll�tm�nyt tartalmaz� triplet alany�nak egyednek kell lennie.
Jegyezz�k meg, hogy k�t oszt�lynak egy owl:sameAs
tulajdons�ggal t�rt�n� �sszekapcsol�sa nagym�rt�kben k�l�nb�zik att�l az
esett�l, amikor az owl:equivalentClass
tulajdons�ggal kapcsoljuk
�ssze �ket. Az el�bbi azt mondja, hogy a k�t objektum t�nylegesen
ugyanaz (ami p�lda arra az esetre, amikor az oszt�lyokat egyedeknek
tekintj�k, s ez az ontol�gi�nkat ki is szor�tja az OWL DL-b�l). Az ut�bbi
pedig azt jelenti ki, hogy csup�n a k�t oszt�ly kiterjed�se (az
egyedeik halmaza) az, ami egyenl�.
Hasonl�k�ppen, az oszt�lyok owl:differentFrom
rel�ci�val
t�rt�n� �sszekapcsol�sa nem ugyanaz, mintha az owl:disjointWith
rel�ci�val kapcsoltuk volna �ssze �ket (ami szint�n egy p�lda az OWL Full
szint� konstrukci�ra). K�t oszt�ly lehet k�t k�l�nb�z� objektum, de a
kiterjed�s�k m�gis k�z�s lehet.
Ha egy x
csom�pont t�pusa
owl:AllDifferent
, akkor OWL DL eset�n a k�vetkez� helyzetnek
kell fenn�llnia:
owl:distinctMembers
, a t�rgya pedig egy szintaktikailag
pontos (well-formed) rdf:List
, amelynek listaelemei mind
egyedek.A Boole-algebrai oper�torokat (�S, VAGY, NEM) az OWL-ban, rendre, az
owl:intersectionOf
, az owl:unionOf
�s az
owl:complementOf
konstrukci�k helyettes�tik.
Egy owl:complementOf
triplet alanya egy
owl:Class
, a t�rgya pedig egy m�sik owl:Class
vagy
egy owl:Restriction
kell hogy legyen.
Egy owl:unionOf
vagy egy owl:intersectionOf
triplet alanya egy owl:Class
, a t�rgya pedig egy
(szintaktikailag pontos) rdf:List
kell hogy legyen; ez ut�bbi
listaelemeinek pedig vagy owl:Class
vagy
owl:Restriction
t�pus�aknak kell lenni�k, ahol a lista elemeit
vagy explicit m�don, a kiterjesztett rdf:List
seg�ts�g�vel, vagy
pedig, ha RDF-XML-t haszn�lunk, akkor az
rdf:parseType="Collection"
attrib�tum seg�ts�g�vel
�br�zoljuk.
<owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="x"/> <owl:Class rdf:about="y"/> </owl:intersectionOf> </owl:Class>
Ha egy owl:Class
egy �res csom�pont (vagyis, az oszt�ly
n�vtelen), akkor az csak egyetlen olyan triplet alanya lehet,
amelynek �ll�tm�nya owl:intersectionOf
, owl:unionOf
vagy owl:complementOf
. Ha az oszt�ly neves�tett, akkor
tetsz�leges sz�m� ilyen triplet enged�lyezett a sz�m�ra.
Minden olyan tripletnek az alanya, amelynek az �ll�tm�nya
owl:oneOf
, az vagy egy owl:Class
, vagy egy
owl:DataRange
t�pus� objektum kell hogy legyen. Az el�bbi
esetben a triplet t�rgy�nak egy olyan (szintaktikailag pontos)
rdf:List
felsorol�snak kell lennie, amelynek minden eleme egy
egyed. Az ut�bbi esetben pedig egy olyan (szintaktikailag ugyancsak pontos)
rdf:List
felsorol�snak, amelynek minden eleme egy adat-liter�l.
Itt is, mint a Boole-algebrai oper�torokn�l, az rdf:List
helyett
az rdf:parseType="Collection"
is haszn�lhat�.
Minden olyan triplet eset�n, amelyben az �ll�tm�ny egy ontol�giatulajdons�g, az alanynak �s a t�rgynak egyar�nt ontol�gi�nak kell lennie (vagyis, egy olyan x csom�pontnak, amelyre l�tezik egy ilyen triplet):
x rdf:type owl:Ontology
Minden olyan triplet eset�n, ahol az �ll�tm�ny egy annot�ci�tulajdons�g, az alanynak egy neves�tett, azaz nem �res csom�ponttal reprezent�lt oszt�lynak, egy tulajdons�gnak, egy egyednek, vagy egy ontol�gi�nak kell lennie. Az ilyen, annot�ci�s �ll�tm�nnyal rendelkez� triplet t�rgya pedig csak egy egyed, egy adat-liter�l, vagy egy tetsz�leges URI hivatkoz�s lehet.
Olyan �ll�tm�nyok kiv�tel�vel, amelyek az OWL, az RDF vagy az RDFS sz�k�szletb�l val�k, csak az annot�ci�s �ll�tm�nyoknak kell olyan tripletekben megjelenni�k, amelyek alanya egy oszt�ly vagy egy tulajdons�g.
Maguknak az annot�ci�- �s ontol�giatulajdons�goknak is tipiz�ltnak kell lenni�k, �s nem jelenhetnek meg
tripletek alanyak�nt vagy t�rgyak�nt m�sk�nt, mint olyan triplet alanyak�nt,
amelynek az �ll�tm�nya rdf:type
vagy egy
annot�ci�tulajdons�g.
Az OWL Sz&ASz le�r�sa ugyanis ezt �ltal�ban nem engedi meg az RDF �br�zol�sban. Ez gyakorlatilag azt jelenti, hogy az RDF gr�f egy n�vtelen csom�pontja, mely oszt�lyle�r�st �br�zol, csak egyszer fordulhat el� (egy triplet t�rgyak�nt). �gy teh�t az al�bbi haszn�lat ker�lend�:
x1 rdf:type owl:Class x1 rdfs:subClassOf _:y x2 rdf:type owl:Class x2 rdfs:subClassOf _:y _:y rdf:type owl:Class _:y owl:complementOf z
Vannak azonban olyan tr�kk�s helyzetek, amikor az ilyesmi megengedett. �ltal�ban azonban a gr�fnak k�l�n�ll� �res csom�pontokat kell haszn�lnia, amikor ugyanannak oszt�lyle�r�snak t�bb helyen kell szerepelnie.
A gr�fban megjelen� �res csom�pontok �ltal�ban vagy n�vtelen egyedeket �br�zolnak, vagy az al�bbiak k�z�l valamelyiket (de csak egyiket):
rdfs:subClassOf
, egy owl:equivalentClass
,
egy owl:disjointWith
, egy owl:someValuesFrom
,
egy owl:allValuesFrom
vagy egy rdf:type
triplet
t�rgy�t.rdf:type
triplet alany�t,
owl:AllDifferent
�ll�tm�nnyal.rdf:List
egyik elem�t.Az �rva �res csom�pontok, vagyis az olyan �res csom�pontok, amelyek nem
t�rgyai valamilyen tripletnek, �ltal�ban nem enged�lyezettek (a fentebb le�rt
owl:AllDifferent
kiv�tel�vel).
Az ontol�gi�k kijelent�seket tartalmazhatnak alapvet� t�nyekr�l (pl. olyan
tripletek form�j�ban, amelyek egyedek tulalajdons�gait defini�lj�k). Az ilyen
t�ny�ll�t�sokban haszn�lt tulajdons�goknak owl:ObjectProperty
vagy owl:DatatypeProperty
oszt�ly�aknak kell lenni�k. A
t�ny�ll�t�sok alanya egy egyed kell hogy legyen, mely csakis tipiz�lt lehet. A t�ny�ll�t�sok t�rgya pedig vagy
egy egyedre val� hivatkoz�s, (ha a tulajdons�g
owl:ObjectProperty
oszt�ly�) vagy egy adat-liter�l (ha a
tulajdons�g owl:DatatypeProperty
oszt�ly�).
Az OWL Lite dokumentumoknak ugyanazokat a szab�lyokat kell k�vetni�k, mint az OWL DL dokumentumoknak, de n�h�ny tov�bbi korl�toz�ssal, f�leg az enged�lyezett sz�k�szlet vonatkoz�s�ban. Az OWL Lite dokumentumok nem haszn�lhatj�k az al�bbi sz�k�szletet:
owl:unionOf
owl:complementOf
owl:oneOf
owl:hasValue
owl:disjointWith
Az owl:equivalentClass
t�pus� tripletek alanyai vagy t�rgyai
nem lehetnek �res csom�pontok.
Az owl:minCardinality
, az owl:maxCardinality
�s
az owl:cardinality
�ll�tm�ny� tripletek t�rgya csak egy olyan
adat-liter�l lehet, amelynek �rt�ke 0 vagy 1 (nemnegat�v eg�sz sz�m).
Az OWL Lite-n�l az owl:intersectionOf
haszn�lat�val
kapcsolatos helyzet egy kicsit bonyolultabb, mint az OWL DL-n�l. Ez az
�ll�tm�ny itt nem haszn�lhat� tetsz�leges kifejez�sek
alkot�s�ra, de n�lk�l�zhetetlen ahhoz, hogy komplett
oszt�lydefin�ci�kat tudjunk �br�zolni. A fenti (OWL DL t�pus�) megk�t�sek azt
mondj�k ki, hogy minden olyan triplet alanya, amelynek �ll�tm�nya
owl:intersectionOf
, egy owl:Class
kell hogy legyen.
Az OWL Lite-n�l ehhez m�g az a megk�t�s is t�rsul, hogy ez az OWL oszt�ly egy
n�vvel kell hogy rendelkezz�k, teh�t nem lehet egy �res csom�pont.
�vatosnak kell lenn�nk az owl:Thing
haszn�lat�val. P�ld�ul,
ez az OWL-RDF k�dr�szlet:
<owl:Class rdf:about="#A"> <rdfs:subClassOf> <owl:Thing/> </rdfs:subClassOf> </owl:Class>
nem azt mondja az A
oszt�lyr�l,
hogy az owl:Thing
aloszt�lya (amit gondoln�nk), hanem
t�nylegesen azt, hogy A
az owl:Thing
oszt�ly valamilyen n�vtelen egyed�nek az aloszt�lya. Itt teh�t egy oszt�lyt
egyedk�nt kezelt�nk, ami nem leg�lis az OWL DL-ben. A k�v�nt hat�st, vagyis
hogy A-t az owl:Thing
aloszt�lyak�nt deklar�ljuk, az
al�bbi k�dr�szlettel �rhetj�k el:
<owl:Class rdf:about="#A"> <rdfs:subClassOf> <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing"/> </rdfs:subClassOf> </owl:Class>
Vigy�zzunk, nehogy �sszet�vessz�k az owl:Class
�s az
rdfs:Class
oszt�lyt. Az al�bbi pl. nem DL k�d,
mivel c sz�m�ra
nem deklar�ltunk megfelel� t�pust.
c rdf:type rdfs:Class
[1] Term�szetesen, az a k�vetelm�ny, hogy mindent tipiz�lni sz�ks�ges, nem vonatkozik az OWL, az RDF �s az RDFS n�vterekben szerepl� dolgokra.
[2] Szigor�an v�ve: ha a tulajdons�got �gy
defini�ltuk, hogy az egy owl:TransitiveProperty
, egy
owl:SymmetricProperty
vagy egy
owl:InverseFunctionalProperty
, akkor ez nem sz�ks�ges.
[3] Ezek azok a kiv�telek, amelyek el�fordulhatnak:
x rdf:type rdfs:Class x rdf:type owl:Class
p rdf:type rdf:Property p rdf:type owl:ObjectProperty
vagy pedig az al�bbiak:
q rdf:type rdf:Property q rdf:type owl:DatatypeProperty.
s�t (korl�toz�ssal kapcsolatban) ez is megengedett:
x rdf:type owl:Restriction x rdf:type rdfs:Class x rdf:type owl:Class
megjegyz�se nyom�n.
http://www.w3.org/TR/daml+oil-reference
.