Az OWL Web Ontol骻ia Nyelv – Referencia

(Ez a ford韙醩 a W3C Magyar Irod醞醤ak megb韟醩醔髄, az
Informatikai 閟 H韗k鰖l閟i Miniszt閞ium

t醡ogat醩醰al k閟z黮t)

Az eredeti dokumentum:
OWL Web Ontology Languaguage Reference
http://www.w3.org/TR/2004/REC-owl-ref-20040210/
A leford韙ott dokumentum:
http://www.w3c.hu/forditasok/OWL/REC-owl-ref-20040210.html
Magyar ford韙醩 (Hungarian translation):
Pataki, Ern 2004 (pataki.erno@w3c.hu)
A ford韙醩 st醫usa:
K閦irat. Lez醨va: 2004.11.15.
Utolj醨a m骴os韙va: 2005.04.25.
Ez a ford韙醩 a W3C enged閘y関el, a ford韙醩okra el蹴rt formai szab醠yok szerint, lelkiismeretes szakford韙骾 munk醰al k閟z黮t. Ennek ellen閞e nem lehet kiz醨ni, hogy hib醟 maradtak a ford韙醩ban. Emellett a magyar ford韙醩 nem is k鰒eti felt閠len黮 az eredeti angol nyelv dokumentumon v間rehajtott j鰒鮞eli v醠toztat醩okat. Ez閞t a ford韙醩 nem tekinthet normat韛 W3C dokumentumnak. A dokumentum normat韛, mindenkori leg鷍abb, hivatalos, angol nyelv v醠tozat醫 l醩d a W3C megfelel weblapj醤: http://www.w3.org/TR/owl-ref/
Megjegyz閟ek a ford韙醩hoz:
1.) A ford韙醩sal kapcsolatos olvas骾 閟zrev閠eleket a ford韙 e-mail c韒閞e k閞j黭.
2.) A ford韙 a saj醫 megjegyz閟eit felt鹡鮡n elk黮鰊韙i a dokumentum sz鰒eg閎en.
3.) A ford韙醩sal kapcsolatos tov醔bi inform醕i髃at, valamint a terminol骻iai k閞d閟ek diszkusszi骿醫 l醩d a K鰏z鰊etnyilv醤韙醩 閟 megjegyz閟ek a magyar ford韙醩hoz c. mell閗letben.
4.) A W3C Magyar Irod醞a a lehet鮯間ek szerint leford韙tatja az OWL-ra 閟 az RDF-re vonatkoz W3C aj醤l醩ok legt鯾b dokumentum醫. Ha teh醫 egy leford韙ott dokumentumb髄 olyan OWL/RDF dokumentumra t鰎t閚ik hipertext-hivatkoz醩, mely magyar v醠tozatban is rendelkez閟re 醠l, akkor a megfelel link 醠tal醔an a magyar v醠tozatra mutat. A kiv閠elt azok a hivatkoz醩ok k閜ezik, amelyeknek a W3C sz醤d閗ai szerint mindenk閜pen az eredeti dokumentumra kell mutatniuk.

W3C

Az OWL Web Ontol骻ia Nyelv – Referencia

W3C Aj醤l醩, 2004. Febru醨 10.

Jelen verzi (angol eredeti):
http://www.w3.org/TR/2004/REC-owl-ref-20040210/
Legutols verzi (angol eredeti):
http://www.w3.org/TR/owl-ref/
El鮶 verzi (angol eredeti):
http://www.w3.org/TR/2003/PR-owl-ref-20031215/
Szerkeszt鮧:
Mike Dean, BBN Technologies
Guus Schreiber, Free University Amsterdam
Szerz鮧:
Sean Bechhofer, University of Manchester
Frank van Harmelen, Free University Amsterdam
Jim Hendler, University of Maryland
Ian Horrocks, University of Manchester
Deborah L. McGuinness, Stanford University
Peter F. Patel-Schneider, Bell Labs Research, Lucent Technologies
Lynn Andrea Stein, Franklin W. Olin College of Engineering

K閞j黭, k鰒esse figyelemmel a dokumentum eredeti angol nyelv v醠tozat醨a vonatkoz hibajegyz閗et, mert ez normat韛 korrekci髃at is tartalmazhat.

A dokumentumr髄 tov醔bi ford韙醩ok is rendelkez閟re 醠lnak.


Absztrakt

Az OWL Web Ontol骻ia Nyelv egy szemantikai jel鰈鮪yelv, mely ontol骻i醟 Weben t鰎t閚 publik醠醩醨a 閟 k鰖鰏 haszn醠at醨a szolg醠. Az OWL nyelvet az RDF (Resource Description Framework) sz髃閟zlet閚ek kiterjeszt閟ek閚t, a DAML+OIL nyelvb鮨 kiindulva fejlesztett閗 ki. Ez a dokumentum az OWL nyelvi konstrukci髃 teljes halmaz醤ak inform醠is le韗醩醫 tartalmazza, ez閞t referenciak閚t szolg醠hat azon felhaszn醠髃 sz醡醨a, akik ontol骻i醟at k韛醤nak 閜韙eni.

A dokumentum st醫usa

Ezt a dokumentumot a W3C Tagjai 閟 m醩 閞dekelt r閟ztvev鮧 ellen鮮izt閗, 閟 az Igazgat W3C Aj醤l醩k閚t hiteles韙ette. Az Aj醤l醩 elk閟z韙閟関el a W3C c閘ja 閟 szerepe az, hogy r醝r醤y韙sa a figyelmet a specifik醕i髍a, 閟 el鮯eg韙se annak sz閘es k鰎 alkalmaz醩醫. Ez megn鰒eli a Web haszn醠hat髎醙醫, 閟 jav韙ja a Weben t鰎t閚 egy黷tm鹝鰀閟t.

Ez a dokumentum annak a hat r閟zb鮨 醠l W3C Aj醤l醩nak egyik r閟ze, mely az OWL Web Ontol骻ia Nyelvet szabv醤yos韙ja. Ezt az Aj醤l醩t a W3C Szemantikus Web Munkaprogramja keret閎en a Web Ontol骻ia Munkacsoport dolgozta ki, 閟 2004. febru醨 10. d醫ummal publik醠ta. (L醩d a Munkaprogram-nyilatkozatot 閟 a Munkacsoport Alapszab醠y醫.)

Az OWL konstrukci骿醤ak a dokumentumok kor醔bi verzi骿醔an le韗t v醠tozat醫 jelent鮯en 醫dolgozt醟, s ez a konstrukci kiel間韙i a Munkacsoport technikai k鰒etelm閚yeit. A Munkacsoport megvizsg醠ta az 鰏szes be閞kezett 閟zrev閠elt, 閟 elv間ezte a sz黭s間es jav韙醩okat. Az Aj醤l醩tervezet 髏a a jelen Aj醤l醩 megsz黮et閟閕g a dokumentumon v間rehajtott m骴os韙醩okat a V醠toztat醩i napl螯/a> r閟zletezi.

A Munkacsoport sz韛esen fogadja az 閟zrev閠eleket a public-webont-comments@w3.org (E-mail arch韛um) c韒閚, az idev醙 technol骻i醟 醠tal醤os vit醞醫 pedig a www-rdf-logic@w3.org (E-mail arch韛um) c韒閚 folytatja.

Rendelkez閟re 醠l egy konszign醕i az ismert alkalmaz醩okr髄.

A W3C list醫 vezet tov醔b azokr髄 a felfedett szabadalmi ig閚yekr鮨 is, amelyek ehhez a munk醜oz kapcsol骴nak.

Ez a szekci a dokumentumnak a publik醠醩kor 閞v閚yes st醫us醫 r鰃z韙i. M醩 dokumentumok hat醠ytalan韙hatj醟 ezt a dokumentumot. A leg鷍abb W3C publik醕i髃 list醞a, valamint e technikai riport utols kiad醩a megtal醠hat a W3C technikai riportok index閎en, ahttp://www.w3.org/TR/ alatt.

K鰏z鰊etnyilv醤韙醩

A jelen dokumentum egyes r閟zei a "DAML+OIL (March 2001) Reference Description" [DAML+OIL] dokumentumb髄 sz醨maznak, amelyet a DAML+OIL W3C Note r閟zek閚t terjesztettek el? Ennek a dokumentumnak 閟 kor醔bi v醠tozatainak szponzorai k黮鰊leges k鰏z鰊etet 閞demelnek.

Jeremy Carroll, Jim Hendler, Brian McBride 閟 Peter Patel-Schneider l閚yegbev醙 lektori munk醫 v間eztek az anyagon, 閟 bizonyos sz鰒egr閟zek szerz鮥k閚t is k鰖rem鹝鰀tek. Jerome Euzenat bocs醫otta rendelkez閟黱kre a Felsorol醩 adatt韕ussal kapcsolatos egyik p閘d醫.

Ez a dokumentum azoknak a sz閘es k鰎 eszmecser閗nek 閟 egyeztet閟eknek az eredm閚ye, melyeket a Web Ontol骻ia Munkacsoporton mint eg閟zen bel黮 folytattunk. A r閟ztvev鮧 ebben a munkacsoportban: Yasser alSafadi, Jean-Fran鏾is 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閞鬽e 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黡iger 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 閟 John Yanosy.

Tartalomjegyz閗


1. Bevezet閟

1.1 A dokumentum c閘ja

Ez a dokumentum az OWL modellez nyelvi elemeinek szisztematikus 閟 t鰉鰎 informat韛 le韗醩醫 ny鷍tja az OWL sz醡醨a is 閞v閚yes RDF/XML adatcsere-szintaxis seg韙s間関el.

A jelen dokumentum annak az OWL Web Ontol骻ia Nyelv-le韗醩nak az egyik komponense, amelyet a W3C Web Ontol骻ia Munkacsoportja (WebOnt) k閟z韙. Az OWL 羣tekint閟 dokumentum 1.1 szekci骿a, "A javasolt olvas醩i sorrend" bemutatja az egyes r閟z-dokumentumokat, 閟 azt, hogy ezek mik閚t illeszkednek egym醩hoz. Azok az olvas髃, akik m間 nem ismerik az OWL-t, els鮧閚t elolvashatj醟 az [OWL 羣tekint閟] dokumentumot, majd folytathatj醟 az [OWL 趖mutat螯/a>] dokumentummal, mely olvasm醤yosabban mutatja be, 閟 p閘d醟kal illusztr醠ja a nyelv haszn醠at醫.

A jelen dokumentum felt閠elezi, hogy az olvas ismeri az RDF alapfogalmait [RDF Fogalmak], 閟 gyakorlati ismeretekkel is rendelkezik az RDF szintaxisa [RDF/XML Szintaxis], valamint az RDF S閙a, azaz az [RDF Sz髃閟zlet] ter黮et閚.

Az OWL nyelvi konstrukci髃 pontos szintaxis醤ak normat韛 defin韈i骿a az OWL Szemantika 閟 absztrakt szintaxis [OWL Sz&ASz] dokumentumban tal醠hat? Ugyanez a dokumentum tartalmazza – modell-elm閘eti szemantika form醞醔an – a nyelvi konstrukci髃 jelent閟閚ek prec韟 defin韈i骿醫 is. Ugyancsak ez a dokumentum t醨gyalja az olyan fogalmakat, mint Pl.: az OWL ontol骻i醟 konzisztenci醞a.

Az OWL nyelv alkalmaz醩i eseteit, illetve k鰒etelm閚yeit az [OWL K鰒etelm閚yek] dokumentum 韗ja le, az OWL eszk鰖鰇 tesztel閟i l閜閟eit pedig az [OWL Tesztsorozat] dokumentum specifik醠ja. Ebben tal醠hat髃 tesztsorozatok a k鰒etkeztet閟i helyess間 (entailment correctness) 閟 az ellentmond醩-mentess間 (konzisztencia) ellen鮮z閟閞e is.

1.2 OWL Full / DL / Lite

Ahogy azt m醨 az [OWL 羣tekint閟] 閟 az [OWL 趖mutat螯/a>] dokumentum is t醨gyalta, az OWL nyelvnek k閠 specifikus r閟zhalmaza (alnyelve) van, amelyekr鮨 鷊y hissz黭, hogy el鮪y鰏ek lehetnek a nyelv implementorai 閟 felhaszn醠骾 sz醡醨a. Ezek k鰖黮 az OWL Lite-ot 鷊y tervezt閗 meg, hogy egyr閟zt k鰊nyen implement醠hat legyen, m醩r閟zt a nyelv olyan funkcion醠is r閟zhalmaz醫 val髎韙sa meg, mely seg韙i a felhaszn醠髏 az elindul醩ban. Az OWL DL-t – ahol a "DL" a Description Logic, (le韗 logika) r鰒id韙閟e – arra tervezt閗, hogy t醡ogassa a megl関 le韗 logikai 鼁leti szegmenst, 閟 olyan nyelvi r閟zhalmazt biztos韙son, mely a k鰒etkeztet rendszerek szempontj醔髄 kedvez kisz醡韙hat髎醙i tulajdons醙okkal rendelkezik. A teljes OWL nyelv (amelyet OWL Full-nak, azaz teljes OWL-nak nevez黱k, hogy megk黮鰊b鰖tess黭 a k閠 r閟zhalmazt髄) feloldja az OWL DL n閔醤y k鰐鰐ts間閠, amennyiben olyan opci髃at biztos韙, amelyek sok adatb醶iskezel 閟 tud醩醔r醶ol rendszer sz醡醨a el鮪y鰏ek, de amelyek 醫h醙j醟 a le韗 logikai k鰒etkeztet rendszerek hat醨ait.

MEGJEGYZ蒘: Az RDF dokumentumok 醠tal醔an OWL Full nyelven 韗骴nak, hacsak nem kifejezetten OWL DL-re vagy Lite-ra tervezt閗 鮧et.

Az OWL Full 閟 az OWL DL az OWL nyelvi konstrukci骾nak ugyanazt a halmaz醫 t醡ogatj醟. A k閠 alnyelv k黮鰊bs間e abban 醠l, hogy milyen korl醫oz醩ok mellett haszn醠hatj醟 ezeket a nyelvi konstrukci髃at, valamint abban, hogy kihaszn醠hatj醟-e az RDF alapvet tulajdons醙ait. Az OWL Full p閘d醬l lehet鮲 teszi az OWL 閟 az RDF S閙a vegyes haszn醠at醫, 閟 ugyan鷊y, mint az RDF S閙a, nem er鮨teti az oszt醠yok, tulajdons醙ok, egyedek 閟 adat閞t閗ek szigor sz閠v醠aszt醩醫. Az OWL DL azonban korl醫ozza a vegyes haszn醠atot, 閟 megk鰒eteli, hogy az oszt醠yok, tulajdons醙ok, egyedek 閟 adat閞t閗ek diszjunkt halmazokat alkossanak. Az OWL DL alnyelv l閠閠 az indokolja, hogy az eszk鰖fejleszt鮧 m醨 kor醔ban olyan ontol骻i醟 t醡ogat醩醨a szolg醠 nagy teljes韙m閚y k鰒etkeztet rendszereket fejlesztettek ki, amelyek korl醫oz醩ai 閜pen az OWL DL korl醫oz醩ait ig閚ylik. Az OWL Full 閟 az OWL DL k黮鰊bs間einek form醠is defin韈i骿醫 az OWL Szemantika 閟 absztrakt szintaxis [OWL Sz&ASz] dokumentum 8.2 "OWL DL" szekci骿a adja meg, mely 鰏szefoglalja az OWL Full 閟 az OWL DL k鰖鰐ti k黮鰊bs間eket is.

Az OWL Lite az OWL DL alnyelve, mely az OWL nyelvi konstrukci骾nak csup醤 egy r閟zhalmaz醫 t醡ogatja. Az OWL Lite-ot els鮯orban olyan eszk鰖fejleszt鮧nek sz醤t醟, akik t醡ogatni k韛醤j醟 az OWL-t, de els l閜閟ben a nyelvi konstrukci髃nak csak egy viszonylag egyszer? de alapvet r閟zhalmaz醫 szeretn閗 megc閘ozni. Az OWL Lite ugyanazokhoz a szemantikai korl醫oz醩okhoz tartja mag醫, mint az OWL DL, s ez lehet鮲 teszi, hogy a k鰒etkeztet鮣閜ek garant醠ni tudjanak bizonyos k韛醤atos tulajdons醙okat. Az OWL Lite-ban enged閘yezett nyelvi konstrukci髃 鰏szefoglal醩醫 a 8.3 szekci螯/a> tartalmazza. Az OWL Lite 醠tal t醡ogatott nyelvi konstrukci髃 form醠is le韗醩醫 az OWL Szemantika 閟 absztrakt szintaxis [OWL Sz&ASz] dokumentumban tal醠ja meg az olvas?

MEGJEGYZ蒘: Azok az RDF felhaszn醠髃, akik szeretn閚ek 醫醠lni az OWL-ra, vegy閗 figyelembe, hogy az OWL Lite nem puszt醤 csak egy kiterjeszt閟e az RDF S閙醤ak! Az OWL Lite val骿醔an egy "k鰊ny韙ett" v醠tozata az OWL DL-nek, mely korl醫ozza az RDF sz髃閟zlet haszn醠at醫 (pl. oszt醠yok, tulajdons醙ok stb. diszjunktivit醩a). Az OWL Full-t viszont 閜pen az RDF-fel val maxim醠is kompatibilit醩ra tervezt閗, 閟 韌y ez a megfelel nyelv, amellyel az RDF felhaszn醠髃 elindulhatnak. Amikor az OWL DL vagy az OWL Lite haszn醠at醫 fontolgatjuk, m閞legeln黱k kell, hogy az OWL DL/Light el鮪yei a k鰒etkeztet閟 t醡ogat醩醔an t鯾bet nyomnak-e a latban, mint az OWL DL/Light h醫r醤yai az OWL 閟 RDF konstrukci髃 korl醫ozott haszn醠at醔an.

MEGJEGYZ蒘: Az OWL Lite-ot ebben a dokumentumban 鷊y t醨gyaljuk, mint az OWL DL n閔醤y tov醔bi korl醫oz醩醫. Ez azt jelenti, hogy az OWL DL konstrukci髃 az OWL Lite-nak is r閟zei, hacsak kifejezetten m醩k閚t nem defini醠juk. A 8.3 szekci螯/a> foglalja 鰏sze az OWL Lite-ra vonatkoz t鯾bletkorl醫oz醩okat.

1.3 Az OWL szintaxisa

Egy OWL ontol骻ia tulajdonk閜pen egy RDF gr醘 [l醩d: RDF Fogalmak], mely RDF tripletekb鮨 醠l. Ugyan鷊y, mint b醨milyen RDF gr醘, az OWL ontol骻ia gr醘ja is sokf閘e szintaktikai form醔an le韗hat (L醩d az RDF/XML Szintaxis specifik醕i 鷍 kiad醩醔an [RDF/XML Szintaxis]). A jelen dokumentum (az 趖mutat骽oz hasonl骯n) az RDF/XML szintaxisnak egy specifikus form醞醫 haszn醠ja a tripletek 醔r醶ol醩醨a. Az OWL ontol骻ia jelent閟閠 azonban kiz醨髄ag az RDF gr醘 hat醨ozza meg. 蚲y teh醫 haszn醠hatunk b醨mi m醩 RDF/XML szintaxisform醫 is, ha ez ugyanazokat az alapvet RDF tripleteket produk醠ja. B醨milyen szintaxisforma, mely megfelel ennek a krit閞iumnak, ugyanazt a jelent閟tartalmat 醔r醶olja, mint a jelen dokumentumban haszn醠t forma.

Az al醔bi p閘da k閠 alternat韛 form醫 mutat be, melynek eredm閚ye ugyanaz az RDF triplet. Tekints黭 a k鰒etkez RDF/XML szintaxist:

<owl:Class rdf:ID="Continent"/> 

Az al醔bi 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骴olja, mint a fenti, 閟 ez閞t ugyanazt a jelent閟t hordozza.

1.4 OWL 閟 RDF szemantika

Az OWL az RDF sz髃閟zlet (RDF vocabulary) kiterjeszt閟e [RDF Szemantika]. 蚲y teh醫 minden RDF gr醘 egy OWL Full ontol骻i醫 alkot. Ebb鮨 k鰒etkez鮡n az OWL 醠tal el踽ll韙ott RDF gr醘 jelent閟e ugyanaz, mint az RDF 醠tal el踽ll韙ott gr醘? Az OWL Full ontol骻i醟 ez閞t tetsz鮨eges RDF tartalmat foglalhatnak magukban, amelyek kezel閟e is konzisztens az RDF kezel閟関el. Az OWL azonban tov醔bi jelent閟t tulajdon韙hat egyes RDF tripleteknek. Az OWL Szemantika 閟 absztrakt szintaxis dokumentum [OWL Sz&ASz] specifik醠ja, hogy pontosan mely tripletekhez rendel specifikus jelent閟t az OWL, 閟 hogy mi ez a jelent閟.

MEGJEGYZ蒘 : Mint m醨 kor醔ban is eml韙ett黭, az OWL DL 閟 OWL Lite kiterjeszti az RDF sz髃閟zletet, de korl醫oz醩okat is bevezet e sz髃閟zlet haszn醠at醨a. Ez閞t az RDF dokumentumok 醠tal醔an OWL Full-ban is 閞v閚yes dokumentumok (kiv関e, ha kifejezetten OWL DL vagy Lite dokumentumk閚t k骴olt醟 鮧et).

1.5 Megjegyz閟 a p閘d醟hoz

A k鰊nyebb olvashat髎醙 kedv殚rt e dokumentum p閘d醝 felt閠elezik, hogy az olyan XML entit醩ok, mint &rdf; &rdfs; &owl;&xsd;(XML S閙a adatt韕us) el鮮e defini醠va vannak oly m骴on, ahogy a B. F黦gel閗 ismerteti. Ugyanez 閞v閚yes az ezeknek megfelel olyan n関terekre is, mint az rdf: rdfs:, owl:xsd:.

A p閘d醟at ebben a dokumentumban csak az OWL nyelvi szerkezetek illusztr醠醩醨a sz醤tuk. Ezek itt nem alkotnak egy konzisztens ontol骻i醫. Egy komplettebb p閘d醫 tal醠hat az olvas az [OWL 趖mutat螯/a>] dokumentumban.

1.6 Adategyes韙閟 閟 a priv醫 jogok

Az OWL-nak az a k閜ess間e, hogy ontol骻iai inform醕i髏 lehet vele kifejezni olyan egyedekr鮨, amelyek t鯾b dokumentumb髄 sz醨maznak, szigor鷄n szab醠yozott m骴on t醡ogatja az adatok 鰏szekapcsol醩醫. A nyelv be閜韙ett szemantik醞a t醡ogatja az 鰏szekapcsolhat inform醕i髃 logikai feldolgoz醩醫 is, s ez nem v醨t eredm閚yekhez vezethet. K黮鰊鰏en igaz ez az owl:sameAs haszn醠at醨a, amellyel l醫sz髄ag k黮鰊b鰖 egyedekr鮨 azt 醠l韙hatjuk, hogy val骿醔an azonosak. Az owl:InverseFunctionalProperty kifejez閟 szint閚 alkalmas arra, hogy seg韙s間関el egyedeket kapcsoljunk 鰏sze. Ha egy olyan tulajdons醙r髄, mint pl. a "TAJsz醡a", azt jelentj黭 ki, hogy Ford韙ott Funkcion醠is Tulajdons醙, akkor a k閠 k黮鰊b鰖 egyedet (pl. ugyanazon TAJ-sz醡 k閠 k黮鰊b鰖 n関en szerepl birtokos醫) azonosnak lehet tekinteni azon az alapon, hogy ezen tulajdons醙uk 閞t閗e azonos. Amikor az egyedekr鮨 ilyen m骴on meg lehet 醠lap韙ani, hogy azonosak, akkor a vel黭 kapcsolatos, k黮鰊b鰖 forr醩okb髄 sz醨maz inform醕i髃 egyes韙het鮧. Ez az adategyes韙閟i (aggregation) funkci teh醫 arra is haszn醠hat? hogy olyan t閚yeket is meg醠lap韙hassunk, amelyek egyik forr醩ban sincsenek k鰖vetlen黮 醔r醶olva.

A Szemantikus Web-nek az a k閜ess間e, hogy t鯾b forr醩b髄 tudunk vele inform醕i髃at egyes韙eni, egy sz黭s間es 閟 rendk韛黮 gy黰鰈cs鰖 tulajdons醙, mely sok alkalmaz醩n醠 j髄 kihaszn醠hat? Azonban az a lehet鮯間, hogy k黮鰊b鰖 forr醩okb髄 adatokat lehet integr醠ni, az OWL k鰒etkeztet k閜ess間eivel kombin醠va mag醔an hordja a vissza閘閟 lehet鮯間閠 is. Az OWL felhaszn醠骾nak 閎ereknek kell teh醫 lenni黭, ha meg akarj醟 鮮izni a priv醫 szf閞醞uk integrit醩醫. A r閟zletes biztons醙i megold醩okat a Munkacsoport nem tekintette feladat醤ak. T鯾b olyan szervezet foglalkozik azonban ezekkel a k閞d閟ekkel, amelyek a biztons醙i- 閟 preferencia-megold醩ok k黮鰊b鰖 v醠tozatait k韓醠j醟 (l醩d, pl. SAMLP3P).

1.7 E dokumentum f黦gel閗ei

Dokumentumunk v間閚 tal醠hat egy sor f黦gel閗, mely tov醔bi inform醕i髃at tartalmaz az anyag meg閞t閟閔ez.

A dokumentumban azok a linkek, amelyeket a nyelvi konstrukci髃 defin韈i骾n醠 megadtunk, k鰖vetlen黮 el閞het鮲 teszik a megfelel szemantikai le韗醩t az OWL Szemantika 閟 absztrakt szintaxis dokumentumban [OWL Sz&ASz]. Az A. f黦gel閗 a nyelvi konstrukci髃 neveinek, illetve hiperlinkjeinek olyan t醔l醶ata, mely kereszthivatkoz醩t teremt az 趖mutat? a Referencia 閟 a Szemantika dokumentum azon szekci骾 k鰖鰐t, amelyek ugyanazt a nyelvi konstrukci髏 t醨gyalj醟.

A B. f黦gel閗 az OWL nyelvi konstrukci髃 RDF s閙醞醫 tartalmazza. Ez a s閙a inform醕i髃at szolg醠tat az OWL sz髃閟zlet閞鮨, 閟 hasznos referenciapont lehet az ontol骻ia閜韙鮧 閟 eszk鰖fejleszt鮧 sz醡醨a. Azok a korl醫oz醩ok, amelyeket az OWL oszt醠yokkal 閟 tulajdons醙okkal kapcsolatban a s閙a k鰖鰈, csak informat韛 jelleg鹐k, 閟 nem teljesek. Tov醔b? ez a s閙a nem tesz k黮鰊bs間et az OWL Full, az OWL DL 閟 az OWL Lite k鰖鰐t sem. A hagyom醤yoknak megfelel鮡n, az oszt醠yok neveit nagy kezd鮞et鹶el, a tulajdons醙ok閠 pedig kis kezd鮞et鹶el 韗juk. 蚲y teh醫 az owl:Ontology egy oszt醠y, m韌 az owl:imports egy tulajdons醙.

MEGJEGYZ蒘: Az OWL ontol骻i醟ban nem sz黭s間es explicit m骴on import醠ni (az owl:imports seg韙s間関el) az RDF S閙a f醞lt. A s閙a itt informat韛 jelleg? 閟 csak arra szolg醠, hogy rendelkez閟re bocs醩sa azokat az oszt醠yokat 閟 tulajdons醙okat, amelyeket az RDF/XML szintaxis haszn醠. Azok, akik m間is import醠j醟 ezt a s閙醫, sz醡韙sanak arra, hogy az ontol骻i醞uk OWL Full ontol骻ia lesz.

A C. f黦gel閗 egy t醔l醶atos 醫tekint閟 az OWL sz髃閟zlet閞鮨, mely a nyelvi elemeket k閠 r閟zre (be閜韙ett OWL oszt醠yokra, illetve tulajdons醙okra) bontja. A tulajdons醙okn醠 az 閞v閚yess間i k鰎t 閟 az 閞t閗tartom醤yt is felt黱teti.

Azon olvas髃 sz醡醨a, akik ismerik a DAML+OIL nyelvet, a D. f黦gel閗 felsorolja a DAML+OIL 閟 az OWL k鰖鰐ti elt閞閟ek nagy r閟z閠.

蓅 v間黮 az E. f黦gel閗 egy gyakorlati vez閞fonalat ad az OWL DL-szint ontol骻i醟 RDF-ben t鰎t閚 specifik醠醩醜oz.

2. Az OWL dokumentum

Az OWL-ban k骴olt inform醕i髏 ontol骻i醟ba gy鹙tik, amelyek azut醤 webdokumentumk閚t t醨olhat髃 a Vil醙h醠髇. Az OWL-nak az a fontos aspektusa, hogy import醠ni lehet az ontol骻i醟at, 閜pen azon alapszik, hogy ezek a weben hozz醘閞het鮧.

2.1 Tartalom

Egy OWL dokumentum (tipikusan) egy opcion醠is ontol骻ia-header-b鮨, plusz tetsz鮨eges sz醡 oszt醠yaxiom醔髄, tulajdons醙axiom醔髄egyeddel kapcsolatos t閚y醠l韙醩b髄 醠l. Megjegyzend? hogy az "axi髆a" egy form醠is kifejez閟, amelyet a Szemantika (Sz&ASz) dokumentum haszn醠. Az axi髆醟at kiss inform醠isabban "defin韈i髃nak" nevezz黭 az 趖mutat 閟 az 羣tekint閟 dokumentumban.

MEGJEGYZ蒘: Az OWL semmilyen m骴on nem korl醫ozza a komponensek sorrendj閠 az ontol骻i醤 bel黮. Persze, mindig haszn醠unk valamilyen sorrendet (p閘d醬l az ontol骻ia elej閞e tessz黭 a headert), de ennek nincs hat醩a a jelent閟閞e. Az ontol骻i醫 feldolgoz eszk鰖鰇 sem t閠elezhetnek fel semmilyen k鰐鰐t sorrendet.

Mint a legt鯾b RDF dokumentumn醠, az OWL-n醠 is minden elem az rdf:RDF elem al van rendelve. Ez a befogad elem tartalmazza 醠tal醔an az XML n関ter閠 閟 b醶isdeklar醕i骾t is. Egy ontol骻iadokumentum is gyakran kezd鮠ik egy sor entit醩deklar醕i髒al. Az ilyen t韕us inform醕i髍a tipikus p閘d醫 mutat be a Bor 閟 az 蓆el ontol骻ia, amelyet az [OWL 趖mutat螯/a>] t醨gyal.

2.2 OWL URI sz髃閟zlet 閟 n関t閞

Az OWL be閜韙ett sz髃閟zlet閠 az OWL n関t閞

http://www.w3.org/2002/07/owl#

defini醠ja, mely konvencion醠isan az owl n関hez van kapcsolva. Aj醤latos, hogy az ontol骻i醟 ebb鮨 a (t醙abb) n関t閞b鮨 kiz醨髄ag a be閜韙ett sz髃閟zletet haszn醠j醟. Az OWL eszk鰖鰇 fejleszt鮥 teh醫 akkor j醨nak el helyesen, ha a programjukb髄 figyelmeztet jelz閟t adnak, amikor a felhaszn醠 m醩 neveket is haszn醠, de ezt k鰒et鮡n a programnak norm醠isan tov醔b kell folytatnia a feldolgoz醩t.

2.3 Az OWL MIME t韕usa

A Web Ontol骻ia Munkacsoport nem ig閚yelt k黮鰊 MIME t韕ust az OWL dokumentumok sz醡醨a. Ehelyett az RDF Core Munkacsoport 醠tal ig閚yelt MIME t韕us haszn醠at醫 aj醤lja (nevezetesen az application/rdf+xml [l醩d: RDF Fogalmak], vagy alternat韛ak閚t az application/xml MIME t韕ust).

F醞ln関-kiterjeszt閟k閚t az .rdf vagy az .owl kiterjeszt閟t aj醤lja a Munkacsoport.

3. Oszt醠yok

Az oszt醠yok olyan absztrakci髎 mechanizmusok, amelyek seg韙s間関el csoportos韙hatjuk az azonos tulajdons醙 er鮢orr醩okat. Ugyan鷊y, mint az RDF-n閘, az OWL-n醠 is egy oszt醠yhoz egyedek halmaz醫 asszoci醠juk, s ezt az oszt醠y kiterjed閟閚ek nevezz黭. Az oszt醠y kiterjed閟閠 alkot egyedeket (angolul: individuals) m醩 szavakkal az oszt醠y p閘d醤yainak, eseteinek, vagy el鮢ordul醩ainak is h韛juk (angolul: "instances"). Az oszt醠y jelent閟e intenzion醠is (azaz absztrakt fogalmat takar), amely kapcsolatos ugyan, de nem azonos az oszt醠y kiterjed閟関el (ami extenzion醠is, teh醫 konkr閠 jelent閟?. 蚲y teh醫 k閠 oszt醠ynak lehet ugyanaz a kiterjed閟e, m間is k黮鰊b鰖 oszt醠yokat alkothatnak.

Amikor ebben a dokumentumban azt mondjuk, hogy "egyedek oszt醠ya", ezt 鷊y 閞tj黭, hogy "egy oszt醠y, amelynek az oszt醠ykiterjed閟e egyedekb鮨 醠l..."

MEGJEGYZ蒘: Az OWL Lite-ban 閟 az OWL DL-ben egy egyed nem lehet egyidej鹟eg oszt醠y is: az egyedek 閟 oszt醠yok itt diszjunkt fogalmi k鰎t alkotnak (mik閚t a tulajdons醙ok 閟 az adat閞t閗ek is). Ezzel szemben az OWL Full az RDF S閙衢hoz hasonl szabads醙ot biztos韙: egy oszt醠y fell閜het egy m醩ik (meta)oszt醠y egyedek閚t is.

Az OWL oszt醠yokat "oszt醠yle韗醩ok" seg韙s間関el defini醠juk, amelyek "oszt醠yaxi髆醟k? kombin醠hat髃. Az al醔biakban el鮯z鰎 az oszt醠yle韗醩okat ismertetj黭, majd pedig oszt醠yaxi髆醟k alak韙醩ukat t醨gyaljuk.

3.1 Oszt醠yle韗醩ok

Ebben a dokumentumban (閟 az OWL Szemantika 閟 absztrakt szintaxis dokumentumban is) oszt醠yle韗醩ok alatt az oszt醠yaxi髆醟 alapvet 閜韙鮧鰒eit 閞tj黭. (Az oszt醠yaxi髆醟at, kev閟b form醠isan, oszt醠ydefin韈i髃nak h韛juk az 羣tekint閟 閟 az 趖mutat dokumentumban). Egy oszt醠yle韗醩 az oszt醠yt a nev閚ek, vagy a kiterjed閟閚ek a megad醩醰al 韗ja le. Az el鮞bi esetben neves韙ett, az ut骲bi esetben n関telen oszt醠yr髄 besz閘黱k.

Az OWL hatf閘e oszt醠yle韗醩t k黮鰊b鰖tet meg:

  1. Oszt醠yazonos韙 (egy URI hivatkoz醩)
  2. Felsorol醩 (azon egyedeknek a teljes felsorol醩a, amelyek az oszt醠yt alkotj醟)
  3. Tulajdons醙korl醫oz醩
  4. Metszet (k閠 vagy t鯾b oszt醠y kiterjed閟閚ek a halmazmetszete)
  5. Uni螯/a> (k閠 vagy t鯾b oszt醠yle韗醩 halmazuni骿a)
  6. Komplemens (egy oszt醠yle韗醩sal megadott oszt醠y egyedeinek komplementer halmaza)

Az els t韕us k黮鰊leges abban az 閞telemben, hogy az oszt醠yt puszt醤 az oszt醠y nev関el 韗ja le (amit szintaktikailag egy URI hivatkoz醩 醔r醶ol). A t鯾bi 鰐 oszt醠yle韗醩 t韕us n関telen oszt醠yt 韗 le, m間pedig oly m骴on, hogy korl醫oz醩okat fogalmaz meg az oszt醠y kiterjed閟閞e (azaz a lehets間es egyedeire) vonatkoz骯n.

Az 2. t韕us olyan oszt醠yt 韗 le, amelyik pontosan 閟 kiz醨髄ag a felsorolt egyedekb鮨 醠l. A 3. t韕us olyan oszt醠yt hat醨oz meg, amelynek az egyedei kiel間韙enek egy bizonyos tulajdons醙korl醫oz醩t. A 4., az 5. 閟 a 6. t韕us olyan oszt醠yt specifik醠, mely m醩 oszt醠yle韗醩ok Boole-algebrai kombin醕i骿醤ak felel meg. (A metszet, az uni 閟 a komplemens rendre az 蒘, VAGY, illetve a NEM oper醫ornak felel meg.) Az utols n間y oszt醠yle韗醩 egym醩ba skatuly醶hat? 閟 韌y elvileg tetsz鮨egesen bonyolult oszt醠yle韗醩t alkothatnak. A gyakorlatban azonban az egym醩ba skatuly醶hat szintek sz醡醫 醠tal醔an korl醫ozz醟.

Az 1. t韕us oszt醠yle韗醩t szintaktikailag az owl:Class (az rdfs:Class: aloszt醠ya) egy neves韙ett egyed閚ek megad醩醰al 醔r醶oljuk:

<owl:Class rdf:ID="Human"/>

Ez a mondat az "ex:Human rdf:type owl:Class ." tripletet gener醠ja, ahol ex: a Human fogalmat tartalmaz t閙ater黮et ontol骻i醞醤ak a n関tere.

MEGJEGYZ蒘: Az OWL Lite-ban 閟 az OWL DL-ben az owl:Class (vagy a k閟鮞b ismertetend owl:Restriction) elem keret閎en adjuk meg az 鰏szes oszt醠yle韗醩t.

MEGJEGYZ蒘: Az owl:Class az rdfs:Class aloszt醠yak閚t van defini醠va. Annak az oka, hogy egy k黮鰊 "OWL Class" konstrukci髏 haszn醠unk, az OWL DL 閟 az OWL Lite korl醫aiban keresend? E korl醫ok miatt nem minden RDFS oszt醠y leg醠is OWL DL oszt醠y is. Az OWL Full-ban ezek a korl醫oz醩ok nem 閞v閚yesek, ez閞t ott az owl:Class 閟 az rdfs:Class egyen閞t閗?

A m醩ik 鰐 oszt醠yle韗醩i forma RDF tripletek (gr醘-elemek) halmaz醔髄 醠l, ahol egy 黵es csom髉ont az 閜pen defini醠t oszt醠yt 醔r醶olja. Ennek az 黵es csom髉ontnak van egy rdf:type tulajdons醙a, amelynek 閞t閗e az owl:Class.

MEGJEGYZ蒘: Ha egy RDF azonos韙髒al l醫juk el a felsorol醩, a metszet, az uni vagy a komplemens t韕us oszt醠yle韗醩t, akkor ezt m醨 nem oszt醠yle韗醩nak, hanem egy komplett oszt醠yt defini醠 oszt醠yaxi髆醤ak tekintj黭. A r閟zleteket l醩d a 3.2.3 szekci骲an.

MEGJEGYZ蒘: Ebben a dokumentumban a k鰊nyebb olvashat髎醙 kedv殚rt "oszt醠yle韗醩"-t 韗unk, amikor azt akarjuk mondani, hogy "az oszt醠y, amelyet az oszt醠yle韗醩sal defini醠unk". Szigor鷄n v関e ez k閠 k黮鰊b鰖 dolog a 2-6 t韕us oszt醠yle韗醩ok eset閎en: az oszt醠yt a megfelel 黵es csom髉ont 醔r醶olja; az oszt醠y le韗醩醫 pedig azok a tripletek 醔r醶olj醟, amelyeknek ez az 黵es csom髉ont az alanyuk.

K閠 OWL oszt醠yazonos韙髏 el鮮e defini醠 a nyelv; nevezetesen az owl:Thing 閟 az owl:Nothing azonos韙髏. Az owl:Thing oszt醠ykiterjed閟e az 鰏szes egyedek halmaza, m韌 az owl:Nothing oszt醠y kiterjed閟e az 黵es halmaz. Ebb鮨 az k鰒etkezik, hogy minden oszt醠y az owl:Thing aloszt醠ya, valamint az, hogy az owl:Nothing minden m醩 oszt醠ynak aloszt醠ya. (Az aloszt醠yrel醕i jelent閟閠 l醩d az rdfs:subClassOf szekci骲an.)

3.1.1 Felsorol醩

A "Felsorol醩" t韕us oszt醠yle韗醩t az owl:oneOf tulajdons醙 seg韙s間関el adjuk meg. Ennek a be閜韙ett OWL tulajdons醙nak az 閞t閗ei azon egyedek list醞a, amelyek az oszt醠yt alkotj醟. Ez lehet鮲 teszi, hogy egy oszt醠yt defini醠hassunk az egyedeinek a teljes felsorol醩醰al. Az owl:oneOf seg韙s間関el le韗t oszt醠y kiterjed閟e pontosan a felsorolt egyedeket tartalmazza; sem t鯾bet, sem kevesebbet. Az egyedek list醞醫 tipikusan az rdf:parseType="Collection" RDF konstrukci髒al 醔r醶oljuk, mely k閚yelmes r鰒id韙閟i lehet鮯間eket biztos韙 a listaelemek le韗醩醜oz. P閘d醬l, az al醔bi RDF/XML szintaxis a kontinensek oszt醠y醫 defini醠ja:

<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閗ezz黱k, hogy minden egyed automatikusan az owl:Thing oszt醠y egyede).

Az adatt韕usokkal foglalkoz szekci骲an l醫ni fogjuk az owl:oneOf egy m醩 c閘 haszn醠at醫 is, nevezetesen, amikor adat閞t閗eket sorolunk fel a seg韙s間関el.

MEGJEGYZ蒘: a "Felsorol醩" elem az OWL Lite-ban nem haszn醠hat?

3.1.2 Tulajdons醙korl醫oz醩

A tulajdons醙korl醫oz醩 az oszt醠yle韗醩 speci醠is form醞a, mely egy n関telen oszt醠yt 韗 le, nevezetesen: mindazon egyedek oszt醠y醫, amelyek megfelelnek az adott korl醫oz醩nak. Az OWL a tulajdons醙korl醫oz醩ok k閠 t韕us醫 k黮鰊b鰖teti meg: az 閞t閗korl醫oz醩t 閟 a kardinalit醩korl醫oz醩t.

Az 閞t閗korl醫oz醩 valamely tulajdons醙 閞t閗tartom醤y醫 hat醨ozza meg az 閜pen le韗t oszt醠yra 閞v閚yes hat醠lyal. P閘d醬l ennek seg韙s間関el hivatkozhatn醤k azokra az egyedekre, amelyekn閘 a "szomsz閐osMegy閖e" tulajdons醙 閞t閗e valamilyen Dun醤t鷏iMegye, majd pedig haszn醠hatn醤k ezt a hivatkoz醩t egy oszt醠yaxi髆醤 bel黮 (ak醨 m間 mag醤 a Dun醤t鷏iMegye oszt醠yaxi髆醞醤 bel黮 is). Figyelj黭 meg azonban, hogy ez az 閞t閗korl醫oz醩 k黮鰊b鰖ik pl. az rdfs:range-t鮨, mely minden黷t hat醠yos, ahol az 醠tala korl醫ozott tulajdons醙ot haszn醠juk.

A kardinalit醩korl醫oz醩 seg韙s間関el azt hat醨ozhatjuk meg az adott oszt醠yle韗醩 kontextus醤 bel黮 (azaz lok醠is 閞v閚nyel), hogy egy tulajdons醙 h醤y k黮鰊b鰖 閞t閗et vehet fel. P閘d醬l: megadhatn醤k azt, hogy a Futballcsapat nev oszt醠y j醫閗osa tulajdons醙醤ak 11 閞t閗e lehet (pl. a 11 j醫閗os neve). Egy kos醨labdacsapat eset閚 ugyanez a tulajdons醙 csak 5 閞t閗et vehetne fel.

Az OWL t醡ogat egy korl醫ozott sz醡 olyan konstrukci髏 is, nevezetesen az owl:FunctionalProperty 閟 az owl:InverseFunctionalProperty konstrukci髏, amelyek glob醠is 閞v閚nyel korl醫ozz醟 a tulajdons醙ok kardinalit醩醫 (l醩d a tulajdons醙okr髄 sz髄 szekci骲an).

A tulajdons醙korl醫oz醩ok 醠tal醤os form醞a a k鰒etkez鮧閜pen n閦 ki:

<owl:Restriction>
  <owl:onProperty rdf:resource="(valamilyen tulajdons醙)" />
  (egy 閞t閗- vagy egy kardinalit醩korl醫oz醩, l醩d al醔b)
</owl:Restriction>

Az owl:Restriction (Korl醫oz醩) oszt醠yt az owl:Class aloszt醠yak閚t defini醠t醟. Egy Restriction oszt醠ynak van egy, 閟 csak egy olyan tripletje, mely a korl醫oz醩t egy tulajdons醙hoz kapcsolja az owl:onProperty tulajdons醙 seg韙s間関el. 蓅 van egy, 閟 csak egy olyan tripletje, mely az 閞t閗korl醫ot vagy a kardinalit醩korl醫ot reprezent醠ja az adott tulajdons醙ra vonatkoztatva (pl. azt, hogy a tulajdons醙 kardinalit醩a pontosan 1).

Tulajdons醙korl醫oz醩okat alkalmazhatunk adatt韕us-tulajdons醙okra (amelyek 閞t閗e liter醠 t韕us? valamint objektumtulajdons醙okra (amelyek 閞t閗e egyed t韕us?. E megk黮鰊b鰖tet閟sel kapcsolatban l醩d a tulajdons醙okr髄 sz髄 szekci髏.

A ford韙 megjegyz閟e:

Annak 閞dek閎en, hogy az al醔b k鰒etkez p閘d醟 magyar醶at醤醠 a ford韙ott sz髍end angol 醠l韙醩okat logikailag helyesen ford韙hassuk magyarra, n閔a besz鷕unk egy tilde (~) karaktert a tulajdons醙ok (醠l韙m醤yok) nev閎e, amellyel el鮮eutalunk az 醠l韙醩 t醨gy醨a. Ha a tilde hely閞e k閜zelj黭 a tulajdons醙 閞t閗閚ek (a t醨gynak) a nev閠, akkor az 醠l韙醩 magyarul is helyes lesz (b醨 nem lesz igaz醤 eszt閠ikus). Pl. az X isBiologicalMotherOf Y angol tripletet term閟zetesen nem ford韙hatjuk 鷊y, hogy X "biol骻iaiAnyja" Y, mert ez teljesen t関es ford韙醩. Ehelyett 韌y 韗juk 醫 magyarra: X "biol骻iaiAnyja~nak" Y, 閟 鷊y olvassuk, hogy X biol骻iai anyja Y-nak. Ez nem t鷏 sz閜 magyar mondat, de ha a triplet magyar ford韙醩醔an el akarn醤k ker黮ni az ilyen ford韙ott sz髍endet, akkor a p閘d醫 mag醫 kellene megford韙anunk. Vagyis, meg kellene cser閘n黱k az alanyt 閟 a t醨gyat (s 韌y az 閞v閚yess間i k鰎t 閟 az 閞t閗tartom醤yt is), az 醠l韙m醤ynak pedig a ford韙ott jelent閟閠 kellene haszn醠nunk. 羗 ha ezt tenn閚k, az 鷍 p閘d醰al gyakran eg閟zen m醩t illusztr醠n醤k, mint ami a szerz鮧 eredeti sz醤d閗a volt. P閘d醬l, ha megford韙juk a fenti p閘d醫, akkor angolul az Y hasBiologicalMother X, magyarul pedig az Y biol骻iaiAnyja X form醫 kapjuk, s 韌y a k閠 kijelent閟 logikailag 閟 nyelvtanilag is konzisztens lesz, csakhogy ebben a form醔an m醨 nem igazolj醟 a bizony韙and t閠elt, t鰎t閚etesen azt, hogy "egy ford韙ott funkcion醠is tulajdons醙 t醨gya egy閞telm鹐n azonos韙ja az alany醫", ugyanis, egy any醤ak (a Woman oszt醠y X egyed閚ek) t鯾b gyermeke is lehet (a Human oszt醠y egyedei k鰖鰐t). Az eredeti p閘da m間 bizony韙 erej volt, mert egy embernek (Y) val骲an csak egy biol骻ia anyja lehet (X). (L醩d ezt a helyzetet a ford韙ott funkcion醠is tulajdons醙ot illusztr醠 p閘d醤醠.)

Megjegyezz黭 m間, hogy a tilde csak seg閐let a magyar ford韙醩hoz, 閟 nem r閟ze az OWL szintaxis醤ak. Ha OWL nyelven ford韙ott sz髍end magyar 醠l韙m醤yokat (tulajdons醙neveket) kell megfogalmaznunk, akkor tilde helyett egy olyan karaktert v醠asszunk, mely megengedett az ilyen nevek szintaxis醔an, 閟 megfelel a tilde szerep閚ek.

3.1.2.1 蓃t閗korl醫oz醩ok
3.1.2.1.1 owl:allValuesFrom

Az owl:allValuesFrom 閞t閗korl醫oz醩 egy be閜韙ett OWL tulajdons醙, mely egy korl醫oz醩oszt醠yt egy oszt醠yle韗醩hoz vagy egy adat閞t閗-tartom醤yhoz kapcsol. Az owl:allValuesFrom (~minden蓃t閗e) 醠l韙m醤yt tartalmaz korl醫oz醩t azon egyedek oszt醠y醤ak le韗醩醨a haszn醠juk, amelyek sz醡醨a az 閜pen korl醫ozott tulajdons醙 minden 閞t閗e: vagy az oszt醠yle韗醩 kiterjed閟閚ek a tagja, vagy pedig olyan adat閞t閗, mely egy (liter醠isan megadott) 閞t閗tartom醤yon bel黮 helyezkedik el. M醩k閚t kifejezve: ez az 閞t閗korl醫oz醩 olyan X egyedek oszt醠y醫 defini醠ja, amelyekre 閞v閚yes, hogy, ha az (X,Y) alany-t醨gy p醨os az 閜pen korl醫ozott P tulajdons醙 (醠l韙m醤y) egyik el鮢ordul醩a, akkor Y vagy az oszt醠yle韗醩 egyik egyede, vagy egy adat閞t閗-tartom醤y egyik adat閞t閗e.

Egy egyszer p閘da:

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:allValuesFrom rdf:resource="#Human"  />
</owl:Restriction>

Ez a p閘da azon egyedek n関telen oszt醠y醫 韗ja le, amelyek eset閎en a hasParent(sz黮鮦e) tulajdons醙 csak a Human (Ember) oszt醠y egyede lehet. Jegyezz黭 meg, hogy ez az oszt醠yle韗醩 nem azt mondja ki, hogy ez a tulajdons醙 mindig ebb鮨 az oszt醠yb髄 kaphat csak 閞t閗et, hanem azt, hogy ez a megk鰐閟 csak a n関telen korl醫oz醩oszt醠y kiterjed閟閞e vonatkoztatva 閞v閚yes.

MEGJEGYZ蒘: Az OWL Lite-ban az owl:allValuesFrom 醠l韙m醤y t醨gyak閚t megadott oszt醠yle韗醩-t韕us csak egy oszt醠yn関 lehet.

Az owl:allValuesFrom korl醫oz醩 jelent閟e l閚yeg閎en azonos az 韙閘etkalkulus univerz醠is kvantor醤ak jelent閟関el ("minden elemre igaz"), minthogy a le韗t oszt醠y minden egyed閞e igaz, hogy P tulajdons醙 minden 閞t閗閚ek ki kell el間韙enie a megk鰐閟t. Vegy黭 閟zre azt is, hogy az owl:allValuesFrom 閟 az univerz醠is kvantor abban is megfelelnek egym醩nak, hogy a P tulajdons醙 閞t閗eire bevezetett owl:allValuesFrom korl醫oz醩t egy olyan egyed is trivi醠is m骴on kiel間韙i, amelyiknek egy醠tal醤 nincs 閞t閗e P-re. Hogy l醩suk, mi閞t van ez 韌y, vegy黭 閟zre, hogy az owl:allValuesFrom korl醫oz醩 azt k鰐i ki, hogy P minden 閞t閗e T t韕us legyen. Ha teh醫 nem l閠ezik ilyen 閞t閗, akkor a korl醫oz醩 eleve megval髎ul.

3.1.2.1.2 owl:someValuesFrom

Az owl:someValuesFrom 閞t閗korl醫oz醩 egy be閜韙ett OWL tulajdons醙, mely egy korl醫oz醩oszt醠yt egy oszt醠yle韗醩hoz vagy egy adat閞t閗-tartom醤yhoz kapcsol. Az owl:someValuesFrom (~n閔醤y蓃t閗e) megk鰐閟t tartalmaz korl醫oz醩 azon egyedek oszt醠y醫 韗ja le, amelyek sz醡醨a az 閜pen korl醫ozott tulajdons醙nak legal醔b egy 閞t閗e az oszt醠yle韗醩 egyede, vagy egy adat閞t閗-tartom醤y valamelyik 閞t閗e. M醩k閚t fogalmazva: ez az 閞t閗korl醫oz醩 olyan X egyedek oszt醠y醫 defini醠ja, amelyek sz醡醨a l閠ezik egy olyan Y (az oszt醠yle韗醩 egyik egyede, vagy egy 閞t閗tartom醤y egyik 閞t閗e) amelyn閘 az (X,Y) p醨 a P tulajdons醙 egyik el鮢ordul醩a. Ez a megk鰐閟 nem z醨ja ki azonban, hogy P-nek lehetnek m醩 olyan (pl. X,Y') el鮢ordul醩ai, amelyekn閘 Y' nem tartozik az adott oszt醠yle韗醩hoz vagy adat閞t閗-tartom醤yhoz.

Az al醔bi p閘da olyan egyedek oszt醠y醫 defini醠ja, amelyeknek legal醔b egyik "sz黮鮦e" (hasParent) "Orvos" (Physician):

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:someValuesFrom rdf:resource="#Physician" />
</owl:Restriction>

Az owl:someValuesFrom korl醫oz醩 l閚yeg閎en azonos az 韙閘etkalkulus egzisztenci醠is kvantor醰al, mivel azt k鰐i ki az 閜pen defini醠t oszt醠y minden egyed閚ek P tulajdons醙醨a, hogy "l閠ezz閗 legal醔b egy" olyan 閞t閗e, mely kiel間韙i a korl醫oz醩t.

MEGJEGYZ蒘: Az OWL Lite-ban az owl:someValuesFrom 醠l韙m醤y t醨gyak閚t megadott oszt醠yle韗醩-t韕us csak egy oszt醠yn関 lehet.

3.1.2.1.3 owl:hasValue

Az owl:hasValue 閞t閗korl醫oz醩 egy be閜韙ett OWL tulajdons醙, mely egy korl醫oz醩oszt醠yt egy olyan V 閞t閗hez kapcsol, amelyik vagy egy egyed, vagy egy adat閞t閗. Az owl:hasValue 閞t閗korl醫oz醩 teh醫 azon egyedek oszt醠y醫 韗ja le, amelyek sz醡醨a az 閜pen korl醫ozott tulajdons醙nak van legal醔b egy olyan 閞t閗e, amelyik szemantikailag egyenl V-vel (de emellett lehetnek m醩 閞t閗ei is).

MEGJEGYZ蒘: Az, hogy "szemantikailag egyenl?, adatt韕usok eset閎en azt jelenti, hogy a k閠 adat lexikai 醔r醶ol醩醤ak g閜i nyelvre t鰎t閚 leford韙醩a ugyanazt az 閞t閗et adja. Egyedek eset閎en pedig azt jelenti, hogy vagy azonos az URI hivatkoz醩uk, vagy k黮鰊b鰖 ugyan, de ezeket el鮶鮨eg azonosnak deklar醠tuk (l醩d: owl:sameAs).

MEGJEGYZ蒘: az owl:hasValue 閞t閗korl醫oz醩 nem haszn醠hat az OWL Lite-ban.

Az al醔bi p閘da azon egy閚ek oszt醠y醫 韗ja le, akikn閘 a "sz黮鮦e" tulajdons醙 閞t閗e: Clinton.

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:hasValue rdf:resource="#Clinton" />
</owl:Restriction>
3.1.2.2 Kardinalit醩korl醫oz醩ok

Az OWL-ban az RDF-hez hasonl骯n felt閠elezz黭, hogy egy oszt醠y b醨melyik egyed閚ek tetsz鮨eges sz醡 (z閞? egy vagy t鯾b) 閞t閗e lehet egy adott tulajdons醙醨a. Annak 閞dek閎en, hogy egy adott oszt醠y egyedei sz醡醨a egy tulajdons醙ot felt閠len黮 sz黭s間esnek deklar醠hassunk (azaz megk鰒etelhess黭, hogy az legal醔b egy 閞t閗kel rendelkezz閗), vagy hogy egy tulajdons醙ot kitilthassunk (azaz kik鰐hess黭, hogy a tulajdons醙 legfeljebb z閞 sz醡 閞t閗kel rendelkezhet), vagy hogy el蹴rhassuk, hogy egy tulajdons醙 pontosan h醤y 閞t閗et vehet fel, kardinalit醩korl醫oz醩t alkalmazunk. Az OWL-ban h醨om konstrukci 醠l rendelkez閟re a tulajdons醙ok kardinalit醩醤ak helyi, azaz oszt醠yra 閞v閚yes korl醫oz醩醨a.

Megjegyz閟: Az OWL Lite tartalmazza a kardinalit醩 korl醫oz醩醤ak mind a h醨om t韕us醫, de a kardinalit醩 閞t閗e itt csak 0 vagy 1 lehet.

3.1.2.2.1 owl:maxCardinality

Az owl:maxCardinality t韕us kardinalit醩korl醫oz醩 egy be閜韙ett OWL tulajdons醙, mely egy korl醫oz醩oszt醠yt egy olyan adat閞t閗hez kapcsol, mely az XML S閙a nonNegativeInteger 閞t閗ter閎e tartozik. Egy owl:maxCardinality megk鰐閟t tartalmaz korl醫oz醩 azon egyedek oszt醠y醫 韗ja le, amelyeknek az 閜pen korl醫ozand tulajdons醙a legfeljebb N sz醡? szemantikailag k黮鰊b鰖 閞t閗et (egyedet vagy adat閞t閗et) kaphat, ahol N a kardinalit醩korl醫 閞t閗e. Szintaktikailag a kardinalit醩korl醫oz醩t egy RDF tulajdons醙elemmel, 閟 a hozz tartoz rdf:datatype attrib鷗ummal 醔r醶oljuk.

Az al醔bi p閘da olyan egyedek oszt醠y醫 韗ja le, amelyeknek legfeljebb k閠 sz黮鮦黭 lehet:

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:maxCardinality>
</owl:Restriction>

Az RDF adatt韕usainak haszn醠at醫 r閟zletesebben a 6. szekci螯/a> t醨gyalja.

3.1.2.2.2 owl:minCardinality

Az owl:minCardinality t韕us kardinalit醩korl醫oz醩 egy be閜韙ett OWL tulajdons醙, mely egy korl醫oz醩oszt醠yt egy olyan adat閞t閗hez kapcsol, mely az XML S閙a nonNegativeInteger 閞t閗ter閎e tartozik. Egy owl:minCardinality megk鰐閟t tartalmaz korl醫oz醩 azon egyedek oszt醠y醫 韗ja le, amelyeknek az 閜pen korl醫ozand tulajdons醙a legal醔b N sz醡? szemantikailag k黮鰊b鰖 閞t閗et (egyedet vagy adat閞t閗et) kell kapnia, ahol N a kardinalit醩korl醫 閞t閗e. Szintaktikailag a kardinalit醩korl醫oz醩t egy RDF tulajdons醙elemmel, 閟 a hozz tartoz rdf:datatype attrib鷗ummal 醔r醶oljuk.

Az al醔bi p閘da olyan egyedek oszt醠y醫 韗ja le, amelyeknek legal醔b k閠 sz黮鮦黭 van:

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>
</owl:Restriction>

Jegyezz黭 meg, hogy ha az owl:minCardinality 閞t閗e nagyobb vagy egyenl eggyel, az egyben azt is jelenti, hogy az adott oszt醠y egyedein閘 ez a tulajdons醙 felt閠len黮 閞t閗et kell hogy kapjon.

3.1.2.2.3 owl:cardinality

Az owl:Cardinality t韕us kardinalit醩korl醫oz醩 egy be閜韙ett OWL tulajdons醙, mely egy korl醫oz醩oszt醠yt egy olyan adat閞t閗hez kapcsol, mely az XML S閙a nonNegativeInteger 閞t閗ter閎e tartozik. Egy owl:Cardinality megk鰐閟t tartalmaz korl醫oz醩 azon egyedek oszt醠y醫 韗ja le, amelyeknek az 閜pen korl醫ozand tulajdons醙a pontosan N sz醡? szemantikailag k黮鰊b鰖 閞t閗et (egyedet vagy adat閞t閗et) kell kapnia, ahol N a kardinalit醩korl醫 閞t閗e. Szintaktikailag a kardinalit醩korl醫oz醩t egy RDF tulajdons醙elemmel, 閟 a hozz tartoz rdf:datatype attrib鷗ummal 醔r醶oljuk.

Ez a konstrukci tulajdonk閜pen redund醤s, hiszen b醨mikor helyettes韙het egy owl:minCardinality 閟 egy owl:maxCardinality korl醫oz醩b髄 醠l p醨ral 鷊y, hogy mindkett鮪ek azonos 閞t閗et adunk. Ezt a korl醫oz醩t韕ust csak a k閚yelem 閟 a t鰉鰎ebb 韗醩m骴 閞dek閎en vett閗 fel a nyelvbe.

Az al醔bi p閘da olyan egyedek oszt醠y醫 韗ja le, amelyeknek pontosan k閠 sz黮鮦黭 lehet:

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
</owl:Restriction>

3.1.3 Metszet, uni 閟 komplemens

Az ebben a szekci骲an t醨gyalt h醨om oszt醠yle韗醩-t韕us azokat a fejlettebb oszt醠ykonstruktorokat reprezent醠ja, amelyeket a le韗 logik醔an haszn醠nak. Ezeket 鷊y is tekinthetj黭, mint oszt醠yokra alkalmazott 蒘, VAGY 閟 NEM m鹶eleteket. Ez a h醨om m鹶elet a halmazoper醫orok szok醩os neveit viseli: metszet, uni 閟 komplemens. Ezek a nyelvi konstrukci髃 abban hasonl韙anak egym醩ra, hogy egym醩ba 醙yazott oszt醠yle韗醩okat tartalmaznak: vagy egyet (mint a komplemens eset閚), vagy pedig t鯾bet (mint az uni 閟 a metszet eset閚).

3.1.3.1 owl:intersectionOf

Az owl:intersectionOf egy be閜韙ett OWL tulajdons醙, mely egy oszt醠yt kapcsol egy oszt醠yle韗醩-list醜oz. Az owl:intersectionOf konstrukci egy olyan oszt醠yt 韗 le, amelynek a kiterjed閟e pontosan azokb髄 az egyedekb鮨 醠l, amelyek a list醔an szerepl minden oszt醠yle韗醩 kiterjed閟ben benne vannak.

P閘da:

<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閘d醔an az owl:intersectionOf tulajdons醙 閞t閗e k閠 oszt醠yle韗醩: nevezetesen k閠 felsor醠醩 t韕us oszt醠yle韗醩, amelyek mindegyike k閠-k閠 egyedet tartalmaz. Az eredm閚y黮 kapott metszet pedig egy olyan oszt醠y, mely egyetlen egyedet tartalmaz, nevezetesen a Tosca-t, minthogy ez az egyetlen olyan egyed, amelyik k鰖鰏 a k閠 felsorol醩ban.

MEGJEGYZ蒘: Ez felt閠elezi, hogy a h醨om egyed mind k黮鰊b鰖? Az OWL-ban azonban ez nem mag醫髄 閞tet鮠鮡n van 韌y. Ugyanis, k黮鰊b鰖 URI hivatkoz醩ok mutathatnak ugyanarra az egyedre, l関閚, hogy az OWL nem felt閠elez egyedi neveket. Az 5. szekci骲an olyan nyelvi konstrukci髃at tal醠hat az olvas? amelyekkel egyedek egyenl鮯間閠 閟 k黮鰊b鰖鮯間閠 deklar醠hatjuk.

MEGJEGYZ蒘: Ebben a p閘d醔an t鰎t閚etesen most csak felsorol醩okat haszn醠tunk, hogy 醫l醫hat髒 tegy黭 ennek a nyelvi konstrukci髇ak a jelent閟閠. 蒷etszer鸼b p閘d醟at tal醠hat azonban az olvas az [OWL 趖mutat螯/a>] dokumentumban.

MEGJEGYZ蒘: Az OWL Lite-nak vannak bizonyos korl醫ai az owl:intersectionOf haszn醠at醔an. A 3.2.3 szekci骲an k閟鮞b m間 sz髄unk err鮨.

Az owl:intersectionOf a konjunkci (logikai 蒘) m鹶eletnek felel meg.

3.1.3.2 owl:unionOf

Az owl:unionOf egy be閜韙ett OWL tulajdons醙, mely egy oszt醠yt kapcsol egy oszt醠yle韗醩-list醜oz. Az owl:unionOf konstrukci egy olyan oszt醠yt 韗 le, amelynek a kiterjed閟e pontosan azokb髄 az egyedekb鮨 醠l, amelyek a list醔an szerepl oszt醠yle韗醩ok kiterjed閟einek legal醔b egyik閎en szerepelnek.

P閘da:

<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醠yle韗醩 egy olyan oszt醠yt 韗 le, amelynek a kiterjed閟e h醨om egyedet tartalmaz, nevezetesen a Tosca, Salome, 閟 Turandot egyedet (felt閠elezve, hogy ezek mind k黮鰊b鰖鮡k).

MEGJEGYZ蒘: az owl:unionOf nem haszn醠hat az OWL Lite-ban.

Az owl:unionOf a diszjunkci (logikai VAGY) m鹶eletnek felel meg.

3.1.3.3 owl:complementOf

Az owl:complementOf be閜韙ett OWL tulajdons醙 egy oszt醠yt 閟 egy oszt醠yle韗醩t kapcsol 鰏sze. Az owl:complementOf konstrukci egy olyan oszt醠yt 韗 le, amelynek a kiterjed閟e pontosan azokb髄 az egyedekb鮨 醠l, amelyek nem tartoznak annak az oszt醠yle韗醩nak a kiterjed閟閔ez, amelyet a kijelent閟 t醨gyak閚t adunk meg. Az owl:complementOf a neg醕i (logikai NEM) m鹶eletnek felel meg, hiszen azon egyedeket adja eredm閚y黮, amelyek NEM tartoznak a t醨gyban megnevezett oszt醠yhoz.

J p閘da lehet a komplementer oszt醠yra a "not meat" (nem h鷖) oszt醠y, amelynek le韗醩醫 az al醔bi k骴r閟zlet mutatja be:

<owl:Class>
  <owl:complementOf>
    <owl:Class rdf:about="#Meat"/>
  </owl:complementOf>
</owl:Class>

Ennek az oszt醠yle韗醩nak a kiterjed閟e mindazon egyedeket tartalmazza, amelyek nem tartoznak a Meat (H鷖) oszt醠yhoz.

MEGJEGYZ蒘: az owl:complementOf nem haszn醠hat az OWL Lite-ban.

3.2 Oszt醠yaxiom醟

Az oszt醠yle韗醩ok alkotj醟 azokat az 閜韙鮧鰒eket, amelyekb鮨 oszt醠yaxi髆醟 seg韙s間関el oszt醠yokat defin醠hatunk. Az oszt醠yaxi髆醟 legegyszer鸼b form醞a az els t韕us oszt醠yle韗醩, mely csup醤 az oszt醠y l閠閠 閟 azonos韙 nev閠 deklar醠ja az owl:Class konstruktor seg韙s間関el.

Az al醔bi p閘da egy oszt醠yaxi髆醫 醔r醶ol, amelyben egy OWL oszt醠yt a "Human" n関vel azonos韙unk [itt, az eredeti angol sz鰒egben nem kompatibilis a p閘da 閟 a magyar醶ata, ez閞t a magyar醶atot 閞telemszer鹐n m骴os韙ottuk – a ford.]:

<owl:Class rdf:ID="Human"/>

Ez egy teljesen szab醠yos OWL mondat, de nem sokat 醨ul el nek黱k a Human oszt醠yr髄. Az oszt醠yaxi髆醟 醠tal醔an tov醔bi komponenseket is tartalmaznak, amelyek megadj醟 egy oszt醠y sz黭s間es 閟/vagy el間s間es jellemz鮥t. Az OWL h醨om olyan nyelvi konstrukci髏 tartalmaz, amelyekkel az oszt醠yle韗醩ok oszt醠yaxi髆醟k kombin醠hat髃:

Szintaktikailag ezek a nyelvi konstrukci髃 olyan tulajdons醙ok, amelyeknek az 閞v閚yess間i k鰎e 閟 az 閞t閗tartom醤ya is oszt醠yle韗醩. (Az al醔bi alszekci髃ban r閟zletesen t醨gyaljuk ezeket a tulajdons醙okat).

Az OWL megenged olyan oszt醠yaxi髆醟at is, amelyekben a felsorol醩 t韕us 閟 a halmazoper醫oros t韕us oszt醠yle韗醩oknak nevet adunk. Az ilyen oszt醠yaxi髆醟 szemantikailag egyen閞t閗鹐k azokkal az oszt醠yaxi髆醟kal, amelyekben az owl:equivalentClass 醠l韙m醤yt haszn醠juk. Erre k閟鮞b m間 visszat閞黱k a 3.2.3 Axi髆醟 komplett oszt醠yokhoz owl:equivalentClass haszn醠ata n閘k黮 c韒 szekci骲an).

3.2.1 rdfs:subClassOf

AZ AXI覯A S蒑罦A: oszt醠yle韗醩 rdfs:subClassOf oszt醠yle韗醩

Az rdfs:subClassOf konstrukci髏 az RDF S閙a [RDF Sz髃閟zlet] r閟zek閚t defini醠t醟, de a jelent閟e az OWL-ban is pontosan ugyanaz: ha a C1 oszt醠yle韗醩t a C2 oszt醠yle韗醩 aloszt醠y醤ak defini醠tuk, akkor akkor a C1 oszt醠ykiterjed閟閠 alkot egyedek halmaza a C2 oszt醠ykiterjed閟閠 alkot egyedek halmaz醤ak a r閟zhalmaza kell hogy legyen. Egy oszt醠y, 閞telemszer鹐n, egyben 鰊mag醤ak a r閟zhalmaza is (minthogy egy teljes halmaz is lehet r閟zhalmaz).

P閘da:

<owl:Class rdf:ID="Opera">
  <rdfs:subClassOf rdf:resource="#MusicalWork" />
</owl:Class>

Ez az oszt醠yaxi髆a egy "aloszt醠y" viszonyt deklar醠t k閠 olyan OWL oszt醠y k鰖鰐t, amelyek a nev黭kel vannak le韗va. Ez a k閠 oszt醠y az Opera 閟 a MusicalWork (Opera, illetve Zenem?. Az aloszt醠yrel醕i biztos韙ja a sz黭s間es felt閠elt ahhoz, hogy egy oszt醠yhoz tartoz醩t deklar醠jon. A p閘d醔髄 l醫hat蝥 ahhoz, hogy valami Opera legyen, Zenem鹡ek kell lennie.

Megjegyz閟: Az OWL Lite-ban az rdfs:subClassOf kijelent閟 alany醤ak oszt醠yazonos韙髇ak kell lennie, a t醨gya pedig oszt醠yazonos韙 vagy tulajdons醙korl醫oz醩 lehet.

Egyetlen oszt醠y sz醡醨a tetsz鮨eges sz醡 subClassOf axi髆醫 adhatunk meg. Az Opera oszt醠yra p閘d醬l megadhatjuk az al醔bi axi髆醫:

<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醠yaxi髆a egy tulajdons醙korl醫oz醩t tartalmaz. L関閚, hogy az owl:Restriction egy be閜韙ett OWL oszt醠y (az owl:Class aloszt醠ya), a fenti p閘d醔an azt jelentj黭 ki, hogy az Opera egy olyan n関telen OWL oszt醠ynak az aloszt醠ya, amelynek kiterjed閟e azon egyedek halmaza, amelyek hasLibrettist tulajdons醙a legal醔b egy 閞t閗kel rendelkezik. Ez t鰉鰎en azt akarja kifejezni, hogy az opera olyan valami, aminek legal醔b egy sz鰒egk鰊yv韗骿a van.

Az oszt醠yaxi髆醟 bonyolultabbakk v醠hatnak, ha az oszt醠yle韗醩ok egym醩ba 醙yaz骴nak. P閘d醬l: az olyan t韕us tulajdons醙korl醫oz醩ok, amelyek owl:allValuesFrom vagy owl:someValuesFrom 醠l韙m醤yt tartalmaznak, b醨milyen oszt醠yle韗醩ra mutathatnak. Figyelj黭 meg az al醔bi p閘d醫:

<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閘da egyebek k鰖t bemutatja az owl:oneOf konstrukci haszn醠at醫. A p閘dabeli oszt醠yaxi髆a a hagyom醤yos olasz oper醫 az oper醟 olyan aloszt醠yak閚t defini醠ja, amelyek "operaT韕usa" vagy KomolyOpera vagy V韌opera. (Ha nem alkalmazunk k黮鰊 kardinalit醩korl醫oz醩t, akkor az "operaT韕usa" tulajdons醙 mindk閠 閞t閗et megkaphatja). Tov醔bi p閘d醟 tal醠hat髃 az [OWL 趖mutat螯/a>] dokumentumban.

Az aloszt醠y-axi髆醟 csak r閟zbeni defin韈i髃at szolg醠tatnak, ugyanis ezek csak a sz黭s間es, de nem az el間s間es felt閠elt biztos韙j醟 ahhoz, hogy valamely egyed oszt醠ytags醙醫 egy閞telm鹐n meg醠lap韙hassuk. A k鰒etkez alszekci骲an l醫ni fogjuk, hogy a sz黭s間es el間s間es felt閠el defini醠醩醜oz az OWL rendelkezik egy owl:equivalentClass konstrukci髒al. Ugr骴eszkak閚t az ilyen axi髆醟hoz, tekints黭 a k鰒etkez p閘d醫:

<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醠yaxi髆a 鷊y defini醠ja az Operettet, hogy az egy Zenem? amelynek legal醔b egy sz鰒egk鰊yv韗骿a van, de nem Opera. Az "aloszt醠y" rel醕i haszn醠ata nyitva hagyja azt a lehet鮯間et, hogy vannak m醩 zenem鹶ek is, amelyeknek van egy sz鰒egk鰊yv韗骿uk, 閟 nem oper醟. Ha azt akarn醤k mondani, hogy az operettek pontosan 閟 kiz醨髄ag azok a zenem鹶ek, amelyeknek van sz鰒egk鰊yv韗骿uk, de nem oper醟, akkor sz黭s間黱k lenne az owl:equivalentClass konstrukci髍a is.

3.2.2 owl:equivalentClass

AZ AXI覯A S蒑罦A: oszt醠yle韗醩 owl:equivalentClass oszt醠yle韗醩

Egy oszt醠yaxi髆a t鯾b owl:equivalentClass 醠l韙醩t is tartalmazhat. Az owl:equivalentClass egy be閜韙ett tulajdons醙, mely egy oszt醠yle韗醩t egy m醩ik oszt醠yle韗醩hoz kapcsol. Az ilyen oszt醠yaxi髆a jelent閟e az, hogy a benne szerepl k閠 oszt醠yle韗醩nak ugyanaz a kiterjed閟e (vagyis, hogy pontosan ugyanazokat az egyedeket tartalmazza).

Az equivalentClass t韕us axi髆a legegyszer鸼b form醞a az, amikor k閠 neves韙ett oszt醠y k鰖鰐t deklar醠 (a kiterjed閟黭re vonatkoz骯n) egyen閞t閗鹲間et. Egy p閘da erre:

<owl:Class rdf:about="#AzEgyes黮t羖lamokEln鰇e">
  <equivalentClass rdf:resource="#AFeh閞H醶LegfontosabbLak骿a"/>
</owl:Class>

MEGJEGYZ蒘: Az owl:equivalentClass kifejez閟 nem jelenti k閠 oszt醠y egyenl鮯間閠. K閠 oszt醠y egyenl鮯間e ugyanis azt jelenti, hogy azonos az intenzion醠is jelent閟黭 (ugyanazt a fogalmat jel鰈ik). A fenti p閘d醔an az "Egyes黮t 羖lamok eln鰇e" fogalom 鰏szef黦g ugyan azzal a fogalommal, hogy a "Feh閞 H醶 legfontosabb lak骿a", de nem egyenl vele. Egy 醠lam eln鰇閚ek a fogalma, 閟 az a fogalom, hogy valaki egy bizonyos 閜黮et legfontosabb lak骿a, nem lehet azonos. (Itt csup醤 az a k閠 egyed azonos, aki a fenti p閘d醔an szerepl k閠, egyf鮯 oszt醠ynak a k鰖鰏 tagja: az eln鰇 szem閘ye). A t閚yleges oszt醠yazonoss醙ot csak az owl:sameAs konstrukci髒al tudjuk deklar醠ni. Minthogy azonban ez azt ig閚yli, hogy oszt醠yokat egyedk閚t is kezelhess黱k, az ilyen egyenl鮯間et csak az OWL Full-ban tudjuk kifejezni.

Az owl:equivalentClass seg韙s間関el fel閜韙ett axi髆a alkalmas felsorol醩oszt醠yok defini醠醩醨a is oly m骴on, hogy egy 1. t韕us oszt醠yle韗醩t (oszt醠yazonos韙髏) egy 2. t韕us oszt醠yle韗醩hoz (felsorol醩hoz) kapcsol. Egy p閘da 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髆a olyan oper醟 oszt醠y醫 defini醠ja DaPonteOperaOfMozart n関en, amelyek sz鰒eg韗骿a Da Ponte, zeneszerz鮦e pedig Mozart (ez a zenetudom醤y egyik 閞dekes t閙醞a). Az equivalentClass konstrukci髒al meg tudjuk adni a fenti oszt醠yhoz val tartoz醩 sz黭s間es 閟 elegend felt閠eleit, amit ebben az esetben a h醨om t閚yleges egyed egyszer felsorol醩a reprezent醠.

MEGJEGYZ蒘: Az OWL DL semmilyen m骴on nem korl醫ozza azoknak az oszt醠yle韗醩oknak a t韕us醫, amelyek egy owl:equivalentClass kijelent閟 alanyai, illetve t醨gyai lehetnek. Az OWL Lite-ban azonban az alanynak oszt醠yn関nek kell lennie, a t醨gy pedig lehet ak醨 oszt醠yn関, ak醨 tulajdons醙korl醫oz醩.

MEGJEGYZ蒘: Hab醨 egy equivalentClass alanyak閚t tulajdonk閜pen k黮鰊b鰖 t韕us oszt醠yle韗醩ok is megadhat髃, a gyakorlatban ez 醠tal醔an egy oszt醠yazonos韙 szokott lenni. Ez a jelen szekci p閘d醝ra is is jellemz?

Egy oszt醠y defini醠醩醔an alkalmazhatunk t鯾b equivalentClass t韕us oszt醠yaxi髆醫 is. Ilyenkor azonban vigy醶ni kell! Mindegyik axi髆醤ak ugyanazt a v間eredm閚yt (ugyanazt a kiterjed閟t) kell produk醠nia. P閘d醬l, a Mozart Da Ponte oper醝t le韗 alternat韛 equivalentClass axi髆a az al醔bi 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髆a azt 醠lap韙ja meg, hogy a DaPonteOperaOfMozart oszt醠y kiterjed閟e pontosan azokb髄 az oper醟b髄 醠l, amelyek komponist醞a Mozart, a sz鰒eg韗骿a Lorenzo Da Ponte (intersection = metszet = 蒘). Ez az axi髆a teh醫 egy olyan oszt醠yt defini醠, amelynek ugyanazok az egyedei, mint az el鮶 p閘d醔an szerepl oszt醠y?

MEGJEGYZ蒘: Ha az "A subClassOf B" t韕us axi髆醫 egy "A equivalentClass B" t韕us axi髆醰 k韛醤n醤k "feljav韙ani" (ami azt mondan ki, hogy A kiterjed閟e nem ak醨milyen r閟zhalmaz, hanem B kiterjed閟関el azonos halmaz), akkor kieg閟z韙hetn閚k egy m醩odik axi髆醰al (ez鷗tal "B subClassOf A" form醔an), mely egy黷t, a k閠 oszt醠yt 閞telemszer鹐n egyen閞t閗鹶 tenn (vagyis ugyanazt jelenten? mint "A equivalentClass B"). A nyelv explicite lehet鮲 teszi ilyen k鰈cs鰊鰏 aloszt醠yrel醕i髃 alkalmaz醩醫. Minthogy az OWL elosztott k鰎nyezetben is haszn醠hat? ez egy nagyon hasznos opci lehet.

3.2.3 Axi髆醟 komplett oszt醠yokhoz owl:equivalentClass haszn醠ata n閘k黮

AZ AXI覯A S蒑罦A: Egy 2. t韕us?/em> neves韙ett oszt醠yle韗醩 (owl:oneOf 醠l韙m醤nyal), vagy pedig egy 4-6. t韕us?/em> neves韙ett oszt醠yle韗醩 (owl:intersectionOf, owl:unionOf vagy owl:complementOf 醠l韙m醤nyal).

Az OWL lehet鮲 teszi, hogy a felhaszn醠 egy oszt醠yaxi髆醫 defini醠jon 鷊y, hogy oszt醠ynevet rendel egy felsorol醩 t韕us vagy egy halmazm鹶elet t韕us oszt醠yle韗醩hoz. Az ilyen oszt醠yaxi髆a sz黭s間es 閟 elegend felt閠elt biztos韙 az oszt醠yhoz tartoz醩 meg醠lap韙醩醨a. Egy kor醔br髄 kiss m醨 ismert p閘da 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醠yaxi髆醫 鷊y kell 閞telmezn黱k, hogy a DaPonteOperaOfMozart oszt醠y kiterjed閟閠 pontosan 閟 v間legesen defini醠ja a megadott felsorol醩.

Ez az oszt醠yaxi髆a szemantikailag egyen閞t閗 az el鮶 szekci els opera p閘d醞醰al, amelyik m間 egy owl:equivalentClass 醠l韙m醤yt is tartalmazott. Ilyen axi髆醫 az owl:intersectionOf, az owl:unionOf 閟 az owl:complementOf醠l韙m醤nyal is el踽ll韙hatunk. Egy p閘da az uni alkalmaz醩醰al:

<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醠yaxi髆a azt jelenti ki, hogy az 蒷鮨閚y (LivingBeing) oszt醠y kiterjed閟e megegyezik a N鰒閚y 閟 az 羖lat (PlantAnimal) oszt醠y kiterjed閟閚ek uni骿醰al.

MEGJEGYZ蒘: Az OWL Lite csak ilyen t韕us oszt醠yaxi髆醟at ismer, amelyeket az owl:intersectionOf tulajdons醙gal konstru醠unk. Itt az intersectionOf list醞醤ak 閞t閗ei csak oszt醠yazonos韙髃 閟/vagy tulajdons醙korl醫oz醩ok lehetnek. 蚲y teh醫 komplett oszt醠yt defini醠 axi髆醟 (mint a felsorol醩, a komplemens 閟 az uni? az OWL Lite-ban nem alkalmazhat髃.

3.2.4 owl:disjointWith

AZ AXI覯A S蒑罦A: class description owl:disjointWith class description

Egy oszt醠yaxi髆a (t鯾b) owl:disjointWith (diszjunkt/idegen oszt醠y) 醠l韙醩t tartalmazhat. Az owl:disjointWith egy be閜韙ett tulajdons醙, amelynek 閞v閚yess間i k鰎e 閟 閞t閗tartom醤ya egy-egy oszt醠yle韗醩. Minden egyes owl:disjointWith 醠l韙m醤y azt jelenti ki, hogy az 醠l韙醩ban szerepl k閠 oszt醠yle韗醩 kiterjed閟閎en nincsenek k鰖鰏 egyedek. Ugyan鷊y, mint egy "aloszt醠y" viszony deklar醠醩a (rdfs:subClassOf), a "diszjunkt" viszony deklar醠醩a (owl:disjointWith) is csak parci醠is defin韈i髏 eredm閚yez. Ez is csak a sz黭s間es, de nem az el間s間es felt閠elt szolg醠tatja az oszt醠yhoz tartoz醩 meg醠lap韙醩醜oz.

Egy n閜szer p閘da diszjunkt oszt醠yokra:

<owl:Class rdf:about="#Man">
  <owl:disjointWith rdf:resource="#Woman"/>
</owl:Class>

Hogy ez az 醠l韙醩 t閚ylegesen igaz-e, annak eld鰊t閟e a biol骻usokra tartozik. A k鰒etkez p閘da aloszt醠y-hierarchi醟on mutatja be a diszjunktivit醩 egyszer alkalmaz醩醫:

<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 醠l韙醩t a owl:unionOf 醠l韙醩sal egy黷t haszn醠tuk annak 閞dek閎en, hogy defini醠hassuk egy f鮫szt醠y k鰈cs鰊鰏en diszjunkt 閟 komplett aloszt醠yait. Term閟zetes nyelven fogalmazva, itt azt mondtuk ki: miden Zenedr醡a vagy Opera, vagy Operett, vagy Musical (az oszt醠yok sz閠v醠aszt醩a teljes), 閟 hogy azok az egyedek, amelyek az egyik aloszt醠yhoz (pl. Opera) tartoznak, nem tartozhatnak m醩 aloszt醠yhoz is (mint pl. Musical), vagyis, ezek diszjunkt, nem 醫fed aloszt醠yok. Ez egy 醠tal醤osan ismert modellez閟i fogalom, amelyet sok adatmodellez nyelvben alkalmaznak.

MEGJEGYZ蒘: Az OWL Lite nem enged閘yezi az owl:disjointWith haszn醠at醫.

4. Tulajdons醙ok

Az OWL a tulajdons醙ok k閠 kateg髍i醞醫 k黮鰊b鰖teti meg, amelyeket az ontol骻iafejleszt haszn醠hat:

MEGJEGYZ蒘: Az OWL haszn醠 olyan fogalmakat is, mint annot醕i髏ulajdons醙 (owl:AnnotationProperty) 閟 ontol骻iatulajdons醙 (owl:OntologyProperty). Ezeket az OWL DL ig閚yli, szemantikai okokb髄. L醩d a 7. szekci骲an, valamint az OWL Szemantika 閟 absztrakt szintaxis [OWL Sz&ASz] dokumentumban.

Egy objektumtulajdons醙ot az owl:ObjectProperty nev be閜韙ett OWL oszt醠y tagjak閚t, egy adatt韕us-tulajdons醙ot pedig az owl:DatatypeProperty tagjak閚t defini醠hatunk. Mind az owl:ObjectProperty, mind az owl:DatatypeProperty az rdf:Property nev RDF oszt醠y tagja (l醩d a B. f黦gel閗ben).

MEGJEGYZ蒘: Az OWL Full-ban az objektumtulajdons醙ok 閟 az adatt韕us-tulajdons醙ok nem alkotnak diszjunkt halmazokat. Mivel itt az adat閞t閗ek egyedk閚t kezelhet鮧, az adatt韕us-tulajdons醙 l閚yeg閎en az objektumtulajdons醙 aloszt醠yak閚t funkcion醠. Az OWL Full-ban az owl:ObjectProperty gyakorlatilag egyen閞t閗 az rdf:Property-vel; ez f鮨eg az owl:InverseFunctionalProperty haszn醠ata eset閚 j醨 k鰒etkezm閚yekkel. L醩d az OWL Full jellemz閟閠 a 8.1 szekci骲an.

Egy tulajdons醙axi髆a egy tulajdons醙 jellemz鮥t defini醠ja. A tulajdons醙axi髆a a legegyszer鸼b form醞醔an csup醤 a tulajdons醙 l閠閠 defini醠ja. P閘d醬l:

<owl:ObjectProperty rdf:ID="hasParent"/>

Ez a p閘da egy tulajdons醙ot defini醠 azzal a kik鰐閟sel, hogy annak 閞t閗ei csak oszt醠yok egyedei lehetnek.

A tulajdons醙axi髆醟 azonban t鯾bnyire egy閎 jellemz鮧et is megadnak a tulajdons醙ok le韗醩醤醠. Az OWL az al醔bi konstruktorokat ny鷍tja a tulajdons醙axi髆醟 defini醠醩醜oz:

Az al醔bi alszekci髃ban r閟zletesen t醨gyaljuk a k黮鰊f閘e tulajdons醙axi髆醟at.

MEGJEGYZ蒘: Ebben a szekci骲an az "oszt醠ykiterjed閟" fogalm醜oz hasonl骯n haszn醠juk a "tulajdons醙kiterjed閟" fogalm醫. A tulajdons醙 kiterjed閟e a tulajdons醙 azon eseteinek (el鮢ordul醩ainak) a halmaza, amelyek a tulajdons醙hoz kapcsol骴nak. Egy tulajdons醙 esetei nem egyed黮醠l elemek, hanem a tulajdons醙hoz (mint 醠l韙m醤yhoz) tartoz alany-t醨gy p醨ok. (A rel醕i髎 adatb醶isok fogalomk鰎閎en a tulajdons醙 eseteit egy bin醨is rel醕i – azaz tulajdons醙 – tuple-jainak nevezn閚k.)

4.1 RDF S閙a alap tulajdons醙konstrukci髃

Az ebben a szekci骲an szerepl konstrukci髃at az RDF S閙a [RDF Sz髃閟zlet] r閟zletesen t醨gyalja. Ez a szekci ez閞t ink醔b csak a konstrukci髃 szinopszis醫 閟 OWL-specifikus aspektusait ismerteti.

4.1.1 rdfs:subPropertyOf

Egy rdfs:subPropertyOf axi髆a azt defini醠ja, hogy egy tulajdons醙 egy m醩iknak altulajdons醙a. Form醠isan ez azt jelenti, hogy ha P1 altulajdons醙a P2-nek, akkor P1 kiterjed閟e (alany-醠l韙m醤y p醨jainak halmaza) P2 hasonl p醨okb髄 醠l kiterjed閟閚ek a r閟zhalmaza.

P閘da:

<owl:ObjectProperty rdf:ID="hasMother">
  <rdfs:subPropertyOf rdf:resource="#hasParent"/>
</owl:ObjectProperty>

Ez azt 醠lap韙ja meg, hogy a "anyja" (hasMother) tulajdons醙 kiterjed閟閎en el鮢ordul elemek (p醨ok) egyben a "sz黮鮦e" (hasParent) tulajdons醙 kiterjed閟閚ek elemei is.

Az altulajdons醙-axi髆醟 mind adatt韕us-tulajdons醙okhoz, mind objektumtulajdons醙okhoz alkalmazhat髃.

MEGJEGYZ蒘: Az OWL DL-ben egy altulajdons醙-axi髆醤ak az alanya 閟 t醨gya csak azonos t韕us tulajdons醙 (vagy adatt韕us-tulajdons醙, vagy objektumtulajdons醙) lehet.

4.1.2 rdfs:domain

Egy tulajdons醙 sz醡醨a egy vagy t鯾b rdfs:domain ("閞v閚yess間i k鰎e") axi髆醫 defini醠hatunk. Szintaktikailag az rdfs:domain egy be閜韙ett tulajdons醙, mely egy tulajdons醙ot, az rdf:Property oszt醠y valamelyik eset閠, egy oszt醠yle韗醩hoz kapcsolja. Egy rdfs:domain axi髆a azt jelenti ki, hogy az ilyen tulajdons醙axi髆醟 alanyainak a megadott oszt醠yle韗醩 kiterjed閟閔ez kell tartozniuk.

T鯾b rdfs:domain axi髆a is megadhat ugyanarra a tulajdons醙ra, amelyeket 鷊y kell 閞telmezni, hogy konjunkci髏 alkotnak: vagyis, a tulajdons醙 閞v閚yess間i k鰎閠 azokra az egyedekre korl醫ozz醟, amelyek az egyes rdfs:domain oszt醠yaxi髆醟 metszet閔ez tartoznak. Ha azt akarn醤k kifejezni, hogy egy tulajdons醙 閞v閚yess間i k鰎e t鯾b oszt醠yra terjed ki, akkor egy owl:unionOf t韕us oszt醠yle韗醩t kellene haszn醠nunk. P閘d醬l: ha azt akarn醤k kifejezni, hogy a "banksz醡l醞a" (hasBankAccount) tulajdons醙 egyar醤t 閞v閚yes a "V醠lalat" (Corporation) oszt醠yban 閟 a "Szem閘y" (Person) oszt醠yban, akkor ilyen kijelent閟eket kellene tenn黱k:

<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蒘: Az OWL Lite-ban az rdfs:domain tulajdons醙 閞t閗e csak oszt醠yazonos韙 lehet.

4.1.3 rdfs:range

Egy tulajdons醙 sz醡醨a egy vagy t鯾b rdfs:range ("閞t閗tartom醤ya") axi髆醫 defini醠hatunk. Szintaktikailag az rdfs:range egy be閜韙ett tulajdons醙, mely egy tulajdons醙ot, az rdf:Property oszt醠y valamelyik eset閠, egy oszt醠yle韗醩hoz vagy egy adat閞t閗-tartom醤yhoz kapcsolja. Egy rdfs:range axi髆a azt jelenti ki, hogy az adott tulajdons醙 lehets間es 閞t閗einek a megadott oszt醠yle韗醩 kiterjed閟閔ez, vagy a megadott adat閞t閗-tartom醤yhoz kell tartozniuk.

Ha t鯾b rdfs:range t韕us korl醫oz醩t adunk meg ugyanarra a tulajdons醙ra, akkor ezzel azt jelentj黭 ki, hogy a tulajdons醙 閞t閗tartom醤ya a megadott 閞t閗tartom醤yok metszete (oszt醠yle韗醩ok kiterjed閟閚ek a metszete, vagy adat閞t閗-tartom醤yok metszete) legyen. Az rdfs:domain-hez hasonl骯n t鯾b alternat韛 閞t閗tartom醤yt specifik醠hatunk egy owl:unionOf t韕us oszt醠yle韗醩 keret閎en is (l醩d a p閘d醫 az el鮶 szekci骲an).

Figyelj黭 meg, hogy – szemben az 鰏szes 閞t閗korl醫oz醩sal, amelyet az oszt醠yle韗醩okr髄 sz髄 szekci骲an t醨gyaltunk – az rdfs:range korl醫oz醩ok glob醠isak. Az olyan 閞t閗korl醫oz醩okat, mint az owl:allValuesFrom, csak az oszt醠yle韗醩okban haszn醠juk, 閟 csak akkor hat醠yosak az adott tulajdons醙ra, amikor a le韗t oszt醠y egyedeivel kapcsolatban haszn醠juk 鮧et. Az rdfs:range viszont mindig 閞v閚yes az adott tulajdons醙ra, f黦getlen黮 att髄, hogy melyik oszt醠y egyedeire alkalmazzuk. Ez閞t az rdfs:range haszn醠ata 髒atoss醙ot ig閚yel.

MEGJEGYZ蒘: Az OWL Lite-ban az rdfs:range t醨gyak閚t kiz醨髄ag oszt醠yneveket haszn醠hatunk.

4.2 Tulajdons醙ok k鰖鰐ti rel醕i髃

4.2.1 owl:equivalentProperty

Az owl:equivalentProperty ("egyen閞t閗 tulajdons醙") konstrukci seg韙s間関el azt fejezhetj黭 ki, hogy k閠 tulajdons醙nak ugyanaz a tulajdons醙kiterjed閟e. Szintaktikailag az owl:equivalentProperty egy be閜韙ett OWL tulajdons醙, amelynek az 閞v閚yess間i k鰎e 閟 閞t閗tartom醤ya egyar醤t az rdf:Property oszt醠y.

MEGJEGYZ蒘: A tulajdons醙ok egyen閞t閗鹲間e nem azonos a tulajdons醙ok egyenl鮯間関el. Az egyen閞t閗 tulajdons醙oknak ugyanaz az "閞t閗黭" (ugyanaz a kiterjed閟黭), de az intenzion醠is jelent閟黭 k黮鰊b鰖 lehet (k黮鰊b鰖 fogalmakat jel鰈hetnek). A tulajdons醙ok egyenl鮯間閠 az owl:sameAs konstrukci髒al deklar醠hatjuk. De mivel ez megk鰒eteli, hogy tulajdons醙okat egyedk閚t is kezelhess黱k, az ilyen axi髆醟 csak az OWL Full-ban haszn醠hat髃.

4.2.2 owl:inverseOf

A tulajdons醙oknak ir醤yuk van, mely az 閞v閚yess間i k鰎t鮨 az 閞t閗tartom醤y fel mutat. A gyakorlatban azonban hasznos lehet, ha mindk閠 ir醤yban defini醠hatunk tulajdons醙okat: pl. 趓vezet "g閜kocsija", illetve G閜kocsi "tulajdonosa". Az owl:inverseOf konstrukci髏 haszn醠juk az ilyen ford韙ott vagy inverz tulajdons醙 defini醠醩醨a (inform醠isan 韗va: "g閜kocsija" inverseOf "tulajdonosa").

Szintaktikailag az owl:inverseOf egy be閜韙ett OWL tulajdons醙, amelynek az 閞v閚yess間i k鰎e 閟 閞t閗tartom醤ya egyar醤t az owl:ObjectProperty oszt醠y. Egy "P1 owl:inverseOf P2" form醫um axi髆a azt deklar醠ja, hogy a P1 tulajdons醙 kiterjed閟閚ek minden (x,y) p醨ja sz醡醨a l閠ezik egy (y,x) p醨 a P2 tulajdons醙 kiterjed閟閎en, 閟 megford韙va. Az owl:inverseOf teh醫 egy szimmetrikus tulajdons醙. Az al醔bi p閘da azt deklar醠ja, hogy a "gyermeke" (hasChild) tulajdons醙 a "sz黮鮦e" (hasParent) tulajdons醙 ford韙ottja:

<owl:ObjectProperty rdf:ID="hasChild">
  <owl:inverseOf rdf:resource="#hasParent"/>
</owl:ObjectProperty>

4.3 Tulajdons醙ok kardinalit醩醤ak glob醠is korl醫oz醩a

4.3.1 owl:FunctionalProperty

A funkcion醠is tulajdons醙 olyan speci醠is tulajdons醙, amelynek csak egyetlen (azaz: egyed黮醠l? y 閞t閗e lehet minden x egyed sz醡醨a. Vagyis, nem l閠ezhet k閠 olyan k黮鰊b鰖 y1y2 閞t閗 鷊y, hogy mind az (x,y1), mind az (x,y2) p醨 ennek a tulajdons醙nak az esete lenne. Mind az objektumtulajdons醙okat, mind az adatt韕us-tulajdons醙okat deklar醠hatjuk funkcion醠isnak. Erre a c閘ra az OWL defini醠 egy owl:FunctionalProperty nev be閜韙ett oszt醠yt, mely az rdf:Property RDF oszt醠y speci醠is aloszt醠ya.

Az al醔bi axi髆a kijelenti, hogy a "f閞je" (husband) tulajdons醙 funkcion醠is, vagyis, hogy egy Asszonynak (Woman) legfeljebb egy f閞je lehet (ez egyben j p閘da az ontol骻i醟nak a k黮鰊b鰖 kult鷕醟t髄 val f黦g鮯間閞e 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 醠tal醔an, itt is vari醠hat a szintaxis. A fenti defin韈i szemantikailag ekvivalens az al醔bival:

<owl:ObjectProperty rdf:ID="husband">
  <rdfs:domain rdf:resource="#Woman" />
  <rdfs:range  rdf:resource="#Man" />
</owl:ObjectProperty>

<owl:FunctionalProperty rdf:about="#husband" />

4.3.2 owl:InverseFunctionalProperty

Ha egy tulajdons醙ot ford韙ott funkcion醠isnak deklar醠unk, akkor a tulajdons醙gal megfogalmazott 醠l韙醩 t醨gya egy閞telm鹐n meghat醨ozza az alanyt (valamilyen egyedet). Form醠isabban fogalmazva: ha kijelentj黭, hogy P egy ford韙ott funkcion醠is tulajdons醙 (Inverse Functional Property), akkor ez azt garant醠ja, hogy egy y 閞t閗 csup醤 egyetlen x egyed P tulajdons醙醤ak az 閞t閗e lehet, vagyis, nem l閠ezhet k閠 olyan k黮鰊b鰖? x1x2 egyed oly m骴on, hogy mind az (x1,y), mind (x2,y) p醨os a P tulajdons醙 esete lenne.

Egy ford韙ott funkcion醠is tulajdons醙axi髆醫 szintaktikailag 鷊y adunk meg, hogy az adott tulajdons醙ot az owl:InverseFunctionalProperty be閜韙ett OWL oszt醠y egyed閚ek deklar醠juk. Ez az oszt醠y egy閎k閚t az owl:ObjectProperty OWL oszt醠y aloszt醠ya.

MEGJEGYZ蒘: Mivel az OWL Full-ban az adatt韕us-tulajdons醙ok az objektumtulajdons醙ok aloszt醠y醫 k閜ezik, ez閞t itt a ford韙ott funkcion醠is jellemz鮰 adatt韕us-tulajdons醙okra is alkalmazhatjuk. Az OWL DL-ben azonban az objektumtulajdons醙ok 閟 az adatt韕us-tulajdons醙ok diszjunkt halmazokat alkotnak, s 韌y az adatt韕us-tulajdons醙ok nem deklar醠hat髃 ford韙ott funkcion醠isnak. (l醩d a 8.1. szekci骲an 閟 a 8.2. szekci骲an is).

Egy tipikus p閘da ford韙ott funkcion醠is tulajdons醙ra:

<owl:InverseFunctionalProperty rdf:ID="isBiologicalMotherOf">
  <rdfs:domain rdf:resource="#Woman"/>
  <rdfs:range rdf:resource="#Human"/>
</owl:InverseFunctionalProperty>

Ez a p閘da azt mondja, hogy az "isBiologicalMotherOf" ("biol骻iaiAnyja~nak") kijelent閟 minden egyes t醨gya (valamelyik Human/Ember) sz醡醨a egy閞telm鹐n azonos韙hat egy alany (valamelyik Woman/Asszony). Ez閞t az ilyen tulajdons醙ok eml閗eztetnek az adatb醶isok "kulcsaira", amelyek egy閞telm鹐n azonos韙anak egy egyedet.

Az "egyenes" 閟 a ford韙ott funkcion醠is tulajdons醙 k鰖鰐ti egyik k黮鰊bs間 az, hogy az ut骲bi defin韈i骿醜oz nem sz黭s間es m間 egy tov醔bi objektumtulajdons醙-axi髆a vagy adatt韕ustulajdons醙-axi髆a: a ford韙ott funkcion醠is tulajdons醙 ugyanis eleve csak objektumtulajdons醙 lehet.

Vegy黭 閟zre, hogy az owl:FunctionalProperty, valamint az owl:InverseFunctionalProperty glob醠is kardinalit醩korl醫oz醩t val髎韙 meg. Azaz mindegy, hogy 閜pen melyik oszt醠y egyedeit jellemezz黭 vele, a korl醫oz醩 mindig 閞v閚yben marad. Ez teh醫 k黮鰊b鰖ik azokt髄 a kardinalit醩korl醫oz醩okt髄, amelyeket a Tulajdons醙korl醫oz醩ok c. szekci骲an ismertett黱k. Ezek ugyanis mind oszt醠yle韗醩ok, s ez閞t csak helyileg, az 閜pen le韗t oszt醠yra 閞v閚yesek.

4.4 Tulajdons醙ok logikai jellemz鮥

4.4.1 owl:TransitiveProperty

Amikor egy P tulajdons醙ot tranzit韛nak deklar醠unk, ez annyit jelent, hogy ha egy (x,y) p醨 閟 egy (y,z) p醨 is P-nek egy-egy el鮢ordul醩a, akkor ebb鮨 az k鰒etkezik, hogy az (x,z) p醨 szint閚 egy el鮢ordul醩a P-nek.

Szintaktikailag egy tulajdons醙ot oly m骴on defini醠unk tranzit韛nak, hogy az owl:TransitiveProperty nev be閜韙ett OWL oszt醠y egyed関 tessz黭. (Ezt a be閜韙ett OWL oszt醠yt az owl:ObjectProperty aloszt醠yak閚t defini醠ja az OWL nyelv.)

A tranzit韛 tulajdons醙ok tipikus p閘d醝 azok a tulajdons醙ok, amelyek egy bizonyos r閟z-eg閟z rel醕i髏 醔r醶olnak. P閘d醬l: mondhatn醤k, hogy a subRegionOf (alr間i骿a~nak) tulajdons醙 r間i髃 k鰖鰐ti rel醕i髃閚t tranzit韛:

<owl:TransitiveProperty rdf:ID="subRegionOf">
  <rdfs:domain rdf:resource="#Region"/>
  <rdfs:range  rdf:resource="#Region"/>
</owl:TransitiveProperty>

Ebb鮨 egy OWL k鰒etkeztet鮣閜nek le kell tudnia vezetni, hogy ha pl. Chianti, Toscana 閟 It醠ia egy-egy r間i (Region), 閟 Chianti alr間i骿a (subregionOf) Toscan帱code>nak, akkor Chianti alr間i骿a It醠i醤ak is.

Jegyezz黭 meg, hogy mivel az owl:TransitiveProperty oszt醠y az owl:ObjectProperty oszt醠y aloszt醠ya, az al醔bi p閘da egyen閞t閗 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蒘: Az OWL DL nem engedi meg, hogy egy tranzit韛 tulajdons醙ra (vagy egy ilyennek a ford韙ottj醨a, szupertulajdons醙醨a, vagy a ford韙ottja szupertulajdons醙醨a) ak醨 lok醠is, ak醨 glob醠is kardinalit醩korl醫oz醩t deklar醠junk.

4.4.2 owl:SymmetricProperty

A szimmetrikus tulajdons醙 egy olyan tulajdons醙, amelyre 閞v閚yes a k鰒etkez meg醠lap韙醩: ha egy (x,y) p醨 a P tulajdons醙 egyik el鮢ordul醩a, akkor az (y,x) p醨 szint閚 egy el鮢ordul醩a P-nek. Szintaktikailag egy tulajdons醙ot 鷊y deklar醠unk szimmetrikusnak, hogy azt az owl:SymmetricProperty nev be閜韙ett OWL oszt醠y aloszt醠y醰 tessz黭. (Ezt a be閜韙ett OWL oszt醠yt az owl:ObjectProperty aloszt醠yak閚t defini醠ja az OWL nyelv.)

A szimmetrikus tulajdons醙ra n閜szer p閘da a friendOf (bar醫ja) rel醕i蝥

<owl:SymmetricProperty rdf:ID="friendOf">
  <rdfs:domain rdf:resource="#Human"/>
  <rdfs:range  rdf:resource="#Human"/>
</owl:SymmetricProperty>

A szimmetrikus tulajdons醙ok 閞v閚yess間i k鰎e 閟 閞t閗tartom醤ya azonos.

5. Egyedek

Egyedeket un. t閚yaxi髆醟kal defini醠hatunk (ezeket n閔a egyszer鹐n csak "t閚yeknek" nevezz黭). A t閚yek k閠 csoportj醨髄 besz閘het黱k:

  1. T閚yek az oszt醠ytags醙r髄, 閟 t閚yek az egyedek tulajdons醙ainak 閞t閗eir鮨.
  2. T閚yek az egyedek azonoss醙醨髄 (vagy k黮鰊b鰖鮯間閞鮨).

5.1 Oszt醠ytags醙 閟 tulajdons醙閞t閗ek

A legt鯾b t閚y tipikusan olyan kijelent閟, mely egyedek oszt醠ytags醙醨髄 (oszt醠yhoz tartoz醩醨髄), vagy a tulajdons醙aik 閞t閗閞鮨 sz髄. P閘dak閜pen tekints黭 az al醔bi kijelent閟ek csokr醫, amelyben az Opera oszt醠y egyik egyed閞鮨 tesz黱k t閚y醠l韙醩okat.

<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閘da ilyen t閚yeket tartalmaz a Tosc醨髄, az Opera oszt醠y egyik egyed閞鮨, mint hogy a Tosca szerz鮦e Giacomo Puccini, hogy az oper醤ak h醨om sz鰒egk鰊yv韗骿a van (Sardou, Giacosa 閟 Illica) 閟 韌y tov醔b. Itt a "bemutat驞醫uma" (premiereDate) tulajdons醙 az oper醫 egy tipiz醠t liter醠hoz, az XML S閙a "date" adatt韕us醜oz kapcsolja. (Az [XML S閙a Adatt韕usok] dokumentum tartalmazza a relev醤s inform醕i髏 ennek az adatt韕usnak a szintaxis醨髄 閟 szemantik醞醨髄).

A t閚yaxi髆醟 nem sz黭s間szer鹐n sz髄nak neves韙ett egyedekr鮨: n関telen egyedekre is vonatkozhatnak. P閘dak閜pen n閦z黭 meg az al醔bi RDF/XML k骴r閟zletet. A p閘da n閔醤y t閚yt k鰖鰈 a M閞閟 (Measurement) oszt醠y egy n関telen egyed閞鮨 (egy m閞閟iadat-rekordr髄), ahol a m閞閟hez, mint kvantitat韛 megfigyel閟hez, ilyen t閚yek list醞a tartozik: a megfigyelt alany (observedSubject), a megfigyelt jelens間 (observedPhenomenon), a m閞t閗egys間 (quantityUnit), a megfigyelt 閞t閗 (QuantityValue), 閟 a megfigyel閟 id鮬ontja (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閚yaxi髆a k閠 n関telen egyedet tartalmaz: valamilyen Measurement-et 閟 valamilyen Quantity-t. Term閟zetes nyelven a p閘da ezt mondja: "a Jane Doe nev alany eset閎en a tests鷏y (Weight) nev jelens間 m閞t 閞t閗e egy olyan mennyis間, amelynek m閞t閗egys間e a Kilogramm, az 閞t閗e pedig 59.5. A m閞閟 ideje 2003. janu醨 14-閚 reggel, 8 perccel 9 髍a ut醤, az UTC+1 髍醩 z髇aid鮞en (Amszterdam, Berlin, P醨izs t閘i id鮯z醡韙醩a szerint)". Mint az el鮞bi p閘d醔an a date adatt韕us, az itteni floatdateTime adatt韕usok is XML S閙a adatt韕usok. (Az [XML S閙a Adatt韕usok] dokumentum tartalmazza a sz黭s間es inform醕i髏 ezeknek az adatt韕usoknak a szintaxis醨髄 閟 szemantik醞醨髄).

5.2 Egyedek azonoss醙a

Sok nyelv 閘 az "egyedi nevek felt閠elez閟閚ek" m骴szer関el, mely azt jelenti, hogy a nyelv elv醨ja: a k黮鰊b鰖 nevek k黮鰊b鰖 dolgokra hivatkozzanak a vil醙ban. A Weben azonban ilyen felt閠elez閟 nem lehets間es, hiszen pl. ugyanarra a szem閘yre k黮鰊b鰖 URI-k seg韙s間関el hivatkozhatunk. Emiatt az OWL nem is haszn醠 ilyen felt閠elez閟t. Hacsak explicite nem jelentj黭 ki (OWL nyelven), hogy k閠 URI hivatkoz醩 ugyanarra, vagy hogy k閠 k黮鰊b鰖 egyedre mutat, akkor az OWL-t t醡ogat eszk鰖鰇nek defaultk閚t azt kell felt閠elezni黭, hagy b醨melyik eset el鮢ordulhat.

Az OWL h醨om olyan nyelvi konstrukci髏 tartalmaz, amellyel t閚yeket jelenthet黱k ki az egyedek azonoss醙醰al kapcsolatban:

5.2.1 owl:sameAs

Az owl:sameAs be閜韙ett OWL tulajdons醙 egy egyedet egy m醩ik egyedhez kapcsol. Egy owl:sameAs kijelent閟 azt deklar醠ja, hogy k閠 URI hivatkoz醩 t閚ylegesen ugyanarra az egyedre mutat (az egyedeknek ugyanaz az "identit醩uk").

Olyan egyedek eset閎en, mint pl. "emberek", ezt a fogalmat viszonylag k鰊ny meg閞teni. P閘d醬l, 醠l韙hatn醤k azt, hogy a k鰒etkez k閠 URI t閚ylegesen ugyanarra a szem閘yre hivatkozik:

<rdf:Description rdf:about="#William_Jefferson_Clinton">
  <owl:sameAs rdf:resource="#BillClinton"/>
</rdf:Description>

Az owl:sameAs 醠l韙m醤yt gyakran haszn醠juk, amikor k閠 ontol骻ia k鰖鰐ti lek閜ez閟eket defini醠unk. Nem realisztikus ugyanis elv醨ni, hogy mindenki ugyanazzal a n関vel hivatkozz閗 egy bizonyos egyedre. (Ez egy grandi髗us tervet ig閚yelne, ami ellenkezik a Web szellem関el).

Az OWL Full-ban, ahol oszt醠yokat m醩 (meta)oszt醠yok egyedek閚t is kezelhet黱k, az owl:sameAs konstrukci髏 haszn醠hatjuk oszt醠yok egyenl鮯間閚ek a deklar醠醩醨a is, kimondva ily m骴on azt, hogy a k閠 fogalom intenzion醠is jelent閟e azonos. Egy p閘da:

<owl:Class rdf:ID="FootballTeam">
  <owl:sameAs rdf:resource="http://sports.org/US#SoccerTeam"/>
</owl:Class>

Elk閜zelhetj黭 ezt az axi髆醫, pl. egy hipotetikus "Eur髉ai sportok ontol骻i醞a" elemek閚t. A k閠 oszt醠yt itt egyednek tekintj黭 (az owl:Class egyed閚ek). Ez lehet鮲 teszi nek黱k, hogy kijelents黭: a FootballTeam oszt醠y az Eur髉ai sportok ontol骻i醞醔an ugyanazt a fogalmat jel鰈i meg, mint a SoccerTeam az Amerikai sportok ontol骻i醞醔an. Vegy黭 閟zre azonban a jelent閟 elt閞閟閠 az al醔bi kijelent閟ben:

<footballTeam owl:equivalentClass us:soccerTeam />

Ez ugyanis azt mondja, hogy a k閠 oszt醠y oszt醠ykiterjed閟e azonos, de a k閠 oszt醠y nem sz黭s間szer鹐n jelenti ugyanazt a fogalmat.

MEGJEGYZ蒘: Az URI hivatkoz醩ok 鰏szehasonl韙醩醤ak r閟zleteivel kapcsolatban l醩d az [RDF Fogalmak]. dokumentum megfelel szekci骿醫.

5.2.2 owl:differentFrom

Az owl:differentFrom be閜韙ett OWL tulajdons醙 egy egyedet egy m醩ik egyedhez kapcsol. Egy owl:differentFrom kijelent閟 azt deklar醠ja, hogy k閠 URI hivatkoz醩 k黮鰊b鰖 egyedekre mutat.

P閘da:

<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閘da azt deklar醠ja, hogy a fenti h醨om Mozart opera k黮鰊b鰖?

5.2.3 owl:AllDifferent

Az olyan ontol骻i醟, amelyek egyedi neveket felt閠eleznek, val髎z韓鹟eg nagy sz醡ban alkalmaznak owl:differentFrom 醠l韙醩okat, hiszen az egyedek minden lehets間es p醨kombin醕i骿醨髄 k黮鰊-k黮鰊 ki kell mondaniuk, hogy k黮鰊b鰖鮡k. Ilyen esetekre az OWL-nak van egy speci醠is idi髆醞a, amelyet az owl:AllDifferent konstrukci realiz醠. Az owl:AllDifferent egy speci醠is, be閜韙ett OWL oszt醠y, amelyhez defini醠tak egy owl:distinctMembers tulajdons醙ot is. Ez a tulajdons醙 az owl:AllDifferent oszt醠y egyik egyed閠 m醩 egyedek egy megadott list醞醜oz kapcsolja. Az ilyen konstrukci sz醤d閗olt jelent閟e az, hogy a list醔an szerepl minden egyed k黮鰊b鰖ik a lista t鯾bi egyed閠鮨.

P閘d醬l:

<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閘da azt 醠lap韙ja meg, hogy ez a hat URI hivatkoz醩 hat k黮鰊b鰖酎/em> oper醨a mutat.

MEGJEGYZ蒘: az owl:distinctMembers egy speci醠is szintaktikai konstrukci? egy olyan 醠l韙m醤y, amelyet k閚yelmi okokb髄 vettek fel a nyelvbe, 閟 amelynek alanya mindig egy owl:AllDifferent egyed.

6. Adatt韕usok

Ebben a dokumentumban t鯾b helyen tal醠kozhattunk azzal a fogalommal, hogy adat閞t閗-tartom醤y, amikor adat閞t閗ek egy bizonyos halmaz醫 kellett specifik醠nunk. Az OWL az adat閞t閗tartom醤y-specifik醕i髃 h醨om t韕us醫 tartalmazza:

Az adatt韕usok minim醠is eszk鰖t醡ogat醩醫 a 6.3. szekci螯/a> t醨gyalja.

6.1 RDF adatt韕usok

Az OWL az RDF adattipiz醠醩i s閙醞醫 alkalmazza, mely tartalmaz egy mechanizmust az XML S閙a adatt韕usaira t鰎t閚 hivatkoz醩hoz [XML S閙a adatt韕usok]. Ezek r閟zletesebb le韗醩醫 megtal醠ja az olvas az RDF dokumentumokban, pl. az [RDF Fogalmak] dokumentum醔an. Az olvas t醞閗oztat醩醨a itt most csak az RDF adatt韕usok szinopszis醫 adjuk meg.

Az adat閞t閗ek az rdfs:Literal RDF S閙a oszt醠y egyedei. A liter醠ok lehetnek egyszer鹐k (adatt韕us n閘k黮iek), vagy tipiz醠tak. Az adatt韕usok az rdfs:Datatype oszt醠y egyedei. Az RDF/XML-ben egy liter醠 t韕us醫 egy rdf:datatype attrib鷗ummal specifik醠juk, amelynek az 閞t閗e aj醤latos, hogy az al醔biak valamelyike legyen:

  • Egy kanonikus URI hivatkoz醩 egy XML S閙a adatt韕usra, a k鰒etkez form醔an:
           http://www.w3.org/2001/XMLSchema#NAME
        
    ahol "NAME" egy egyszer? be閜韙ett XML S閙a adatt韕us neve, ahogy azt az [XML S閙a Adatt韕usok] 3. szekci骿a defini醠ja, az al醔b specifik醠t kik鰐閟ekkel.
  • Az rdf:XMLLiteral adatt韕us URI hivatkoz醩a. Ezt az adatt韕ust haszn醠juk, ha XML tartalmat akarunk be閜韙eni egy RDF/OWL dokumentumba. Ennek az adatt韕usnak az URI hivatkoz醩a:
        http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
      
    Err鮨 az adatt韕usr髄 tov醔bi r閟zletek tal醠hat髃 az [RDF Fogalmak] dokumentum醔an.

Az [RDF Szemantika] dokumentum 5. fejezete az al醔bi be閜韙ett XML S閙a adatt韕usok haszn醠at醫 aj醤lja:

MEGJEGYZ蒘: nem illeg醠is ugyan, de nem is aj醤latos, hogy az alkalmaz醩ok saj醫 adatt韕usokat defini醠janak az rdfs:Datatype egyedek閚t. Az ilyen adatt韕usokat "ismeretlennek" min鮯韙i a nyelv, 閟 hasonl m骴on kezeli 鮧et, mint a "nem t醡ogatott" adatt韕usokat (L醩d a r閟zleteket a 6.3. szekci骲an arr髄, hogy az OWL szoftvereszk鰖einek hogyan kell kezelni黭 ezeket az eseteket.)

Amikor adatt韕usokat haszn醠unk, ne felejts黭 el, hogy az RDF/XML elv醨ja, hogy egy adatt韕us-tulajdons醙 閞t閗閚ek haszn醠at醤醠 az adat閞t閗re mindig megadjuk az adatt韕ust, m間 akkor is, ha m醨 defini醠tuk ennek az adatt韕us-tulajdons醙nak az 閞t閗tartom醤y醫. P閘da lehet erre a timeStamp tulajdons醙, amelyet kor醔ban m醨 haszn醠tunk a M閞閟 (Measurement) p閘d醤醠. (Figyelj黭 meg, hogy egyszer a tulajdons醙 閞t閗tartom醤yak閚t (rdf:range) deklar醠juk a "dateTime" adatt韕ust, majd az 閞t閗ad醩n醠 adatt韕usk閚t (rdf:datatype) 鷍b髄 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>

6.2 Felsorol醩 adatt韕us az owl:oneOf haszn醠at醰al

Az RDF adatt韕usok mellett az OWL tartalmaz egy tov醔bi konstrukci髏 is adat閞t閗-tartom醤yok defini醠醩醨a, nevezetesen a "felsorol醩" adatt韕ust. Ezt az adatt韕us form醫umot az owl:oneOf konstrukci髒al deklar醠juk, amelyet egy閎k閚t felsorol醩oszt醠yok le韗醩醨a is haszn醠unk. Felsorol醩-adatt韕us eset閚 az owl:oneOf alanya egy owl:DataRange oszt醠y 黵es gr醘csom髉ont, a t醨gya pedig liter醠ok list醞a. Sajnos, itt nem haszn醠hatjuk az rdf:parseType="Collection" idi髆醫 a liter醠ok list醞醤ak megad醩醨a, mivel az RDF elv醨ja, hogy egy kollekci RDF csom髉onti elemek list醞a legyen. Ez閞t az adat閞t閗ek list醞醫 az elemi listakonstrukci髃 (az rdf:first, az rdf:rest 閟 az rdf:nil) seg韙s間関el specifik醠juk.

MEGJEGYZ蒘: Felsorol醩 adatt韕usokat az OWL Lite-ban nem haszn醠hatunk.

Az al醔bi p閘da a tennisGameScore (teniszj醫szma-eredm閚y) tulajdons醙 adat閞t閗-tartom醤y醫 eg閟z sz醡ok list醞醰al {0, 15, 30, 40} specifik醠ja:

<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>

6.3 Adatt韕us-k鰒etkeztet閟ek t醡ogat醩a

Az OWL-t t醡ogat szoftvereszk鰖鰇 k黮鰊b鰖鮡k lehetnek att髄 f黦g鮡n, hogy mik閚t t醡ogatj醟 az adatt韕us-k鰒etkeztet閟 fogalm醫. A szoftvereszk鰖鰇nek ezt az opci髏 legal醔b az xsd:string 閟 az xsd:integer XML S閙a adatt韕usok vonatkoz醩醔an t醡ogatniuk kell. Az OWL Full eszk鰖鰇nek ezen fel黮 t醡ogatniuk kell az rdf:XMLLiteral adatt韕ust is. A nem t醡ogatott adatt韕usok eset閚 a lexikailag azonos liter醠okat egyenl鮧nek kell tekinteni, m韌 a lexikailag k黮鰊b鰖 liter醠okr髄 azt kell felt閠elezni, hogy vagy egyenl鮧, vagy nem. Az "ismeretlen" adatt韕usokat ugyan鷊y kell kezelni, mint a "nem t醡ogatott" adatt韕usokat.

7. Annot醕i? ontol骻ia-header, import醠醩 閟 verzi?inform醕i螯/a>

7.1 Annot醕i髃

Az OWL Full semmilyen form醔an nem korl醫ozza az annot醕i髃at (fontos megjegyz閟eket) egy ontol骻i醔an. Az OWL DL lehet鮲 teszi az annot醕i髃at oszt醠yokkal, tulajdons醙okkal, egyedekkel, 閟 ontol骻ia-headerekkel kapcsolatban, de csak az al醔bi felt閠elekkel:

  • Az objektumtulajdons醙ok, adatt韕us-tulajdons醙ok, annot醕i髏ulajdons醙ok 閟 ontol骻iatulajdons醙ok k鰈cs鰊鰏en diszjunkt halmazokat kell hogy alkossanak. 蚲y teh醫, az OWL DL-ben, pl. a dc:creator nem lehet egyidej鹟eg adatt韕us-tulajdons醙 閟 annot醕i髏ulajdons醙 is.
  • Az annot醕i髏ulajdons醙oknak kell hogy legyen egy explicit tipiz醠 tripletje az al醔bi form醫umban:
        AnnotationPropertyID rdf:type owl:AnnotationProperty .
      
  • Az annot醕i髏ulajdons醙okat nem szabad tulajdons醙axi髆醟ban haszn醠ni. Az OWL DL-ben 韌y az annot醕i髏ulajdons醙ok sz醡醨a nem defini醠hatunk altulajdons醙okat, 閞v閚yess間i k鰎t 閟 閞t閗tartom醤yt.
  • Az annot醕i髏ulajdons醙 t醨gya adat-liter醠, URI hivatkoz醩 vagy egyed kell hogy legyen.

Az OWL-ban 鰐 annot醕i髏ulajdons醙 van el鮮e defini醠va, nevezetesen:

  • owl:versionInfo (verzi?inform醕i?
  • rdfs:label (c韒ke)
  • rdfs:comment (komment醨)
  • rdfs:seeAlso ("L醩d ~t is")
  • rdfs:isDefinedBy ("defini醠ta:")

蚼e egy p閘da egy annot醕i髏ulajdons醙 leg醠is haszn醠at醨a 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閘da felt閠elezi, hogy a &dc; illetve a dc: prefix a Dublin Core URI-ra, illetve n関t閞re mutat. 蚲y a Dublin Core tulajdons醙ok annot醕i髏ulajdons醙k閚t t鰎t閚 haszn醠ata OWL DL-ben egy explicit tipiz醠 tripletet ig閚yel. Ez biztos韙ja, hogy az OWL DL k鰒etkeztet鮣閜ek szemantikailag korrekt m骴on haszn醠j醟 az annot醕i髃at (a r閟zleteket l醩d az OWL Szemantika 閟 absztrakt szintaxis [OWL Sz&ASz] dokumentumban).

Ha m醨 egyszer a dc:creator-t annot醕i髏ulajdons醙k閚t deklar醠tuk, az OWL DL m醨 nem engedi ezt tulajdons醙axi髆醟ban korl醫ozni – pl. az 閞t閗tartom醤ya tekintet閎en – l醩d al醔b:

<-- Ez p閘d醬l illeg醠is OWL DL eset閚 -->

<owl:AnnotationProperty rdf:about="&dc;creator">
  <rdfs:range rdf:resource="&xsd;string"/>
</owl:AnnotationProperty>

Jegyezz黭 meg azonban, hogy annot醕i髏ulajdons醙-deklar醕i髃ban az adat閞t閗ek liter醠 t韕us醫 az閞t szabad specifik醠nunk:

<Opera rdf:about="#Tosca">
  <dc:creator rdf:datatype="&xsd;string">Giacomo Puccini</dc:creator>
</Opera>

7.2 Az ontol骻ia-header

Egy dokumentum, mely egy ontol骻i醫 韗 le, 醠tal醔an tartalmaz inform醕i髏 mag醰al az ontol骻i醰al kapcsolatban is. Az ontol骻ia egy adatforr醩, s 韌y az le韗hat olyan tulajdons醙okkal, amelyeket az OWL n関ter閎鮨, vagy m醩 n関terekb鮨 vesz黱k. P醠d醬l:

<owl:Ontology rdf:about="">
  <owl:versionInfo> ... </owl:versionInfo>
  <rdfs:comment>...</rdfs:comment>
  <owl:imports rdf:resource="..."/>
</owl:Ontology>

Az ilyen inform醕i骲lokkot ontol骻ia-headernek nevezz黭, 閟 醠tal醔an az RDF/XML dokumentumok elej閞e tessz黭. Az al醔bi sor:

  <owl:Ontology rdf:about="">

kijelenti, hogy ez a blokk a jelenlegi ontol骻i醫 韗ja le. Pontosabban: azt mondja, hogy a jelenlegi dokumentum b醶is URI-ja az owl:Ontology oszt醠y egyik egyed閠 azonos韙ja. Aj醤latos, hogy a b醶is URI-t a dokumentum legelej閚 tal醠hat <rdf:RDF> elem xml:base attrib鷗uma seg韙s間関el explicit m骴on defini醠juk.

Egy ontol骻ia-header pl. 韌y n閦ne 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鰒etkez szekci髃 le韗j醟 azokat a k黮鰊b鰖 deklar醕i髃at, amelyeket tipikusan a headeren bel黮 haszn醠unk.

MEGJEGYZ蒘: Az owl:imports ontol骻ia import醠 konstrukci髏 閟 az owl:priorVersion, owl:backwardCompatibleWith, owl:incompatibleWith ontol骻ia-verzi髃ezel konstrukci髃at az OWL sz髃閟zlete defini醠ja az owl:OntologyProperty oszt醠y egyedeik閚t. Az owl:OntologyProperty oszt醠y egyedeinek 閞v閚yess間i k鰎e 閟 閞t閗tartom醤ya egyar醤t az owl:Ontology oszt醠y kell hogy legyen. Szabad m醩 ontol骻iatulajdons醙okat is defini醠ni az owl:OntologyProperty egyedei mell? Az OWL DL-ben az ontol骻iatulajdons醙okra ugyanazok a megk鰐閟ek 閞v閚yesek, mint a 7.1 szekci骲an ismertetett annot醕i髏ulajdons醙okra.

7.3 Ontol骻i醟 import醠醩a

Az owl:imports kijelent閟 egy m醩ik ontol骻i醨a hivatkozik, mely olyan defin韈i髃at tartalmaz, amelyek jelent閟tartalma az import醠 ontol骻ia jelent閟tartalm醤ak r閟z閠 k閜ezi. Minden ilyen hivatkoz醩 egy URI-b髄 醠l, mely azt specifik醠ja, hogy honnan import醠juk az ontol骻i醫. Szintaktikailag az owl:imports egy tulajdons醙, amelynek az 閞v閚yess間i k鰎e 閟 az 閞t閗tartom醤ya egyar醤t az owl:Ontology oszt醠y.

Az owl:imports 醠l韙醩ok tranzit韛ak, azaz, ha az A ontol骻ia import醠ja B-t, 閟 B import醠ja C-t, akkor A import醠ja B-t 閟 C-t is.

Ha egy ontol骻ia 鰊mag醫 import醠ja, akkor ezt "null akci髇ak" tekintj黭. 蚲y, ha az A ontol骻ia import醠ja B-t, 閟 B import醠ja A-t, akkor a k閠 ontol骻i醫 egyen閞t閗鹡ek mondjuk.

Az, hogy egy OWL szoftvereszk鰖nek be kell-e t鰈tenie az import醠t ontol骻i醫 a befogad ontol骻i醔a, vagy sem, az mindig az eszk鰖 rendeltet閟閠鮨 f黦g. Ha az eszk鰖 egy teljes k鰒etkeztet rendszer (mely teljes konzisztencia-ellen鮮z閟t is tartalmaz), akkor be kell t鰈tenie az import醠t ontol骻i醟at. Egy閎 eszk鰖鰇, mint p閘d醬l az egyszer szerkeszt programok 閟 a nem teljes k鰒etkeztet rendszerek d鰊thetnek 鷊y is, hogy az import醠t ontol骻i醟b髄 csak n閔醤yat t鰈tenek be, vagy ak醨 egyetlenegyet sem.

Hab醨 az owl:imports deklar醕i髃 閟 a n関t閞deklar醕i髃 redund醤snak t鹡hetnek, ezek val骿醔an k黮鰊b鰖 c閘okra szolg醠nak. A n関t閞deklar醕i髃 egyszer鹐n csak r鰒id韙閟eket kre醠nak, amelyekkel adatforr醩-azonos韙髃ra lehet hivatkozni. Ezek implicite nem 閜韙ik be az ontol骻i醔a annak a dokumentumnak a jelent閟tartalm醫, amelyet a hivatkozott adaforr醩-azonos韙 (URI) megc韒ez. Az owl:imports viszont nem produk醠 olyan r鰒id韙閟eket, amelyekkel az import醠t dokumentum azonos韙骾ra lehetne hivatkozni. Ez閞t bevett szok醩, hogy mindig megadjuk az import醠t ontol骻i醟nak megfelel n関t閞deklar醕i髃at is.

MEGJEGYZ蒘: az owl:imports az owl:OntologyProperty egyede.

7.4 Verzi?inform醕i髃

7.4.1 owl:versionInfo

Az owl:versionInfo 醠l韙m醤yhoz tartoz t醨gy 醠tal醔an egy karakterl醤c, mely inform醕i髃at tartalmaz a jelenlegi ontol骻ia-verzi髍髄 (ezek lehetnek p閘d醬l RCS/CVS kulcsszavak). Egy ilyen 醠l韙醩 semmit nem tesz hozz az ontol骻ia jelent閟tartalm醜oz azon fel黮, amit az RDF(S) model theory (az RDF S閙a form醠is, modell-elm閘eti szemantik醞a) defini醠.

Az owl:versionInfo tulajdons醙ot tipikusan arra haszn醠juk, hogy ontol骻i醟r髄 k鰖鰈j黱k vele verzi?inform醕i髃at, de alkalmazhatjuk b醨milyen m醩 OWL konstrukci髃 eset閎en is. P閘d醬l egy OWL oszt醠yhoz is csatolhatn醤k egy owl:versionInfo deklar醕i髏.

MEGJEGYZ蒘: Az owl:versionInfo az owl:AnnotationProperty oszt醠y egyede.

7.4.2 owl:priorVersion

Az owl:priorVersion kijelent閟 egy olyan URI hivatkoz醩t tartalmaz, mely egy m醩ik ontol骻i醨a mutat. Ez azt mondja ki a hivatkozott ontol骻i醨髄, hogy az a jelen ontol骻ia el鮶 verzi骿a. Ennek a kijelent閟nek a modell-elm閘eti szemantik醔an nincs egy閎 jelent閟e, mint amit az RDF(S) model theory hozz醨endel. A szoftver azonban j髄 haszn醠hatja ezt az inform醕i髏 az ontol骻i醟 verzi髃 szerinti szervez閟閔ez.

Az owl:priorVersion egy be閜韙ett OWL tulajdons醙, amelynek 閞v閚yess間i k鰎e 閟 閞t閗tartom醤ya egyar醤t az owl:Ontology oszt醠y.

MEGJEGYZ蒘: az owl:priorVersion az owl:OntologyProperty oszt醠y egyede.

7.4.3 owl:backwardCompatibleWith

Az owl:backwardCompatibleWith kijelent閟 egy olyan URI hivatkoz醩t tartalmaz, mely egy m醩ik ontol骻i醨a mutat. Ez azt 醠l韙ja a hivatkozott ontol骻i醨髄, hogy a jelen ontol骻ia el鮶 verzi骿a, 閟 hogy a jelen ontol骻ia verzi visszamen鮨egesen kompatibilis ezzel az el鮠j関el. A visszamen鮨eges kompatibilit醩 f鮨eg azt jelzi, hogy az el鮶 verzi骲an haszn醠t 鰏szes azonos韙髇ak ugyanaz az interpret醕i骿a az 鷍 verzi骲an is. Egy ilyen kijelent閟 teh醫 fontos jelz閟 lehet azok sz醡醨a, akik az el鮶 verzi髏 haszn醠t醟, hiszen ebb鮨 l醫hatj醟, hogy biztons醙osan 醫醠lhatnak az 鷍 verzi髍a, el間 csak megv醠toztatniuk a n関t閞deklar醕i髃at, valamint az owl:imports deklar醕i髏 oly m骴on, hogy ezek az 鷍 verzi URL-j閠 haszn醠j醟.

Ha az owl:backwardCompatibleWith nincs deklar醠va k閠 verzi sz醡醨a, akkor a kompatibilit醩t nem szabad felt閠elezn黱k.

Az owl:backwardCompatibleWith kijelent閟nek a modell-elm閘eti szemantik醔an nincs egy閎 jelent閟e, mint amit az RDF(S) model theory hozz醨endel.

Az owl:backwardCompatibleWith egy be閜韙ett OWL tulajdons醙, amelynek 閞v閚yess間i k鰎e 閟 閞t閗tartom醤ya egyar醤t az owl:Ontology oszt醠y.

MEGJEGYZ蒘: az owl:backwardCompatibleWith az owl:OntologyProperty oszt醠y egyede.

7.4.4 owl:incompatibleWith

Az owl:incompatibleWith kijelent閟 egy m醩ik ontol骻i醨a hivatkozik, 閟 azt mondja r髄a, hogy az a jelen ontol骻ia el鮶 verzi骿a, 閟 hogy a jelen verzi visszamen鮨egesen nem kompatibilis az el鮠j関el. Ez els鮯orban azoknak az ontol骻iaszerz鮧nek lehet fontos inform醕i? akik biztosak akarnak lenni abban, hogy nem 醠lhatnak 醫 az 鷍 ontol骻ia verzi haszn醠at醨a annak ellen鮮z閟e n閘k黮, hogy sz黭s間es-e v醠toztatniuk a saj醫 ontol骻i醞ukon, vagy sem.

Az owl:incompatibleWith kijelent閟nek a modell-elm閘eti szemantik醔an nincs egy閎 jelent閟e, mint amit az RDF(S) model theory hozz醨endel.

Az owl:incompatibleWith egy be閜韙ett OWL tulajdons醙, amelynek 閞v閚yess間i k鰎e 閟 閞t閗tartom醤ya egyar醤t az owl:Ontology oszt醠y.

MEGJEGYZ蒘: az owl:incompatibleWith az owl:OntologyProperty oszt醠y egyede.

7.4.5 owl:DeprecatedClass and owl:DeprecatedProperty

Az elavultat醩 (deprecation) egy 醠tal醤osan haszn醠t fogalom a verzi髃ezel szoftverek ter黮et閚 annak jelz閟閞e, hogy egy bizonyos, elavult nyelvi elemet csak a visszamen鮨eges kompatibilit醩 miatt tartunk meg, 閟 hogy ez az elem feltehet鮡n kimarad a nyelv k閟鮞bi verzi骾b髄 (l醩d pl. a Java programoz醩i nyelvn閘). Ezzel a k閠 nyelvi konstrukci髒al egy azonos韙髍髄 azt 醠l韙hatjuk, hogy owl:DeprecatedClass t韕us? vagy owl:DeprecatedProperty t韕us? ahol az owl:DeprecatedClass az rdfs:Class aloszt醠ya, az owl:DeprecatedProperty pedig az rdf:Property aloszt醠ya. Azzal, hogy elavultnak nyilv醤韙unk egy kifejez閟t, azt akarjuk jelezni, hogy az ontol骻iafejleszt鮧 ne haszn醠j醟 az 鷍abb dokumentumaikban, ha ezek a dokumentumok f黦genek a jelen ontol骻i醫髄 (閟 annak k閟鮞bi verzi骾t髄). Ez az opci lehet鮲 teszi, hogy az ontol骻i醟 fenntarthass醟 a visszamen鮨eges kompatibilit醩t, de az閞t fokozatosan lecser閘hess閗 az elavult sz髃閟zletet (韌y az elavultat醩nak csak a visszamen鮨eges kompatibilit醩 fenntart醩醰al egy黷t van 閞telme). Ennek eredm閚yek閚t k鰊nyebb a r間i adatokat 閟 alkalmaz醩okat 醫醠l韙ani az 鷍abb ontol骻ia verzi髍a. Az elavults醙ot deklar醠 kijelent閟eknek a modell-elm閘eti szemantik醔an nincs t鯾b jelent閟黭, mint amit az RDF(S) model theory hozz醞uk rendel. Az ontol骻iafejleszt rendszerek azonban felhaszn醠hatj醟 ezeket arra, hogy felh韛j醟 a felhaszn醠髃 figyelm閠 a sz黭s間es ellen鮮z閟ekre.

Egy elavultat醩i p閘da:

<owl:Ontology rdf:about="">
  <rdfs:comment>J醨m Ontologia, v. 1.1</rdfs:comment>
  <owl:backwardCompatibleWith
          rdf:resource="http://www.example.org/J醨m?1.0"/>   
  <owl:priorVersion rdf:resource="http://www.example.org/j醨m?1.0"/>
</owl:Ontology>

<owl:DeprecatedClass rdf:ID="Aut?>
  <rdfs:comment>Modernebb a Szem閘yg閜kocsi kifejez閟</rdfs:comment>
  <owl:equivalentClass rdf:resource="#Szem閘yg閜kocsi"/>
  <!-- Megjegyz閟: az equivalentClass csak annyit jelent, hogy 
       ugyanaz a kiterjed閟e, teh醫 NEM k鰒etkezik bel鮨e, hogy
       a Szem閘yg閜kocsi szint閚 elavult kifejez閟 volna -->        
</owl:DeprecatedClass>

<owl:Class rdf:ID="Szem閘yg閜kocsi" />

<owl:DeprecatedProperty rdf:ID="sof鮮je">
  <rdfs:comment>inverse property drives is now preferred</rdfs:comment>
  <owl:inverseOf rdf:resource="#~g閜kocsitVezet" />
</owl:DeprecatedProperty>

<owl:ObjectProperty rdf:ID="~g閜kocsitVezet" />

Ebben a p閘d醔an J醨m ontol骻ia 1.1 verzi骿醫 visszamen鮨egesen kompatibilisnak deklar醠tuk az 1.0 verzi骿醰al. Ugyanakkor elavultnak min鮯韙ett黭 a r間i verzi骲an szerepl Automobil oszt醠yt, amelyet az 鷍 verzi骲an (azonos oszt醠ykiterjed閟sel) m醨 a Szem閘yg閜kocsi oszt醠y helyettes韙. Ugyancsak elavultt min鮯韙i a p閘da a "sof鮮je" tulajdons醙ot, 閟 helyette a "~g閜kocsitVezet" tulajdons醙 ford韙ottj醫 vezeti be, ami ugyan az XML k骴ban nem szerepel, de valami ilyesmi lehet, mint "g閜kocsiVezet鮦e". [A magyar ford韙醩ban a tilde (~) karakter el鮮eutal醩 a tulajdons醙hoz tartoz t醨gyra. (Pl. egy ilyen triplet: "J醤os ~g閜kocsitVezet BMW" 韌y olvasand蝥 J醤os BMW g閜kocsit vezet. A ford韙ott tulajdons醙gal a triplet: "BMW g閜kocsiVezet鮦e J醤os") – a ford.]

8. OWL Full, OWL DL 閟 OWL Lite

A bevezet閟ben r鰒iden m醨 t醨gyaltuk az OWL h醨om alnyelv閠. Ez a fejezet informat韛 m骴on specifik醠ja a nyelv ezen h醨om "alfaj醤ak" k黮鰊bs間eit. A k黮鰊bs間ek form醠is kimutat醩醫 az OWL Szemantika 閟 absztrakt szintaxis dokumentum [OWL Sz&ASz] tartalmazza.

8.1 OWL Full

Az OWL Full val骿醔an nem egy alnyelv. Az OWL Full tartalmazza az 鰏szes OWL nyelvi konstrukci髏, tov醔b lehet鮲 teszi az RDF konstrukci髃 szabad 閟 korl醫lan haszn醠at醫. Az OWL Full-ban az owl:Class nev er鮢orr醩 enyen閞t閗 az rdfs:Class er鮢orr醩sal. Ez nem 韌y van az OWL DL 閟 OWL Lite alnyelvben, ahol az owl:Class az rdfs:Class-nak egy megfelel aloszt醠ya (ami azt jelenti, hogy az OWL DL 閟 OWL Lite eset閎en nem minden RDF oszt醠y egyben OWL oszt醠y is). Az OWL Full lehet鮲 teszi tov醔b? hogy oszt醠yokat egyedk閚t is kezelhess黱k. P閘d醬l: az OWL Full-ban teljesen leg醠is, hogy van egy "Fokker-100" azonos韙髇k, mely egyszer 鷊y m鹝鰀ik, mint egy oszt醠yn関 (ilyenkor pl. a vil醙ban rep黮 konkr閠 Fokker-100 g閜ek halmaz醫 jelenti), m醩kor meg 鷊y, mint egy egyednek a neve (ilyenkor pl. a Rep黮鮣閜T韕usok oszt醠y醤ak egyik egyed閠 azonos韙ja).

Az OWL Full-ban az 鰏szes adat閞t閗et egyszersmind egyednek is tekintj黭. Az OWL Full-ban az egyedek univerzuma az 鰏szes er鮢orr醩b髄 (resource) 醠l. (Az owl:Thing egyen閞t閗 az rdfs:Resource-szal). Ez azt jelenti, hogy az objektumtulajdons醙ok 閟 az adatt韕us-tulajdons醙ok itt nem alkotnak diszjunkt halmazokat. Az OWL Full-ban az owl:ObjectProperty egyen閞t閗 az rdf:Property-vel. Ennek k鰒etkezm閚ye az, hogy az adatt韕us-tulajdons醙ok t閚ylegesen az objektumtulajdons醙ok aloszt醠y醫 k閜ezik. Ennek nem mond ellent az a t閚y sem, hogy az owl:ObjectProperty 閟 az owl:DatatypeProperty az rdf:Property aloszt醠yai.

Az OWL Full tipikusan azok sz醡醨a hasznos, akik kombin醠ni szeretn閗 az OWL Full kifejez鮧閜ess間閠 az RDF flexibilit醩醰al 閟 metamodellez k閜ess間eivel. Az OWL Full lehet鮯間einek a kihaszn醠醩a azonban azt is jelenti, hogy bizonyos m閞t閗ig elvesz韙j黭 azokat a garanci醟at (l醩d al醔b) amelyeket az OWL DL 閟 az OWL Lite tud ny鷍tani a k鰒etkeztet rendszerek sz醡醨a.

MEGJEGYZ蒘: Az RDF dokumentumok 醠tal醔an OWL Full szint dokumentumoknak tekinthet鮧, hacsak nem specifikusan OWL DL-nek vagy OWL Lite-nak tervezt閗 鮧et.

MEGJEGYZ蒘: 蚲y az OWL Full-ban az owl:Thing egyen閞t閗 az rdfs:Resource-szal, az owl:Class az rdfs:Class-szal, az owl:ObjectProperty pedig az rdf:Property-vel.

8.2 OWL DL

Az OWL DL az OWL alnyelve, mely bizonyos korl醫okat vezet be az OWL nyelvi konstrukci骾nak hszn醠at醨a. Ezek a korl醫ok r鰒iden a k鰒etkez鮧:

  • Az OWL DL p醨onk閚t diszjunkt halmazoknak tekinti az oszt醠yokat, az adatt韕usokat, az adatt韕us-tulajdons醙okat, az objektumtulajdons醙okat, az annot醕i髏ulajdons醙okat, az ontol骻iatulajdons醙okat (import醠 閟 verzi髃ezel elemeket), az egyedeket, az adat閞t閗eket 閟 a be閜韙ett sz髃閟zletet. Ez azt jelenti p閘d醬l, hogy egy oszt醠y nem lehet egyidej鹟eg egyed is.
  • Az, hogy az OWL DL-ben az objektumtulajdons醙ok 閟 az adatt韕us-tulajdons醙ok halmaza diszjunkt, azzal a k鰒etkezm閚nyel j醨, hogy az al醔bi n間y tulajdons醙jellemz酊 sohasem specifik醠hat adatt韕us-tulajdons醙okra.
  • Az OWL DL kik鰐i, hogy sem lok醠is, sem glob醠is kardinalit醩korl醫oz醩 nem alkalmazhata tranzit韛 tulajdons醙okra, ilyenek ford韙ottj醨a vagy b醨melyik szupertulajdons醙醨a.
  • Annot醕i髃 csak bizonyos k鰎黮m閚yek k鰖鰐t haszn醠hat髃 (l醩d a 7.1 szekci骲an).
  • Az RDF(S) sz髃閟zlet nagyobbik r閟ze nem haszn醠hat az OWL DL-ben. (A r閟zleteket l醩d az OWL Szemantika 閟 absztrakt szintaxis dokumentumban [OWL Sz&ASz]).
  • Az axi髆醟nak szintaktikailag pontosaknak kell lenni黭 (pl. nem lehetnek benn黭 felesleges vagy hi醤yz szintagm醟), tov醔b fa-strukt鷕醔a kell szervez鮠ni黭.

    Az ut骲bi kik鰐閟 azt is jelenti, hogy minden oszt醠y 閟 tulajdons醙, amelyre hivatkozunk, kifejezetten csak OWL oszt醠y, illetve tulajdons醙 lehet. P閘d醬l: ha az ontol骻ia az al醔bi komponenst tartalmazza:

      <owl:Class rdf:ID="C1">
        <rdfs:subClassOf rdf:resource="#C2" />
      </owl:Class> 

    akkor az ontol骻i醤ak (vagy egy 醠tala import醠t m醩ik ontol骻i醤ak) tartalmaznia kell egy owl:Class tripletet a C2 sz醡醨a.

  • Az egyedek egyenl鮯間閞鮨 閟 k黮鰊b鰖鮯間閞鮨 sz髄 axi髆醟 (t閚yek) csak neves韙ett (azaz n関vel rendelkez? egyedekkel kapcsolatban defini醠hat髃.

Ezek az OWL DL korl醫ok v閘etlenszer鹐knek t鹡hetnek, de m間sem azok. A felsorolt korl醫oz醩ok a le韗 logikai k鰒etkeztet rendszerek ter黮et閚 v間zett fejleszt閟eken alapulnak, amelyek az閞t ig閚ylik ezeket a korl醫oz醩okat, hogy megfelel k鰒etkeztet閟i t醡ogat醩sal l醫hass醟 el az ontol骻ia 閜韙鮧et 閟 felhaszn醠髃at. Konkr閠abban: az OWL DL korl醫oz醩ok lehet鮲 teszik, hogy az OWL Full lehet legnagyobb r閟zhalmaz醫 kihaszn醠hassuk, de 鷊y, hogy az閞t ennek logikai feldolgoz醩醨a (a kutat醩ok mai 醠l醩a szerint) egy eld鰊thet k鰒etkeztet elj醨醩t lehessen kidolgozni.

MEGJEGYZ蒘: Az E. f黦gel閗 gyakorlati ir醤ymutat醩t ad arra n閦ve, hogy mik閚t lehet OWL DL ontol骻i醟at k閟z韙eni RDF-ben.

8.3 OWL Lite

Az OWL Lite is tartja mag醫 azokhoz a megk鰐閟ekhez, amelyeket az OWL DL fogalmaz meg az OWL nyelvi konstrukci髃 haszn醠at醰al lkapcsolatban. Ezen t鷏men鮡n, az OWL Lite tiltja az al醔bi konstrukci髃 haszn醠at醫 is:

Az OWL Lite elv醨ja tov醔b? hogy:

  • az owl:equivalentClass tripletek alanya oszt醠yn関, a t醨gya pedig oszt醠yn関 vagy korl醫oz醩 legyen;
  • az rdfs:subClassOf tripletek alanya szint閚 oszt醠yn関, a t醨gya pedig oszt醠yn関 vagy korl醫oz醩 legyen;
  • az owl:intersectionOf konstrukci髏 csak egyn閘 t鯾b elemet tartalmaz list醟ra alkalmazzuk, ahol a lista-elemek oszt醠ynevek vagy korl醫oz醩ok;

    MEGJEGYZ蒘: Ez egy iskolap閘da arra, hogy hogyan haszn醠juk OWL Lite-ban az owl:intersectionOf konstrukci髏:

            <owl:Class rdf:ID="Woman">
              <owl:intersectionOf rdf:parseType="Collection">
                <owl:Class rdf:about="#Female"/>
                <owl:Class rdf:about="#Human"/>
              </owl:intersectionOf>
            </owl:Class/>
          
  • az owl:allValuesFrom 閟 az owl:someValuesFrom tripletek t醨gya oszt醠yn関 vagy adatt韕usn関 legyen;
  • az rdf:type triplet t醨gya oszt醠yn関 vagy korl醫oz醩 legyen;
  • az rdfs:domain triplet t醨gya oszt醠yn関 legyen; valamint, hogy
  • az rdfs:range triplet t醨gya oszt醠yn関 vagy adatt韕usn関 legyen.

Az OWL Lite limit醠t kifejez鮧閜ess間e m鰃鰐t az a gondolat h鷝骴ik meg, hogy legyen egy olyan minim醠is, de hasznos r閟zhalmaza az OWL nyelvnek, amelyet az eszk鰖fejleszt鮧 m間 viszonylag egyszer鹐n t醡ogatni k閜esek. Az OWL Lite nyelvi konstrukci骾 tartalmazz醟 az alapvet elemeket aloszt醠yhierarchi醟 閜韙閟閔ez is (aloszt醠ydefin韈i髃 閟 tulajdons醙korl醫oz醩ok form醞醔an). Emellett az OWL Lite lehet鮲 teszi, hogy a tulajdons醙okat opcion醠iss vagy k鰐elez鮲 tegy黭. Az OWL Lite-ot a korl醫ai az OWL DL-n閘 alacsonyabb komplexit醩i oszt醠yba sorolj醟. Ez pozit韛 hat醩sal lehet az OWL Lite k鰒etkeztet鮣閜ek hat閗onys醙醨a is.

Azok az OWL implement醕i髃, amelyek csak az OWL Lite sz髃閟zlet閠 t醡ogatj醟, de egy閎k閚t laz韙anak az OWL DL k鰐鰐ts間ein, nem tarthatnak ig閚yt a teljes sz醡韙hat髎醙ra a konzisztencia biztos韙醩a 閟 a komplexit醩 kezelhet鮯間e tekintet閎en. Mindenesetre, az ilyen implement醕i髃 hasznosak lehetnek abban, hogy lehet鮲 teszik az OWL rendszerek egy黷tm鹝鰀閟閠 az RDFS modellekkel, adatb醶isokkal, jel鰈 eszk鰖鰇kel 閟 m醩, nem k鰒etkeztet c閘 eszk鰖鰇kel. A Web Ontol骻ia Munkacsoport nem adott nevet az ilyen implement醕i髃 potenci醠isan hasznos r閟zhalmaz醤ak.

A. f黦gel閗: A nyelvi elemek indexe

MEGJEGYZ蒘: Ez a f黦gel閗 csak az OWL-specifikus konstrukci髃at tartalmazza. Az RDF/RDFS konstrukci髃 tekintet閎en l醩d az RDF dokument醕i髏, k黮鰊鰏en az RDF S閙a dokumentumot [RDF Sz髃閟zlet].

[OWL Referencia]
(a jelen dokumentum)
[OWL Szemantika]
(normat韛)
[OWL 趖mutat螯/a>]
(p閘d醟)
owl:AllDifferent owl:AllDifferent owl:AllDifferent
owl:allValuesFrom owl:allValuesFrom owl:allValuesFrom
owl:AnnotationProperty owl:AnnotationProperty
owl:backwardCompatibleWith owl:backwardCompatibleWith owl:backwardCompatibleWith
owl:cardinality owl:cardinality owl:cardinality
owl:Class owl:Class owl:Class
owl:complementOf owl:complementOf owl:complementOf
owl:DataRange owl:DataRange
owl:DatatypeProperty owl:DatatypeProperty owl:DatatypeProperty
owl:DeprecatedClass owl:DeprecatedClass owl:DeprecatedClass
owl:DeprecatedProperty owl:DeprecatedProperty owl:DeprecatedProperty
owl:differentFrom owl:differentFrom owl:differentFrom
owl:disjointWith owl:disjointWith owl:disjointWith
owl:distinctMembers owl:distinctMembers owl:distinctMembers
owl:equivalentClass owl:equivalentClass owl:equivalentClass
owl:equivalentProperty owl:equivalentProperty owl:equivalentProperty
owl:FunctionalProperty owl:FunctionalProperty owl:FunctionalProperty
owl:hasValue owl:hasValue owl:hasValue
owl:imports owl:imports owl:imports
owl:incompatibleWith owl:incompatibleWith owl:incompatibleWith
owl:intersectionOf owl:intersectionOf owl:intersectionOf
owl:InverseFunctionalProperty owl:InverseFunctionalProperty owl:InverseFunctionalProperty
owl:inverseOf owl:inverseOf owl:inverseOf
owl:maxCardinality owl:maxCardinality owl:maxCardinality
owl:minCardinality owl:minCardinality owl:minCardinality
owl:Nothing owl:Nothing owl:Nothing
owl:ObjectProperty owl:ObjectProperty owl:ObjectProperty
owl:oneOf owl:oneOf owl:oneOf
owl:onProperty owl:onProperty owl:onProperty
owl:Ontology owl:Ontology owl:Ontology
owl:OntologyProperty owl:OntologyProperty
owl:priorVersion owl:priorVersion owl:priorVersion
owl:Restriction owl:Restriction owl:Restriction
owl:sameAs owl:sameAs owl:sameAs
owl:someValuesFrom owl:someValuesFrom owl:someValuesFrom
owl:SymmetricProperty owl:SymmetricProperty owl:SymmetricProperty
owl:Thing owl:Thing owl:Thing
owl:TransitiveProperty owl:TransitiveProperty owl:TransitiveProperty
owl:unionOf owl:unionOf owl:unionOf
owl:versionInfo owl:versionInfo owl:versionInfo

B. F黦gel閗: Az OWL RDF S閙醞a

Az olvas az 1.7 szekci骲an tal醠ja meg annak le韗醩醫, hogy milyen c閘okat szolg醠 ez a f黦gel閗. A f黦gel閗 RDF/XML v醠tozata megtal醠hat a W3C weblapj醤: 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>

C. f黦gel閗: OWL gyorsreferencia

Oszt醠yok az OWL sz髃閟zlet閎en:

rdfs:Class
owl:AllDifferent
owl:AnnotationProperty
owl:Class
owl:DataRange
owl:DatatypeProperty
owl:DeprecatedClass
owl:DeprecatedProperty
owl:FunctionalProperty
owl:InverseFunctionalProperty
owl:Nothing
owl:ObjectProperty
owl:Ontology
owl:OntologyProperty
owl:Restriction
owl:SymmetricProperty
owl:Thing
owl:TransitiveProperty

Tulajdons醙ok az OWL sz髃閟zlet閎en (a t醔l醶at tartalmazza a tulajdons醙ok 閞v閚yess間i k鰎閠 (domain) 閟 閞t閗tartom醤y醫 (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

D. f黦gel閗: V醠toz醩ok a DAML+OIL-hoz k閜est

Ez a f黦gel閗 鰏szefoglalja azokat a v醠toztat醩okat, amelyek a [DAML+OIL]-r髄 az OWL-ra t鰎t閚 醫alakul醩 sor醤 keletkeztek.

  1. A szemantika jelent鮯en megv醠tozott. A h醨om alnyelvet illet鮡n a DAML+OIL szemantik醞a az OWL DL szemantik醞醜oz 醠l legk鰖elebb.
  2. A n関t閞 http://www.w3.org/2002/07/owl-ra v醠tozott.
  3. Az RDF Core Working Group 醠tal az RDF 閟 RDF S閙a ter黮et閚 bevezetett k黮鰊f閘e korszer鹲韙閟ek 醫v閠elre ker黮tek; p閘d醬l:
    • ciklikus aloszt醠yokat nem enged meg az OWL nyelv
    • t鯾b rdfs:domain vagy rdfs:range tulajdons醙 megad醩醫 鷊y kezeli az OWL mint metszetet
    • RDF szemantika [RDF Szemantika] haszn醠ata
    • adatt韕usok
      • Az RDF 閟 az OWL a http://www.w3.org/2001/XMLSchema XML S閙a n関teret haszn醠ja a http://www.w3.org/2000/10/XMLSchema helyett
      • Az OWL nem t醡ogatja adatt韕usok haszn醠at醫 t韕us 閞telemben. P閘d醬l:
        <size>
          <xsd:integer rdf:value="10"/>
        </size>
        Ehelyett az OWL-ban ezt haszn醠juk:
        <size
        rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">10</size>
    • a daml:List konstrukci? amelyet z醨t kollekci髃 醔r醶ol醩醨a haszn醠t a DAML+OIL, nagym閞t閗ben 醫ker黮t az RDF-be
      • az rdf:parseType="daml:collection" konstrukci髏 felv醠tja az rdf:parseType="Collection" konstrukci螯/li>
      • a daml:List, daml:first, daml:rest, 閟 daml:nil hely閎e az rdf:List, rdf:first, rdf:restrdf:nil l閜.
      • a daml:item konstrukci髏 nem t醡ogatja az OWL. Mivel tipikusan ezt haszn醠t醟 tipiz醠t list醟 醔r醶ol醩醨a, az al醔biakban bemutatunk egy p閘d醫 arr髄, hogy mik閚t kre醠hatunk egy ilyen list醫 daml:item haszn醠ata n閘k黮:
                <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閘d醔an egy list醫 defini醠tunk, amelynek az elemei oper醟. Ezt k閠 korl醫oz醩 seg韙s間関el val髎韙ottuk meg: az egyik az rdf:first 閞t閗re vonatkozik (mely a lista-elem t韕us醫 醔r醶olja), a m醩ik pedig az rdf:rest 閞t閗re (mely a defini醠t lista nev閠 adja meg).
  4. A min鮯韙ett korl醫oz醩okat elt醰ol韙ott醟 a nyelvb鮨, aminek eredm閚yek閚t kimaradtak az al醔bi tulajdons醙ok:
    • daml:cardinalityQ
    • daml:hasClassQ
    • daml:maxCardinalityQ
    • daml:minCardinalityQ
  5. T鯾b tulajdons醙 閟 oszt醠y 鷍 nevet kapott, ahogy a t醔l醶at mutatja:
    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
  6. Az owl:SymmetricProperty beleker黮t a nyelvbe.
  7. Ugyancsak felvett閗 a nyelvbe az owl:AnnotationProperty, az owl:OntologyProperty 閟 az owl:DataRange konstrukci髃at.
  8. Az OWL Full-ban egy owl:DatatypeProperty lehet owl:InverseFunctionalProperty is.
  9. Az RDF 閟 az RDF S閙a oszt醠yokra, illetve tulajdons醙okra vonatkoz szinonim醟at elt醰ol韙ott醟 a nyelvb鮨. 蚲y kimaradtak az al醔bi kifejez閟ek:
    • daml:comment
    • daml:domain
    • daml:label
    • daml:isDefinedBy
    • daml:Literal
    • daml:Property
    • daml:range
    • daml:seeAlso
    • daml:subClassOf
    • daml:subPropertyOf
    • daml:type
    • daml:value
  10. A daml:disjointUnionOf konstrukci髏 t鰎鰈t閗 a nyelvb鮨, hiszen ez megval髎韙hat az owl:unionOf vagy rdfs:subClassOf 閟 az owl:disjointWith kombin醕i骿醰al.
  11. A daml:equivalentTo kifejez閟 az owl:sameAs nevet kapta, 閟 egyben megsz鹡t az owl:equivalentClass 閟 az owl:equivalentProperty szupertulajdons醙a lenni.
  12. A verzi髃ezel閟 t醡ogat醩醨a az al醔bi tulajdons醙okat 閟 oszt醠yokat vett閗 fel a nyelvbe:
  13. Az "egyedi nevek felt閠elez閟閚ek" t醡ogat醩醨a be閜韙ett閗 a nyelvbe az owl:AllDifferent 閟 az owl:distinctMembers kifejez閟eket.

E. f黦gel閗: "謐鰈szab醠y" az OWL DL ontol骻i醟hoz

Az OWL Szemantika 閟 absztrakt szintaxis dokumentum [OWL Sz&ASz] adja meg az OWL ontol骻i醟 pontos le韗醩醫 absztrakt szintaxis, illetve RDF tripletekre t鰎t閚 lek閜ez閟 form醞醔an.

Az al醔bi szab醠yok azon felt閠elek inform醠is le韗醩醫 adj醟, amelyek teljes黮閟e eset閚 egy RDF gr醘 DL szint ontol骻i醤ak min鮯韙het? Ezzel nem sz醤d閗unk helyettes韙eni azt a form醠is le韗醩t, amelyet az Sz&ASz dokumentum ad, hanem csak 醠tal醤os fog骴z髏 k韛醤unk adni. Nem c閘unk ezzel azt sem elmondani, hogy mik閚t lehet a tripletes 醔r醶ol醩t az absztrakt szintaxishoz k鰖elebb 醠l alakra hozni. Puszt醤 csak azt k韛醤juk mindezzel sugallni, hogy ha az olvas betartja az itt megadott szab醠yokat, akkor nagy val髎z韓鹲間gel OWL DL szint ontol骻i醟at fog produk醠ni.

Ne keveredj黱k bele a be閜韙ett sz髃閟zletekbe

A be閜韙ett tulajdons醙okat 閟 oszt醠yokat ne akarjuk 鷍radefini醠ni. Ez 醠tal醔an teljes黮, ha az OWL, az RDF 閟 az RDFS n関t閞ben szerepl dolgokat nem szerepeltetj黭 tripletek alanyak閚t.

Adjunk explicit t韕usdeklar醕i髏

Mindennek kell, hogy legyen egy t韕usa1. Ha b醨milyen x URI hivatkoz醩t haszn醠unk ott, ahol egy oszt醠ynak kell szerepelnie, a gr醘nak kell tartalmaznia egy ilyen tripletet:

x rdf:type owl:Class

Hasonl髃閜pen, ha egy p tulajdons醙ot haszn醠unk ott, ahol a nyelv egy objektumtulajdons醙ot v醨 el, akkor lennie kell egy ilyen tripletnek is:2

p rdf:type owl:ObjectProperty

Vagy, ha egy q tulajdons醙ot haszn醠unk ott, ahol egy adatt韕us-tulajdons醙ot v醨 a nyelv, akkor szerepelnie kell egy ilyen tripletnek is:

q rdf:type owl:DatatypeProperty

Ha egy o tulajdons醙ot haszn醠unk ott, ahol egy ontol骻iatulajdons醙nak kell szerepelnie, akkor o-nak egy ilyen be閜韙ett tulajdons醙nak 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醙ot haszn醠unk ott, ahol egy annot醕i髏ulajdons醙ot v醨 a nyelv, akkor a-nak egy be閜韙ett annot醕i髏ulajdons醙nak (owl:versionInfo, rdfs:label, rdfs:comment, vagy rdfs:seeAlso vagy rdfs:isDefinedBy) kell lennie, vagy pedig defini醠nunk egy ilyen tripletet az a tulajdons醙ra:

a rdf:type owl:AnnotationProperty

Minden egyed sz醡醨a, amelyik megjelenik az ontol骻i醔an legal醔b egy t韕ust specifik醠ni kell, azaz, egy i egyed sz醡醨a meg kell adni egy ilyen tripletet:

i rdf:type c

ahol c egy owl:Class vagy egy owl:Restriction.

V醠asszuk sz閠 a neveket

Az oszt醠yoknak, az objektum-, adatt韕us-, ontol骻ia- 閟 annot醕i髏ulajdons醙oknak, valamint az egyedek URI hivatkoz醩ainak diszjunkt halmazokat kell alkotniuk. Az al醔bi m骴on teh醫 nem adhatunk meg t韕usokat:

x rdf:type owl:Class
x rdf:type owl:ObjectProperty

蓅 k黮鰊鰏en: nem haszn醠hatunk oszt醠yokat egyed szerepben, ahogyan pl. az al醔bi p閘da teszi:

x rdf:type owl:Class
y rdf:type owl:Class
x rdf:type y

Ez ugyanis nem leg醠is az OWL DL-ben. Az 醠tal醤os szab醠y itt az, hogy ha van a gr醘ban egy x csom髉ont egy ilyen tripletben:

x rdf:type owl:Class

akkor x nem jelenhet meg alanyk閚t egy m醩ik olyan tripletben, amelynek 醠l韙m醤ya rdf:type.3

Korl醫oz醩ok

Ha egy x csom髉ont t韕usa korl醫oz醩 (x rdf:type owl:Restriction), akkor az x csom髉onttal kapcsolatban az al醔bi helyzetnek kell fenn醠lnia:

  • Ez egy 黵es csom髉ont (azaz: n関telen).
  • Ez nem alanya egyetlen m醩ik olyan tripletnek sem, amelynek 醠l韙m醤ya az rdf:type3.
  • Ez pontosan egy olyan tripletnek az alanya, amelynek az 醠l韙m醤ya owl:onProperty, m間pedig 鷊y, hogy a tripletnek a t醨gya vagy owl:ObjectProperty vagy owl:DatatypeProperty t韕us?
  • Ez pontosan egy dolognak az alanya az al醔biak k鰖黮:
    • Egy olyan tripletnek, amelynek 醠l韙m醤ya owl:someValuesFrom. Ebben az esetben, az owl:onProperty triplet t醨gyak閚t szerepl tulajdons醙nak ezzel adekv醫nak kell lennie. Ez azt jelenti, hogy ha a triplet t醨gya egy adatt韕us, akkor a tulajdons醙nak owl:DatatypeProperty t韕us鷑ak kell lennie; ha pedig a t醨gy egy oszt醠yle韗醩, akkor a tulajdons醙nak owl:ObjectProperty t韕us鷑ak kell lennie. Ez a tipiz醠 inform醕i sohasem maradhat el (a fentebb eml韙ett megk鰐閟 miatt).
    • Egy olyan tripletnek, amelynek 醠l韙m醤ya owl:allValuesFrom. Itt ugyanazok a megk鰐閟ek 閞v閚yesek, mint az owl:someValuesFrom eset閎en.
    • Egy olyan tripletnek, amelynek 醠l韙m醤ya owl:hasValue. Ha az owl:onProperty tripletben megadott tulajdons醙 t韕usa owl:ObjectProperty, akkor ennek a tripletnek a t醨gya egy egyed kell hogy legyen. Ha pedig az owl:onProperty tripletben megadott tulajdons醙 t韕usa owl:DatatypeProperty, akkor a triplet黱k t醨gy醤ak egy liter醠nak kell lennie.
    • Egy olyan tripletnek, amelynek 醠l韙m醤ya owl:minCardinality. E triplet t醨gy醤ak egy adat-liter醠nak kell lennie, mely egy nemnegat韛 eg閟z sz醡ot 醔r醶ol.
    • Egy olyan tripletnek, amelynek 醠l韙m醤ya owl:maxCardinality. A megk鰐閟 itt is ugyanaz, mint az owl:minCardinality eset閎en.
    • Egy olyan tripletnek, amelynek 醠l韙m醤ya owl:cardinality. A megk鰐閟 itt is ugyanaz, mint az owl:minCardinality eset閎en.
  • Minden egy閎 x alany tripletnek az 醠l韙m醤ya csak owl:equivalentClass vagy owl:disjointWith lehet.

Oszt醠yaxi髆醟

Minden olyan tripletnek, amelynek 醠l韙m醤ya rdfs:subClassOf, owl:equivalentClass, vagy owl:disjointWith, az alanya 閟 t醨gya egyar醤t egy owl:Class vagy egy owl:Restriction kell hogy legyen. Pl., ha van egy

x rdfs:subClassOf y

triplet黱k, akkor a gr醘nak a k鰒etkez鮧et 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.

Tulajdons醙axi髆醟

Minden olyan tripletnek, amelynek az 醠l韙m醤ya rdfs:subPropertyOf vagy owl:equivalentProperty, az alanya 閟 a t醨gya ugyanolyan t韕us? m間pedig az owl:ObjectProperty vagy az owl:DatatypeProperty valamelyike kell hogy legyen; azaz, ha van egy ilyen triplet黱k:

p owl:equivalentProperty q

akkor a gr醘nak tartalmaznia kell vagy egy:

p rdf:type owl:ObjectProperty
q rdf:type owl:ObjectProperty

triplet p醨t, vagy pedig egy

p rdf:type owl:DatatypeProperty
q rdf:type owl:DatatypeProperty

triplet p醨t.

Azoknak a tripleteknek, amelyeknek az 醠l韙m醤ya rdfs:domain, alanyk閚t egy owl:ObjectProperty, vagy egy owl:DatatypeProperty t韕us tulajdons醙ot, t醨gyk閚t pedig egy owl:Class vagy owl:Restriction t韕ust kell tartalmazniuk.

Azoknak a tripleteknek, amelyeknek az 醠l韙m醤ya rdfs:range, alanyk閚t vagy egy owl:ObjectProperty, vagy egy owl:DatatypeProperty t韕us tulajdons醙ot kell tartalmazniuk. Az el鮞bi esetben a triplet t醨gya egy owl:Class vagy egy owl:Restriction t韕us lehet, az ut骲bi esetben pedig egy XML S閙a adatt韕us, egy rdfs:Literal, vagy egy owl:oneOf elem, mely egy owl:DataRange t韕us adattartom醤yt defini醠.

Egy owl:inverseOf tripletnek mind az alanya, mind pedig a t醨gya owl:ObjectProperty t韕us kell hogy legyen.

T閚yaxi髆醟 (egyedekre vonatkoz 醠l韙醩ok)

Minden owl:sameAs vagy owl:differentFrom 醠l韙m醤yt tartalmaz triplet alany醤ak egyednek kell lennie.

Jegyezz黭 meg, hogy k閠 oszt醠ynak egy owl:sameAs tulajdons醙gal t鰎t閚 鰏szekapcsol醩a nagym閞t閗ben k黮鰊b鰖ik att髄 az esett鮨, amikor az owl:equivalentClass tulajdons醙gal kapcsoljuk 鰏sze 鮧et. Az el鮞bi azt mondja, hogy a k閠 objektum t閚ylegesen ugyanaz (ami p閘da arra az esetre, amikor az oszt醠yokat egyedeknek tekintj黭, s ez az ontol骻i醤kat ki is szor韙ja az OWL DL-b鮨). Az ut骲bi pedig azt jelenti ki, hogy csup醤 a k閠 oszt醠y kiterjed閟e (az egyedeik halmaza) az, ami egyenl?

Hasonl髃閜pen, az oszt醠yok owl:differentFrom rel醕i髒al t鰎t閚 鰏szekapcsol醩a nem ugyanaz, mintha az owl:disjointWith rel醕i髒al kapcsoltuk volna 鰏sze 鮧et (ami szint閚 egy p閘da az OWL Full szint konstrukci髍a). K閠 oszt醠y lehet k閠 k黮鰊b鰖 objektum, de a kiterjed閟黭 m間is k鰖鰏 lehet.

Ha egy x csom髉ont t韕usa owl:AllDifferent, akkor OWL DL eset閚 a k鰒etkez helyzetnek kell fenn醠lnia:

  • Ez egy 黵es csom髉ont (azaz: n関telen).
  • Ez egy olyan triplet alanya, amelynek 醠l韙m醤ya owl:distinctMembers, a t醨gya pedig egy szintaktikailag pontos (well-formed) rdf:List, amelynek listaelemei mind egyedek.
  • Ez nem alanya (vagy t醨gya) semmilyen m醩 tripletnek.

Boole-algebrai oszt醠ykifejez閟ek

A Boole-algebrai oper醫orokat (蒘, VAGY, NEM) az OWL-ban, rendre, az owl:intersectionOf, az owl:unionOf 閟 az owl:complementOf konstrukci髃 helyettes韙ik.

Egy owl:complementOf triplet alanya egy owl:Class, a t醨gya pedig egy m醩ik owl:Class vagy egy owl:Restriction kell hogy legyen.

Egy owl:unionOf vagy egy owl:intersectionOf triplet alanya egy owl:Class, a t醨gya pedig egy (szintaktikailag pontos) rdf:List kell hogy legyen; ez ut骲bi listaelemeinek pedig vagy owl:Class vagy owl:Restriction t韕us鷄knak kell lenni黭, ahol a lista elemeit vagy explicit m骴on, a kiterjesztett rdf:List seg韙s間関el, vagy pedig, ha RDF-XML-t haszn醠unk, akkor az rdf:parseType="Collection" attrib鷗um seg韙s間関el 醔r醶oljuk.

<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 黵es csom髉ont (vagyis, az oszt醠y n関telen), akkor az csak egyetlen olyan triplet alanya lehet, amelynek 醠l韙m醤ya owl:intersectionOf, owl:unionOf vagy owl:complementOf. Ha az oszt醠y neves韙ett, akkor tetsz鮨eges sz醡 ilyen triplet enged閘yezett a sz醡醨a.

Felsorol醩ok

Minden olyan tripletnek az alanya, amelynek az 醠l韙m醤ya owl:oneOf, az vagy egy owl:Class, vagy egy owl:DataRange t韕us objektum kell hogy legyen. Az el鮞bi esetben a triplet t醨gy醤ak egy olyan (szintaktikailag pontos) rdf:List felsorol醩nak kell lennie, amelynek minden eleme egy egyed. Az ut骲bi esetben pedig egy olyan (szintaktikailag ugyancsak pontos) rdf:List felsorol醩nak, amelynek minden eleme egy adat-liter醠. Itt is, mint a Boole-algebrai oper醫orokn醠, az rdf:List helyett az rdf:parseType="Collection" is haszn醠hat?

Ontol骻ia- 閟 annot醕i髏ulajdons醙ok

Minden olyan triplet eset閚, amelyben az 醠l韙m醤y egy ontol骻iatulajdons醙, az alanynak 閟 a t醨gynak egyar醤t ontol骻i醤ak kell lennie (vagyis, egy olyan x csom髉ontnak, amelyre l閠ezik egy ilyen triplet):

x rdf:type owl:Ontology

Minden olyan triplet eset閚, ahol az 醠l韙m醤y egy annot醕i髏ulajdons醙, az alanynak egy neves韙ett, azaz nem 黵es csom髉onttal reprezent醠t oszt醠ynak, egy tulajdons醙nak, egy egyednek, vagy egy ontol骻i醤ak kell lennie. Az ilyen, annot醕i髎 醠l韙m醤nyal rendelkez triplet t醨gya pedig csak egy egyed, egy adat-liter醠, vagy egy tetsz鮨eges URI hivatkoz醩 lehet.

Olyan 醠l韙m醤yok kiv閠el関el, amelyek az OWL, az RDF vagy az RDFS sz髃閟zletb鮨 val髃, csak az annot醕i髎 醠l韙m醤yoknak kell olyan tripletekben megjelenni黭, amelyek alanya egy oszt醠y vagy egy tulajdons醙.

Maguknak az annot醕i? 閟 ontol骻iatulajdons醙oknak is tipiz醠tnak kell lenni黭, 閟 nem jelenhetnek meg tripletek alanyak閚t vagy t醨gyak閚t m醩k閚t, mint olyan triplet alanyak閚t, amelynek az 醠l韙m醤ya rdf:type vagy egy annot醕i髏ulajdons醙.

Ker黮j黭 a strukt鷕醟 t鯾bsz鰎鰏 kihaszn醠醩醫

Az OWL Sz&ASz le韗醩a ugyanis ezt 醠tal醔an nem engedi meg az RDF 醔r醶ol醩ban. Ez gyakorlatilag azt jelenti, hogy az RDF gr醘 egy n関telen csom髉ontja, mely oszt醠yle韗醩t 醔r醶ol, csak egyszer fordulhat el (egy triplet t醨gyak閚t). 蚲y teh醫 az al醔bi haszn醠at ker黮end酊

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黭k鰏 helyzetek, amikor az ilyesmi megengedett. 羖tal醔an azonban a gr醘nak k黮鰊醠l 黵es csom髉ontokat kell haszn醠nia, amikor ugyanannak oszt醠yle韗醩nak t鯾b helyen kell szerepelnie.

Ker黮j黭 az 醨va 黵es csom髉ontokat

A gr醘ban megjelen 黵es csom髉ontok 醠tal醔an vagy n関telen egyedeket 醔r醶olnak, vagy az al醔biak k鰖黮 valamelyiket (de csak egyiket):

  • Egy rdfs:subClassOf, egy owl:equivalentClass, egy owl:disjointWith, egy owl:someValuesFrom, egy owl:allValuesFrom vagy egy rdf:type triplet t醨gy醫.
  • Egy rdf:type triplet alany醫, owl:AllDifferent 醠l韙m醤nyal.
  • Egy rdf:List egyik elem閠.

Az 醨va 黵es csom髉ontok, vagyis az olyan 黵es csom髉ontok, amelyek nem t醨gyai valamilyen tripletnek, 醠tal醔an nem enged閘yezettek (a fentebb le韗t owl:AllDifferent kiv閠el関el).

Alapvet t閚y醠l韙醩ok

Az ontol骻i醟 kijelent閟eket tartalmazhatnak alapvet t閚yekr鮨 (pl. olyan tripletek form醞醔an, amelyek egyedek tulalajdons醙ait defini醠j醟). Az ilyen t閚y醠l韙醩okban haszn醠t tulajdons醙oknak owl:ObjectProperty vagy owl:DatatypeProperty oszt醠y鷄knak kell lenni黭. A t閚y醠l韙醩ok alanya egy egyed kell hogy legyen, mely csakis tipiz醠t lehet. A t閚y醠l韙醩ok t醨gya pedig vagy egy egyedre val hivatkoz醩, (ha a tulajdons醙 owl:ObjectProperty oszt醠y? vagy egy adat-liter醠 (ha a tulajdons醙 owl:DatatypeProperty oszt醠y?.

OWL Lite

Az OWL Lite dokumentumoknak ugyanazokat a szab醠yokat kell k鰒etni黭, mint az OWL DL dokumentumoknak, de n閔醤y tov醔bi korl醫oz醩sal, f鮨eg az enged閘yezett sz髃閟zlet vonatkoz醩醔an. Az OWL Lite dokumentumok nem haszn醠hatj醟 az al醔bi sz髃閟zletet:

  • owl:unionOf
  • owl:complementOf
  • owl:oneOf
  • owl:hasValue
  • owl:disjointWith

Az owl:equivalentClass t韕us tripletek alanyai vagy t醨gyai nem lehetnek 黵es csom髉ontok.

Az owl:minCardinality, az owl:maxCardinality 閟 az owl:cardinality 醠l韙m醤y tripletek t醨gya csak egy olyan adat-liter醠 lehet, amelynek 閞t閗e 0 vagy 1 (nemnegat韛 eg閟z sz醡).

Az OWL Lite-n醠 az owl:intersectionOf haszn醠at醰al kapcsolatos helyzet egy kicsit bonyolultabb, mint az OWL DL-n閘. Ez az 醠l韙m醤y itt nem haszn醠hat tetsz鮨eges kifejez閟ek alkot醩醨a, de n閘k黮鰖hetetlen ahhoz, hogy komplett oszt醠ydefin韈i髃at tudjunk 醔r醶olni. A fenti (OWL DL t韕us? megk鰐閟ek azt mondj醟 ki, hogy minden olyan triplet alanya, amelynek 醠l韙m醤ya owl:intersectionOf, egy owl:Class kell hogy legyen. Az OWL Lite-n醠 ehhez m間 az a megk鰐閟 is t醨sul, hogy ez az OWL oszt醠y egy n関vel kell hogy rendelkezz閗, teh醫 nem lehet egy 黵es csom髉ont.

Egyebek

觱atosnak kell lenn黱k az owl:Thing haszn醠at醰al. P閘d醬l, ez az OWL-RDF k骴r閟zlet:

<owl:Class rdf:about="#A">
  <rdfs:subClassOf>
    <owl:Thing/>
  </rdfs:subClassOf>
</owl:Class>

nem azt mondja az A oszt醠yr髄, hogy az owl:Thing aloszt醠ya (amit gondoln醤k), hanem t閚ylegesen azt, hogy A az owl:Thing oszt醠y valamilyen n関telen egyed閚ek az aloszt醠ya. Itt teh醫 egy oszt醠yt egyedk閚t kezelt黱k, ami nem leg醠is az OWL DL-ben. A k韛醤t hat醩t, vagyis hogy A-t az owl:Thing aloszt醠yak閚t deklar醠juk, az al醔bi k骴r閟zlettel 閞hetj黭 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醶zunk, nehogy 鰏szet関essz黭 az owl:Class 閟 az rdfs:Class oszt醠yt. Az al醔bi pl. nem DL k骴, mivel c sz醡醨a nem deklar醠tunk megfelel t韕ust.

c rdf:type rdfs:Class

L醔jegyzetek az E. f黦gel閗hez

[1] Term閟zetesen, az a k鰒etelm閚y, hogy mindent tipiz醠ni sz黭s間es, nem vonatkozik az OWL, az RDF 閟 az RDFS n関terekben szerepl dolgokra.

[2] Szigor鷄n v関e: ha a tulajdons醙ot 鷊y defini醠tuk, hogy az egy owl:TransitiveProperty, egy owl:SymmetricProperty vagy egy owl:InverseFunctionalProperty, akkor ez nem sz黭s間es.

[3] Ezek azok a kiv閠elek, amelyek el鮢ordulhatnak:

x rdf:type rdfs:Class
x rdf:type owl:Class
p rdf:type rdf:Property
p rdf:type owl:ObjectProperty

vagy pedig az al醔biak:

q rdf:type rdf:Property
q rdf:type owl:DatatypeProperty.

s鮰 (korl醫oz醩sal kapcsolatban) ez is megengedett:

x rdf:type owl:Restriction
x rdf:type rdfs:Class
x rdf:type owl:Class

F. f黦gel閗: V醠toztat醩i napl az Aj醤l醩tervezethez k閜est

  1. Hib醩 l醔jegyzet [4] elt醰ol韙醩a az E. f黦gel閗 v間閞鮨.
  2. Egy rdfs:label elem hozz醓d醩a az AnnotationProperty 閟 OntologyProperty tulajdons醙t韕usokhoz a B. f黦gel閗ben (l醩d az OWL RDF S閙醞醫), Jacco van Ossenbruggen megjegyz閟e alapj醤.
  3. Egy megszakadt szekci骽ivatkoz醩 kijav韙醩a, valamint ugyanitt, a szabv醤yos szekci骽ivatkoz醩i karakterst韑us helyre醠l韙醩a.
  4. A k黮s dokumentumhivatkoz醩ok list醞醤ak szabv醤yoss t閠ele.
  5. Az rdf:RDF elem k鰒etelm閚yle韗醩醤ak szerkeszt鮥 m骴os韙醩a Minsu Jang

    megjegyz閟e nyom醤.

  6. T鯾b szerkeszt鮥 m骴os韙醩 Lacy lektori v閘em閚ye alapj醤.
  7. A 7.1 szekci髇醠 egy, az annot醕i髏ulajdons醙ok haszn醠at醰al kapcsolatos magyar醶 sz鰒eg besz鷕醩a az OWL DL korl醫air髄, nyilv醤os megjegyz閟ek alapj醤 (l醩d p閘d醬l Benjamin Nowack hozz醩z髄醩醫). A 7.2 szekci ugyancsak b鮲黮t egy mondattal, jelezv閚, hogy ugyanazok a korl醫oz醩ok 閞v閚yesek az ontol骻iatulajdons醙okra is.
  8. T鯾b kisebb szerkeszt鮥 jav韙醩 v間rehajt醩a a sz鰒eg utols 醫olvas醩a ut醤.

A k黮s dokumentumhivatkoz醩ok list醞a

[OWL 羣tekint閟]
Az OWL Web Ontol骻ia Nyelv – 羣tekint閟, W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt鮧: Deborah L. McGuinness 閟 Frank van Harmelen. A mindenkori legutols (eredeti angol) v醠tozat: http://www.w3.org/TR/owl-features/
[OWL 趖mutat骫
Az OWL Web Ontol骻ia Nyelv – 趖mutat螯/a>, W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt鮧: Michael K. Smith, Chris Welty, 閟 Deborah L. McGuinness. A mindenkori legutols (eredeti angol) v醠tozat: http://www.w3.org/TR/owl-guide/
[OWL Sz&ASz]
Az OWL Web Ontol骻ia Nyelv – Szemantika 閟 absztrakt szintaxis, W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt鮧: Peter F. Patel-Schneider, Patrick Hayes, 閟 Ian Horrocks. A mindenkori legutols (eredeti angol) v醠tozat: http://www.w3.org/TR/owl-semantics/ .
[OWL Tesztsorozat]
Az OWL Web Ontol骻ia Nyelv – Tesztsorozat, W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt鮧: Jeremy J. Carroll 閟 Jos De Roo. A mindenkori legutols (eredeti angol) v醠tozat: http://www.w3.org/TR/owl-test/
[OWL K鰒etelm閚yek]
Az OWL Web Ontol骻ia Nyelv – Alkalmaz醩i esetek 閟 k鰒etelm閚yek, W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt酊 Jeff Heflin. A mindenkori legutols (eredeti angol) v醠tozat: http://www.w3.org/TR/webont-req/
[RDF Fogalmak]
Az RDF Er鮢orr醩 Le韗 Keretrendszer alapfogalmai 閟 absztrakt szintaxisa, W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt鮧: Graham Klyne 閟 Jeremy J. Carroll. A mindenkori legutols (eredeti angol) v醠tozat: http://www.w3.org/TR/rdf-concepts/ .
[RDF Szintaxis]
Az RDF/XML Szintaxis Specifik醕i骿a (羣dolgozott kiad醩), W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt酊 Dave Beckett. A mindenkori legutols (eredeti angol) v醠tozat: //www.w3.org/TR/rdf-syntax-grammar/ .
[RDF Szemantika]
Az RDF Szemantik醞a, W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt酊 Pat Hayes. A mindenkori legutols (eredeti angol) v醠tozat: http://www.w3.org/TR/rdf-mt/ .
[RDF Sz髃閟zlet]
Az RDF Sz髃閟zlet Le韗 Nyelv 1.0: RDF S閙a, W3C Aj醤l醩, 2004. Febru醨 10. Szerkeszt鮧: Dan Brickley 閟 R. V. Guha. A mindenkori legutols (eredeti angol) v醠tozat: //www.w3.org/TR/rdf-schema/ .
[DAML+OIL]
DAML+OIL (March 2001) Reference Description. Dan Connolly, Frank van Harmelen, Ian Horrocks, Deborah L. McGuinness, Peter F. Patel-Schneider, and Lynn Andrea Stein. W3C Note 18 December 2001. Latest version is available at http://www.w3.org/TR/daml+oil-reference.
[XML-SCHEMA2]
XML Schema Part 2: Datatypes - W3C Recommendation, World Wide Web Consortium, 2 May 2001.

Valid XHTML 1.0! Valid CSS!