(Ez a ford�t�s a W3C Magyar Irod�j�nak megb�z�s�b�l,
az
Informatikai �s H�rk�zl�si Miniszt�rium
t�mogat�s�val k�sz�lt)
K�rj�k, k�vesse figyelemmel a dokumentum eredeti angol nyelv� v�ltozat�ra vonatkoz� hibajegyz�ket, mert ez normat�v korrekci�kat is tartalmazhat.
A dokumentumr�l tov�bbi ford�t�sok is rendelkez�sre �llnak.
Copyright © 2004 W3C® (MIT, ERCIM, Keio). Minden jog fenntartva. Alkalmazand�k a W3C felel�ss�gi, v�djegyoltalmi, dokumentumhaszn�lati �s szoftverlicenc el��r�sai.
Az RDF Er�forr�s Le�r� Nyelv (Resource Description Framework) egy adatle�r� nyelv, amellyel er�forr�sokr�l sz�l� inform�ci�kat �br�zolhatunk a weben. E bevezet� tank�nyv c�lja az, hogy ell�ssa az olvas�t az RDF hat�kony alkalmaz�s�hoz sz�ks�ges alapvet� ismeretekkel. Ebb�l a c�lb�l bevezet�st ny�jt az RDF alapfogalmaiba, �s ismerteti ennek XML szintaxis�t. Le�rja, hogy mik�nt defini�lhatunk RDF sz�k�szleteket az RDF Sz�k�szlet Le�r� Nyelv seg�ts�g�vel, �s �ttekint�st ad n�h�ny m�k�d� RDF alkalmaz�sr�l. Emellett ismerteti az RDF specifik�ci�j�hoz tartoz� t�bbi dokumentum c�lj�t �s tartalm�t is.
Ezt a dokumentumot a W3C Tagjai �s m�s �rdekelt r�sztvev�k ellen�rizt�k, �s az Igazgat� W3C Aj�nl�sk�nt hiteles�tette. Az Aj�nl�s elk�sz�t�s�vel a W3C c�lja �s szerepe az, hogy r�ir�ny�tsa a figyelmet a specifik�ci�ra, �s el�seg�tse annak sz�les k�r� alkalmaz�s�t. Ez megn�veli a Web haszn�lhat�s�g�t, �s jav�tja a weben t�rt�n� egy�ttm�k�d�st.
Ez a dokumentum egyike annak a hat dokumentumnak (Bevezet�s, Fogalmak, Szintaxis, Szemantika, Sz�k�szlet �s Tesztsorozat), amelyek egy�ttesen felv�ltj�k az eredeti RDF specifik�ci�kat: az RDF Model and Syntax (1999 Recommendation) �s az RDF Schema (2000 Candidate Recommendation) c�m� dokumentumokat. A jelen dokumentumot az RDF-mag Munkacsoport dolgozta ki A W3C Szemantikus Web Munkaprogramja keret�ben, �s 2004. febru�r 10. d�tummal publik�lta. (L�sd a Munkaprogram-nyilatkozatot �s a Munkacsoport alapszab�ly�t).
Az Aj�nl�stervezet �ta a jelen Aj�nl�s megsz�let�s�ig a dokumentumon v�grehajtott m�dos�t�sokat A v�ltoztat�sok jegyz�ke r�szletezi.
A Munkacsoport sz�vesen fogadja az olvas�k�z�ns�g �szrev�teleit a [email protected] (archive) c�m�n; az idev�g� technol�gi�k �ltal�nos vit�j�t pedig a [email protected] (archive) c�m�n folytatja.
Rendelkez�sre �ll egy konszign�ci� az ismert alkalmaz�sokr�l.
A W3C list�t vezet tov�bb� azokr�l a felfedett szabadalmi ig�nyekr�l is, amelyek ehhez a munk�hoz kapcsol�dnak.
Ez a szekci� a dokumentumnak a publik�l�skor �rv�nyes st�tus�t r�gz�ti. M�s dokumentumok hat�lytalan�thatj�k ezt a dokumentumot. A leg�jabb W3C publik�ci�k list�ja, valamint e technikai riport utols� kiad�sa megtal�lhat� a W3C technikai riportok index�ben, a http://www.w3.org/TR/ alatt.
��1. Bevezet�s
��2. Kijelent�sek megfogalmaz�sa
er�forr�sokr�l
������2.1 Alapfogalmak
������2.2 Az RDF
modell
������2.3 Struktur�lt tulajdons�g�rt�kek �s �res
csom�pontok
������2.4 Tipiz�lt
liter�lok
������2.5 Az
alapfogalmak �sszefoglal�sa
��3. Egy XML szintaxis az RDF sz�m�ra:
RDF/XML
������3.1 Alapelvek
������3.2 Az URI
hivatkoz�sok r�vid�t�se �s szervez�se
������3.3 Az RDF/XML
�sszefoglal�sa
��4. Az RDF egy�b lehet�s�gei
������4.1 RDF
kont�nerek
������4.2 RDF
kollekci�k
������4.3 RDF
t�rgyias�t�s (reification)
������4.4 Tov�bbi ismeretek
a struktur�lt �rt�kekr�l: rdf:value
������4.5 XML-liter�lok
��5. RDF sz�k�szletek defini�l�sa: az RDF
S�ma
������5.1 Az oszt�lyok
le�r�sa
������5.2 A tulajdons�gok
le�r�sa
������5.3 Az RDF
s�madeklar�ci�k �rtelmez�se
������5.4 Egy�b
s�mainform�ci�k
������5.5 Gazdagabb
s�manyelvek
��6. N�h�ny RDF alkalmaz�s: RDF a
gyakorlatban
������6.1 A Dublin Core
meta-adat kezdem�nyez�s
������6.2 PRISM
������6.3 XPackage
������6.4 RSS 1.0: RDF
webhely-�sszefoglal�
������6.5 CIM/XML
������6.6 GO (G�n-ontol�giai
Konzorcium)
������6.7 A
k�sz�l�ktulajdons�gok �s felhaszn�l�i preferenci�k le�r�sa
��7. Az RDF specifik�ci� tov�bbi
dokumentumai
������7.1 Az RDF
szemantik�ja
������7.2 Az RDF
tesztsorozata
��8. A hivatkoz�sok list�ja
������8.1 Normat�v hivatkoz�sok
������8.2 Informat�v hivatkoz�sok
��9. K�sz�netnyilv�n�t�s
��A. f�ggel�k: Tov�bbi
r�szletek az URI-r�l (az Egys�ges Er�forr�s-azonos�t�r�l)
��B. f�ggel�k: Tov�bbi r�szletek az XML-r�l (a
B�v�thet� Jel�l�nyelvr�l)
��C. f�ggel�k: A v�ltoztat�sok jegyz�ke
Az RDF (Resource Description Framework) egy adatle�r� nyelv, amellyel er�forr�sokr�l sz�l� inform�ci�kat �br�zolhatunk a weben. Ezt els�sorban er�forr�sokkal �sszef�gg� meta-adatok �br�zol�sa c�lj�ra fejlesztett�k ki, mint pl. c�m, szerz�, a weblap utols� m�dos�t�s�nak id�pontja, a webdokumentum szerz�i jogi- �s licenc-inform�ci�i, vagy a k�z�s er�forr�sok hozz�f�rhet�s�gi id�rendje. Emellett, az "er�forr�s" fogalm�nak �ltal�nos�t�sa �tj�n, az RDF k�pes minden olyan dologr�l sz�l� inform�ci� �br�zol�s�ra, mely azonos�that� a weben, akkor is, ha az k�zvetlen�l nem el�rhet�. Ilyen inform�ci� lehet p�ld�ul az elektronikus kereskedelemben forgalmazott �ruk specifik�ci�ja, �ra �s hozz�f�rhet�s�ge, vagy ilyen inform�ci� lehet egy Web felhaszn�l� inform�ci�tov�bb�t�si preferenci�inak a le�r�sa.
Az RDF-et olyan esetekre tervezt�k, amelyekben az eff�le inform�ci�kat nem (csak) emberek sz�m�ra kell megjelen�teni, hanem sz�m�t�g�p-programok seg�ts�g�vel (is) fel kell dolgozni. Az RDF olyan egys�ges keretet biztos�t az ilyen adatok kifejez�s�re, amelyben azok inform�ci�vesztes�g �s jelent�storzul�s n�lk�l �tvihet�k egyik alkalmaz�sb�l a m�sikba. Mivel ez a keret �ltal�nos, az alkalmaz�sok fejleszt�i kihaszn�lhatj�k a k�z�s RDF szintaxiselemz� �s feldolgoz� eszk�z�k el�nyeit. A k�l�nb�z� alkalmaz�sok k�z�tti inform�ci�csere lehet�s�ge pedig azt jelenti, hogy nemcsak azok az alkalmaz�sok haszn�lhatj�k az inform�ci�t, amelyek sz�m�ra azt eredetileg �br�zolt�k, hanem a m�s c�lokra k�sz�lt, k�s�bbi alkalmaz�sok is j�l hasznos�thatj�k.
Az RDF arra az elvre �p�l, hogy a dolgokat webes azonos�t�k, un. egys�ges er�forr�s-azonos�t�k (angolul: Uniform Resource Identifier, vagy URI) seg�ts�g�vel azonos�thatjuk, �s egyszer� tulajdons�gokkal �s tulajdons�g�rt�kekkel le�rhatjuk. Ez lehet�v� teszi az RDF sz�m�ra, hogy az er�forr�sokkal kapcsolatban egyszer� �ll�t�sokat �br�zolhassunk gr�f form�j�ban, ahol a csom�pontok �s az �lek az er�forr�sokat, ezek tulajdons�gait �s a tulajdons�gok �rt�keit reprezent�lj�k.
Hogy az eddig megismert elveket min�l hamarabb konkretiz�lhassuk, p�ldak�ppen vizsg�ljuk meg, hogyan �br�zoljuk az al�bbi kijelent�seket az 1. �br�n szerepl� gr�f seg�ts�g�vel:
"Adott egy alany, amelynek t�pusa: szem�ly, az azonos�t�ja http://www.w3.org/People/EM/contact#me, a neve Eric Miller, a postal�da-c�me: [email protected], �s a szem�lyi c�me Dr.":
Az 1. �bra azt illusztr�lja, hogy mik�nt haszn�lja az RDF az URI-ket az egyes dolgok azonos�t�s�ra:
http://www.w3.org/People/EM/contact#me
http://www.w3.org/2000/10/swap/pim/contact#Person
http://www.w3.org/2000/10/swap/pim/contact#mailbox
mailto:[email protected]
c�met pedig, mint a postal�da-c�me
tulajdons�g �rt�k�t, sz�veg-adat form�j�ban adtuk meg. (A tulajdons�gok
�rt�kek�nt az RDF megadhat karakterl�ncokat, mint pl. "Eric Miller", �s
m�s adatt�pusok �rt�keit is, mint pl. eg�sz sz�mok vagy d�tumok.) Az RDF egy XML alap� szintaxissal �rja le ezeket a gr�fokat, �s ugyanilyen szintaxis form�j�ban t�rt�nik a gr�fok �tvitele is az alkalmaz�sok k�z�tt (ezt RDF/XML szintaxisnak nevezz�k). Az 1. p�lda egy RDF k�dr�szletet tartalmaz, mely az 1. �bra tartalm�nak felel meg:
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#"> <contact:Person rdf:about="http://www.w3.org/People/EM/contact#me"> <contact:fullName>Eric Miller</contact:fullName> <contact:mailbox rdf:resource="mailto:[email protected]"/> <contact:personalTitle>Dr.</contact:personalTitle> </contact:Person> </rdf:RDF>
Figyelj�k meg, hogy ez a k�dr�szlet tartalmaz komplett URI-ket, valamint
olyan tulajdons�gokat, amelyeket r�vid�tett form�ban azonos�tottunk (pl.
mailbox
�s fullName
), tov�bb� tartalmazza e k�t
tulajdons�g megfelel� �rt�keit ([email protected]
, illetve Eric
Miller
).
Ugyan�gy, mint a HTML, az RDF/XML is g�ppel feldolgozhat�, �s URI-k felhaszn�l�s�val k�pes �sszekapcsolni az inform�ci�kat a weben kereszt�l. De elt�r�en a hagyom�nyos hipersz�vegt�l, az RDF URI-jei minden azonos�that� dologra hivatkozhatnak, bele�rtve az olyanokat is, amelyek esetleg k�zvetlen�l nem visszakereshet�k a weben (mint p�ld�ul az �l� szem�ly, akit Eric Miller-nek h�vnak). Ennek a haszna az, hogy amellett, hogy le tudunk �rni olyan dolgokat, mint a weblapok, az RDF-fel le tudunk �rni aut�kat, c�geket, embereket, h�resem�nyeket, vagy b�rmi m�st. Tov�bb�, az RDF-ben a tulajdons�goknak maguknak is van URI-j�k amellyel pontosan azonos�tani lehet azt a viszonyt, ami a tulajdons�ggal �sszekapcsolt dolgok k�z�tt fenn�ll.
Az al�bbi dokumentumok mind fontos r�szei az RDF specifik�ci�j�nak (az indirekt hivatkoz�sok linkjeit sz�gletes z�r�jelben szerepeltetj�k):
A tank�nyv c�lja az, hogy bevezet�st ny�jtson az RDF-be, �s le�rjon n�h�ny l�tez� RDF alkalmaz�st, hogy ezzel is seg�tse a rendszertervez�ket �s az alkalmaz�sfejleszt�ket az RDF lehet�s�geinek meg�rt�s�ben �s alkalmaz�s�ban. Ennek megfelel�en, ennek a tank�nyvnek meg kell v�laszolnia az ilyen k�rd�seket:
Ez a tank�nyv egy "nem normat�v" dokumentum, ami azt jelenti, hogy nem ad egy definit�v specifik�ci�t az RDF-r�l. A p�ld�k �s m�s magyar�z� anyagok csup�n arra szolg�lnak, hogy megk�nny�ts�k az olvas� sz�m�ra az RDF meg�rt�s�t, de ezek nem mindig ny�jtanak definit�v, vagy teljesen komplett megold�sokat. Ilyen esetekben az RDF specifik�ci� normat�v r�szeit c�lszer� el�venni. Hogy ehhez kell� seg�ts�get adjon, a tank�nyv ismerteti a t�bbi dokumentum szerep�t a teljes specifik�ci�ban, tov�bb� olyan linkeket tartalmaz a k�l�nb�z� t�m�kat t�rgyal� sz�vegr�szekben, amelyek a normat�v specifik�ci�k megfelel� helyeire mutatnak.
Azt is meg kell jegyezni, hogy ezek az RDF dokumentumok m�dos�tj�k �s helyesb�tik n�h�ny kor�bban publik�lt RDF specifik�ci� tartalm�t; ilyenek�t, mint a Resource Description Framework (RDF) Model and Syntax Specification [RDF-MS] �s a Resource Description Framework (RDF) Schema Specification 1.0 [RDF-S]. Ennek eredm�nyek�nt n�h�ny v�ltoz�s t�rt�nt a terminol�gia, a szintaxis �s a fogalmak ter�let�n. A tank�nyv mindig az RDF specifik�ci�k �jabb v�ltozat�ra hivatkozik (ezek felsorol�s�t l�sd a fenti list�ban). Ez�rt azok az olvas�k, akik ismerik a kor�bbi specifik�ci�kat, �s az ezeken alapul� oktat� �s bevezet� anyagokat, sz�m�tsanak arra, hogy k�l�nbs�gek lehetnek a jelenlegi specifik�ci�k �s a kor�bbi dokumentumok k�z�tt. Az RDF t�m�k nyomk�vet� dokumentuma (RDF Issue Tracking) [RDFISSUE] tartalmaz egy list�t azokr�l a probl�m�kr�l, amelyek az el�z� RDF specifik�ci�kkal kapcsolatban felmer�ltek, megadva azt is, hogy ezek mik�nt old�dtak meg a jelenlegi specifik�ci�kban.
Az RDF-et arra tervezt�k, hogy seg�ts�g�vel egyszer� m�don fogalmazhassunk meg kijelent�seket a Web er�forr�sair�l (r�viden: webforr�sokr�l), p�ld�ul weblapokr�l. Ez a szekci� ismerteti azokat az alapelveket, amelyek alapj�n az RDF ny�jtja ezeket a k�pess�geket. (Az a normat�v specifik�ci�, mely le�rja ezeket az alapelveket, Az RDF alapfogalmai �s absztrakt szintaxisa – [RDF-FOGALMAK] dokumentumban tal�lhat�) .
K�pzelj�k el, hogy ki akarjuk jelenteni egy adott weblapr�l, hogy annak szerz�je egy bizonyos John Smith. A hagyom�nyos form�ja ennek az, hogy valamely term�szetes nyelven, pl. angolul, ny�lt sz�veggel megfogalmazzuk ezt:
http://www.example.org/index.html
has a creator whose value is John
Smith
(Magyarul: A http://www.example.org/index.html URL-en el�rhet� weblapnak van egy szerz�je nev� tulajdons�ga, amelynek �rt�ke John Smith.)
A kijelent�s egyes r�szeit k�v�r szed�ssel hangs�lyoztuk, hogy illusztr�ljuk: ha le akarjuk �rni valaminek a tulajdons�gait, sz�ks�ges, hogy megnevezz�nk, vagy azonos�tsunk n�h�ny dolgot:
Azt a weblapot, amelyr�l az �ll�t�s sz�l, a weblap URL-j�vel, azaz egys�ges webforr�s-c�m�vel azonos�tottuk. A "szerz�je" (creator) kifejez�st haszn�ltuk a tulajdons�g azonos�t�s�ra, a "John Smith" sz�vegadatot pedig annak a dolognak az azonos�t�s�ra, mely a "szerz�je" tulajdons�g �rt�ke.
Ennek a weblapnak a t�bbi tulajdons�gait is le�rhatn�nk hasonl� angol nyelv� mondatokkal, ahol szint�n az URL-lel azonos�tan�nk a weblapot, �s szavakkal vagy kifejez�sekkel a tulajdons�gokat, �s ezek �rt�keit. P�ld�ul azt a d�tumot, amikor a lapot k�sz�tett�k (creation-date), �s azt a nyelvet (language), amelyen �r�dott, az al�bbi mondatokkal lehetne le�rni:
http://www.example.org/index.html
has a creation-date whose value is August 16,
1999
http://www.example.org/index.html has a
language whose value is English
Az RDF arra az elvre �p�l, hogy a le�r�sra ker�l� dolognak t�bb tulajdons�ga, a tulajdons�goknak pedig �rt�ke van, �s hogy az er�forr�sok le�rhat�k a fentiekhez hasonl� kijelent�sekkel, amelyek specifik�lj�k az er�forr�sok tulajdons�gait �s a tulajdons�gok �rt�keit. Az RDF egy meghat�rozott terminol�gi�t haszn�l az ilyen kijelent� mondatok k�l�nb�z� r�szeinek a megnevez�s�re. P�ld�ul a mondatnak azt a r�sz�t, amelyik azt azonos�tja, akir�l/amir�l az �ll�t�s sz�l, alanynak nevezi (a p�ld�nkban ez a weblap). Azt a r�szt, amelyik az alany tulajdons�gait, jellemz�it azonos�tja (a p�ld�nkban creator, creation-date, language), �ll�tm�nynak, �s azt a r�szt, amelyik e tulajdons�gok �rt�keit azonos�tja, t�rgynak nevezi. �gy teh�t az al�bbi angol mondatban:
http://www.example.org/index.html
has a creator whose value is John
Smith
az RDF kifejez�sek, amelyek a mondat egyes r�szeit le�rj�k, az al�bbiak:
http://www.example.org/index.html
URLDe am�g az Angol k�t (angolul tud�) ember k�z�tti kommunik�ci�ra szolg�l, az RDF g�ppel feldolgozhat� �ll�t�sok megfogalmaz�s�ra k�sz�lt. Ahhoz, hogy az ilyen �ll�t�sokat g�pi feldolgoz�sra alkalmass� tegy�k, k�t dologra van sz�ks�g�nk:
Szerencs�re, a Web megl�v� architekt�r�ja mindk�t sz�ks�ges eszk�zt tartalmazza.
Mint kor�bban bemutattuk, a weben m�r rendelkez�sre �ll az azonos�t� egy form�ja, az URL (az egys�ges webforr�s-c�m). Az els� p�ld�ban URL-t haszn�ltunk annak a weblapnak az azonos�t�s�ra, amelyet John Smith k�sz�tett. Az URL egy karakterl�nc, mely oly m�don azonos�tja a webforr�st, hogy �br�zolja annak els�dleges hozz�f�r�si mechanizmus�t (l�nyeg�ben a h�l�zati c�m�t). �m az RDF-ben sz�ks�ges, hogy inform�ci�kat adhassunk meg sok olyan dologr�l is, amelynek nincs h�l�zati c�me (URL-je).
A weben rendelkez�sre �ll az azonos�t�snak egy m�g �ltal�nosabb form�ja ilyen c�lokra, amelyet Egys�ges Er�forr�s-azonos�t�nak (Uniform Resource Identifier-nek vagy URI-nek) nevez�nk. Az URL az URI egy specifikus fajt�ja. Minden URI rendelkezik azzal a tulajdons�ggal, hogy k�l�nb�z� szem�lyek vagy szervezetek egym�st�l f�ggetlen�l kre�lhatnak ilyeneket, �s ezeket b�rminek az azonos�t�s�ra haszn�lhatj�k. Az URI-k nincsenek arra korl�tozva, hogy csak olyan dolgokat azonos�tsanak, amelyek h�l�zati c�mmel rendelkeznek, vagy amelyek sz�m�t�g�pes hozz�f�r�si mechanizmust felt�teleznek. Val�j�ban kre�lhatunk egy URI-t b�rminek az azonos�t�s�ra, amelyre hivatkozni szeretn�nk egy kijelent�sben, bele�rtve:
Ez a nagyobb �ltal�noss�g indokolja, hogy az RDF URI-ket haszn�l annak a
mechanizmusnak az alapjak�nt, amellyel az �ll�t�sok alany�t, �ll�tm�ny�t �s
t�rgy�t azonos�tja. Szabatosabban fogalmazva: az RDF URI
hivatkoz�sokat ([URIS]) haszn�l. Egy URI
hivatkoz�s (vagy URIref) egy URI egy opcion�lis
er�forr�sr�sz-azonos�t�val (fragment identifier-rel) a v�g�n.
P�ld�ul a http://www.example.org/index.html#section2
URI
hivatkoz�s URI-je: http://www.example.org/index.html
,
er�forr�sr�sz-azonos�t�ja pedig a "#" karakterrel elv�lasztott
Section2
azonos�t�. Az RDF URI hivatkoz�sai [UNICODE] karakterekkel vannak le�rva (l�sd [RDF-FOGALMAK]), lehet�v� t�ve ez�ltal, hogy
t�bb nyelven is lehessen ilyen hivatkoz�sokat kre�lni. Az RDF �gy defini�lja
az er�forr�s fogalm�t, hogy az b�rmi lehet, ami azonos�that� egy URI
hivatkoz�ssal. �gy az RDF gyakorlatilag b�rmilyen dolgokat meg tud nevezni,
�s a k�zt�k l�v� viszonyokat is le tudja �rni. Az URI hivatkoz�sok �s az
er�forr�sr�sz-azonos�t�k tov�bbi t�rgyal�sa megtal�lhat� az A. f�ggel�kben, valamint az [RDF-FOGALMAK] dokumentum�ban.
A mondatok g�ppel feldolgozhat� m�don val� �br�zol�s�hoz az RDF a
B�v�thet� Jel�l�nyelvet (Extensible Markup
Language – [XML]) haszn�lja. Az XML-t arra
tervezt�k, hogy seg�ts�g�vel b�rki kialak�thassa a saj�t
dokumentumform�tum�t, �s azut�n meg is �rhassa a dokumentumait ebben a
form�tumban. Az RDF egy specifikus XML jel�l�nyelvet defini�l, amelyet
RDF/XML-nek nevez�nk, �s amelyet RDF inform�ci�k �br�zol�s�ra,
illetve g�pek k�z�tti cser�j�re alkalmazunk. Az 1.
fejezetben, az 1. p�lda kapcs�n m�r tal�lkoztunk
RDF/XML �br�zol�ssal. Ebben a p�ld�ban szerepelt egy
<contact:fullName>
, �s egy
<contact:personalTitle>
teg, amelyek az Eric
Miller
, illetve a Dr.
sz�vegtartalmat hat�rolt�k. Ezek a
tegek lehet�v� teszik, hogy az �br�zol�skor �s a feldolgoz�skor a programok
meg�rts�k a tegek �ltal k�zrefogott tartalom jelent�s�t. Az XML adattartalom,
�s (bizonyos kiv�telekkel) a tegek is tartalmazhatnak [UNICODE] k�dol�s� karaktereket, hogy az RDF lehet�v�
tegye a k�l�nb�z� nyelveken megfogalmazott inform�ci� k�zvetlen �br�zol�s�t.
A B. f�ggel�k tov�bbi h�tt�r-inform�ci�kkal szolg�l
az XML-r�l �ltal�ban. A specifikus XML szintaxist, amelyet az RDF-hez
haszn�lunk (RDF/XML), r�szletesebben a 3. fejezet
t�rgyalja, �s ennek normat�v defin�ci�ja az [RDF-SZINTAXIS] dokumentumban tal�lhat�.
A 2.1 szekci� m�r bepillant�st engedett az RDF mondat alapfogalmaiba: egyr�szt az URI hivatkoz�sok l�nyeg�be, amelyekkel az RDF mondatokban hivatkozott dolgokat azonos�tjuk, m�sr�szt pedig az RDF/XML szintaxisba, amelynek seg�ts�g�vel, g�ppel feldolgozhat� m�don lehet �br�zolni az RDF mondatait. Erre a h�tt�r-ismeretre t�maszkodva, ez a szekci� le�rja, hogy az RDF-ben mik�nt haszn�ljuk az URI hivatkoz�sokat az er�forr�sokkal kapcsolatos �ll�t�sok megfogalmaz�s�ra. Az el�z� fejezetben l�ttuk, hogy az RDF arra az elvre �p�lt, hogy olyan elemi �ll�t�sokat fogalmazhassunk meg az er�forr�sokr�l, ahol minden mondat csup�n egy alanyt, egy �ll�tm�nyt, �s egy t�rgyat tartalmaz. Az al�bbi angol nyelv� mondat:
http://www.example.org/index.html
has a creator whose value is John
Smith
egy olyan RDF mondattal �br�zolhat�, mely az al�bbi mondatr�szeket tartalmazza:
http://www.example.org/index.html
http://purl.org/dc/elements/1.1/creator
http://www.example.org/staffid/85740
Figyelj�k meg, hogy itt az eredeti mondatnak nemcsak az alany�t, de az �ll�tm�ny�t �s a t�rgy�t is egy-egy URI-vel �br�zoltuk ahelyett, hogy a "creator", illetve a "John Smith" szavakat haszn�ltuk volna. (Az URI ilyen haszn�lat�nak hat�sait k�s�bb t�rgyaljuk ebben a szekci�ban.)
Az RDF az �ll�t�sokat egy gr�f csom�pontjaival �s �leivel modellezi. Az RDF gr�fmodellj�t az [RDF-FOGALMAK] dokumentum ismerteti b�vebben. Ebben a modellben egy kijelent�st az al�bbi m�don �br�zolunk:
Ennek megfelel�en, a fenti RDF mondatot a 2. �br�n szerepl� gr�ffal �br�zolhatjuk:
Ehhez hasonl� �ll�t�sok csoportj�t is ugyan�gy, a nekik megfelel� csom�pontokkal �s �lekkel �br�zolhatjuk. A kor�bbi p�ld�kb�l ismert m�sik k�t angol mondatot:
http://www.example.org/index.html
has a creation-date whose value is August 16,
1999
http://www.example.org/index.html has a
language whose value is English
a 3. �br�n szerepl� gr�f-r�szlettel lehetne �br�zolni, amelyben megfelel� URI hivatkoz�sokat haszn�lunk a "creation-date" �s a "language" tulajdons�gok azonos�t�s�ra:
A 3. �bra azt is illusztr�lja, hogy az RDF
kijelent�seinek t�rgyai egyar�nt lehetnek URI hivatkoz�sok �s konstans
�rt�kek (�n. liter�lok). Ez
ut�bbiakat olyan karakterl�ncokkal �br�zoljuk, amelyek a tulajdons�gok
�rt�keit reprezent�lj�k. (A
http://purl.org/dc/elements/1.1/language
tulajdons�g eset�ben a
liter�l egy nemzetk�zi szabv�ny szerinti k�tbet�s k�d, mely egyezm�nyesen az
Angolt jelenti. Liter�lokat azonban nem haszn�lhatunk az RDF �ll�t�sok
alanyak�nt vagy �ll�tm�nyak�nt. Az RDF gr�fok megrajzol�sakor azokat a
csom�pontokat, amelyeket URI-vel azonos�tunk, ellipszissel �br�zoljuk, m�g az
olyan csom�pontokat, amelyeket liter�llal adunk meg, sz�gletes dobozok
reprezent�lj�k. (Azokat az egyszer� karakterl�nc-liter�lokat, amelyeket ebben
a p�ld�ban haszn�ltunk, t�pus n�lk�li
liter�loknak (plain literals) nevezz�k, megk�l�nb�ztet�s�l a tipiz�lt
liter�lokt�l (typed literals), amelyek ismertet�s�re majd a 2.4 szekci�ban ker�l sor. A k�l�nb�z�
liter�lt�pusokat, amelyeket az RDF-ben haszn�lhatunk, az [RDF-FOGALMAK] dokumentuma defini�lja. Mind a
tipiz�lt, mind a t�pus n�lk�li liter�lok megadhat�k [UNICODE] k�dol�s� karakterekkel, hogy lehet�v�
v�lj�k a k�l�nb�z� nyelveken megfogalmazott inform�ci�k k�zvetlen
�br�zol�sa.
Sokszor nem az a legalkalmasabb �br�zol�s, hogy gr�fokat rajzolunk, amikor m�g vitatjuk a tartalmukat. Van egy alternat�v m�dja is az �ll�t�sok le�r�s�nak: a tripletek m�dszere (triples). A tripletekkel t�rt�n� �br�zol�s sor�n a gr�fban szerepl� minden kijelent�st egy egyszer� alany-�ll�tm�ny-t�rgy h�rmassal �runk le, ebben a sorrendben. P�ld�ul a 3. �br�n szerepl� h�rom �ll�t�st a tripletek m�dszer�vel �gy jegyezn�nk le:
<http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740> . <http://www.example.org/index.html> <http://www.example.org/terms/creation-date> "August 16, 1999" . <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/language> "en" .
Minden triplet egy-egy olyan �l a gr�fban, mely egy kezd�-, �s egy
v�gcsom�ponttal rendelkezik (ez a kijelent�s alanya �s t�rgya). Szemben a
rajzolt gr�ffal, de hasonl�an az eredeti kijelent�sekhez, a tripletes �r�sm�d
megk�v�nja, hogy a megfelel� csom�pontokat k�l�n-k�l�n azonos�tsuk minden
kijelent�sben, amelyben megjelennek. �gy teh�t, p�ld�ul, a
http://www.example.org/index.html
azonos�t� h�romszor is
megjelenik, ha tripletekkel �br�zoljuk a gr�fot, m�g a rajzolt gr�f eset�ben
csak egyszer. Ennek ellen�re a tripletek pontosan ugyanazt az inform�ci�t
reprezent�lj�k, mint a rajzolt gr�f. �s ez egy kulcsk�rd�s. Ami ugyanis
alapvet� az RDF-ben, az a kijelent�sek gr�fmodellje. Az a konkr�t
m�d, azonban, ahogyan le�rjuk, vagy lerajzoljuk a gr�fmodellt, csup�n
m�sodlagos.
A komplett tripletes �r�sm�d azt ig�nyli, hogy az URI hivatkoz�sokat
hegyes z�r�jelek k�z�tt, teljes terjedelm�kben ki�rjuk, �m ez, mint a fenti
p�lda is mutatja, nagyon hossz� mondatokat eredm�nyez a lapon. Ennek
elker�l�se c�lj�b�l (�s k�nyelmi okokb�l is), ebben a tank�nyvben a tripletek
URI hivatkoz�sainak egy r�vid�tett form�j�t haszn�ljuk (ugyanezt a r�vid�tett
form�t alkalmazza a t�bbi RDF dokumentum is). Itt a r�vid�t�s egy XML
min�s�tett n�v (qualified name, vagy Qname) haszn�lat�t
jelenti, hegyes z�r�jelek n�lk�l, mely az URI hivatkoz�s egy r�vid�tett
v�ltozat�nak felel meg. (A min�s�tett neveket a B.
f�ggel�k t�rgyalja r�szletesebben). A min�s�tett n�v egy el�t�t-nevet
(�n. prefixet) tartalmaz, mely egy n�vt�r URI-hez van rendelve. A
prefixet egy kett�spont, majd pedig egy helyi n�v k�veti. A teljes URI
hivatkoz�st a min�s�tett n�vb�l �gy �ll�tjuk vissza, hogy egy lok�lis nevet
toldunk ahhoz a n�vt�r URI-hez, mely a prefixhez van rendelve. �gy teh�t, ha
pl. a foo
prefix a http://example.org/somewhere/
n�vt�r-URI-hez van rendelve, akkor a foo:bar
min�s�tett n�vre
r�vid�l le a http://example.org/somewhere/bar
URI hivatkoz�s.
Tank�nyv�nk p�ld�i t�bb "j�l ismert" min�s�tettn�v-prefixet haszn�lnak
an�lk�l, hogy ezeket minden egyes alkalommal explicit m�don defini�ln�k. Az
ilyen prefixeket �s az el�re hozz�juk rendelt n�vt�r-URI-ket az al�bbi lista
tartalmazza:
prefix = rdf:
, n�vt�r-URI =
http://www.w3.org/1999/02/22-rdf-syntax-ns#
prefix = rdfs:
, n�vt�r-URI =
http://www.w3.org/2000/01/rdf-schema#
prefix = dc:
, n�vt�r-URI =
http://purl.org/dc/elements/1.1/
prefix = owl:
, n�vt�r-URI =
http://www.w3.org/2002/07/owl#
prefix = ex:
, n�vt�r-URI = http://www.example.org/
(vagy .com )
prefix = xsd:
, n�vt�r-URI =
http://www.w3.org/2001/XMLSchema#
A list�ban szerepl� ex:
prefixnek, mely az "example"
kifejez�s r�vid�t�se, �s amelyet a p�ld�inkban �ltal�nosan haszn�lunk, t�bb
vari�nsa is meg fog jelenni a tank�nyv�nkben. Az adott p�lda jellege szerint
ezek �ltal�ban ilyenek, mint:
prefix = exterms:
, n�vt�r-URI =
http://www.example.org/terms/
(olyan fogalmak
n�vt�r-azonos�t�jak�nt, amelyeket egy p�ldabeli szervezet haszn�l),
prefix = exstaff:
, n�vt�r-URI =
http://www.example.org/staffid/
(olyan kifejez�sek
n�vt�r-azonos�t�jak�nt, amelyek egy szervezet szem�lyi azonos�t�i),
prefix = ex2:
, n�vt�r-URI =
http://www.domain2.example.org/
(egy m�sodik p�ldabeli szervezet
fogalmainak n�vt�r-azonos�t�jak�nt), �s �gy tov�bb.
Ezzel a r�vid�t�si mechanizmussal az el�z� h�rom, hossz� tripletet �gy �rhatjuk:
ex:index.html dc:creator exstaff:85740 . ex:index.html exterms:creation-date "August 16, 1999" . ex:index.html dc:language "en" .
L�ttuk, hogy az RDF, szavak helyett,
URI hivatkoz�sokat haszn�l a kijelent�sekben szerepl� dolgok megnevez�s�re.
Az URI-k egy meghat�rozott halmaz�t – k�l�n�sen, amelyik valamilyen
specifikus c�lra szolg�l – az RDF sz�k�szletnek (vocabulary)
nevezi. Az ilyen sz�k�szletben szerepl� URI hivatkoz�sokat gyakran �gy
szervezik, hogy ezek olyan min�s�tett nevekkel legyenek �br�zolhat�k, amelyek
egy k�z�s prefixet (el�t�t-nevet) haszn�lnak. Vagyis, egy k�z�s n�vt�r-URI-t
v�lasztanak a sz�k�szlet �sszes kifejez�se sz�m�ra, s ez tipikusan egy olyan
URI, mely annak a szem�lynek vagy szervezetnek az ellen�rz�se alatt �ll,
aki/amely a sz�k�szletet defini�lta. A sz�k�szletben szerepl� URI-ket �gy
alak�tj�k ki, hogy a k�z�s n�vt�r-URI v�g�hez egy lok�lis nevet toldanak. Az
ilyen URI-k azut�n egy olyan halmazt alkotnak, amelyek egy k�z�s prefixszel
azonos�that�k. P�ld�ul, ahogyan az el�z� p�ld�kn�l is l�ttuk, egy szervezet,
mondjuk az example.org
, defini�lhat egy sz�k�szletet olyan URI
hivatkoz�sokb�l, amelyek a http://www.example.org/terms/
karakterl�nccal kezd�dnek, s ez azoknak a kifejez�seknek a k�z�s nev�t
jelenti, amelyeket ez a szervezet saj�t �zleti k�r�ben haszn�l (pl. "Gy�rt�s
d�tuma" vagy "Term�k"). Ugyanez a szervezet defini�lhat egy m�sik
sz�k�szletet is, pl. az alkalmazottainak az azonos�t�ib�l, amelyet a
http://www.example.org/staffid/
n�vt�r-URI-hez kapcsol. Az RDF
ugyanezt a gyakorlatot k�veti, amikor egy saj�t sz�k�szletet defini�l olyan
kifejez�sekb�l, amelyeknek az RDF-ben meghat�rozott jelent�s�k van. Az RDF
saj�t sz�k�szlet�nek URI-jei mind a
http://www.w3.org/1999/02/22-rdf-syntax-ns#
teljes prefixszel
kezd�dnek, amely konvencion�lisan az rdf:
min�s�tettn�v-prefixhez van rendelve. Az RDF Sz�k�szlet Le�r� Nyelv, amelyet
az 5. fejezet t�rgyal r�szletesebben, defini�l egy
tov�bbi sz�k�szletet is, amelynek n�vt�r URI-je a
http://www.w3.org/2000/01/rdf-schema#
, �s ez hagyom�nyosan az
rdfs:
min�s�tettn�v-prefixhez van rendelve. Egy
min�s�tettn�v-prefixet teh�t mindig egy bizonyos sz�k�szlettel kapcsolatban
haszn�lunk, s �gy a prefixet gyakran az adott sz�k�szlet nev�nek tekintj�k
(�gy p�ld�ul az RDF S�ma sz�k�szlet�t �gy h�vjuk, hogy "rdfs:
sz�k�szlet".)
A k�z�s URI prefixek haszn�lata teh�t megfelel� m�dszer arra, hogy azokat az URI hivatkoz�sokat, amelyek egy adott terminol�gi�hoz kapcsol�dnak, egy k�z�s halmazba szervezz�k. Ez azonban csup�n egy konvenci�. Az RDF modell csak teljes URI hivatkoz�sokat ismer fel; teh�t nem l�t bele az URI-kbe, �s nincs is tudom�sa ezek strukt�r�j�r�l. M�g kevesebbet tud arr�l, hogy valamif�le kapcsolat van ezek k�z�tt azon az alapon, hogy azonos prefixet haszn�lnak (l�sd a t�ma tov�bbi t�rgyal�s�t az A. f�ggel�kben). Mi t�bb, azt sem z�rja ki semmi, hogy a k�l�nb�z� prefix� URI hivatkoz�sokat egyazon sz�k�szlet r�sz�nek tekints�k. Egy adott szervezet, folyamat, szoftvereszk�z stb. defini�lhat egy saj�t sz�k�szletet oly m�don is, hogy felvesz a sz�k�szlet�be olyan URI hivatkoz�sokat, amelyek idegen sz�k�szletekben vannak defini�lva.
Az sem ritka, hogy egy szervezet olyan webforr�s URL-jek�nt is haszn�lja
valamelyik sz�k�szlet n�vt�r-URI-j�t, mely tov�bbi adatokat tartalmaz az
adott sz�k�szletr�l. P�ld�ul, mint kor�bban l�ttuk, a dc:
prefix
a http://purl.org/dc/elements/1.1/
n�vt�r-URI-hez van kapcsolva.
Ez t�nylegesen a Dublin Core sz�k�szletre hivatkozik, amelyet a 6.1 szekci�ban r�szletez�nk. Ha ezt az URI-t megadjuk
egy b�ng�sz�nek, akkor hozz�f�rhet�nk a Dublin Core sz�k�szlettel kapcsolatos
kieg�sz�t� inform�ci�khoz (konkr�tan egy RDF s�m�hoz). Azonban ez is csup�n
egy konvenci�. Az RDF nem felt�telezi, hogy egy n�vt�r-URI visszakereshet�
webforr�sra mutat (a B. f�ggel�kben megtal�lhat� e
t�ma tov�bbi diszkusszi�ja).
Tank�nyv�nk tov�bbi r�sz�ben a sz�k�szlet kifejez�ssel mindig
olyan URI hivatkoz�sok halmaz�ra utalunk, amelyet valamilyen specifikus c�lra
defini�ltak. Ilyenek pl. azok az URI hivatkoz�sok, amelyeket az RDF a saj�t
haszn�lat�ra defini�lt, vagy azok, amelyeket a p�ld�kban gyakran szerepl�
example.org
defini�lt az alkalmazottai azonos�t�s�ra. A
n�vt�r kifejez�st pedig a tov�bbiakban kiz�r�lag akkor haszn�ljuk,
amikor specifikusan az XML n�vt�r szintaktikai fogalm�ra gondolunk (vagy
amikor egy olyan URI-re hivatkozunk, amely egy min�s�tett n�v prefix�hez van
rendelve).
A k�l�nb�z� sz�k�szletekb�l sz�rmaz� URI hivatkoz�sok szabadon keverhet�k
az RDF gr�fokban. P�ld�ul a 3. �br�n szerepl� gr�f
h�rom sz�k�szletb�l (xterms:
, exstaff:
�s
dc:
) haszn�l URI hivatkoz�sokat. Ugyan�gy, az RDF nem
korl�tozza azt sem, hogy h�ny kijelent�s
haszn�lhatja ugyanazt az URI hivatkoz�st �ll�tm�nyk�nt egy gr�fban
ugyanannak az er�forr�snak a le�r�s�ra. P�ld�ul, ha az
ex:index.html
weblapot John Smith-szel k�z�sen, t�bb szerz�
k�sz�tette volna, akkor mondjuk az example.org
�gy adhatn� meg a
weblap szerz�inek a nev�t:
ex:index.html dc:creator exstaff:85740 . ex:index.html dc:creator exstaff:27354 . ex:index.html dc:creator exstaff:00816 .
Ezek a p�ld�k tal�n m�r kezdik �rz�keltetni annak az RDF elvnek n�h�ny
el�ny�t, hogy alapvet�en URI hivatkoz�sokat (r�viden URIref-eket) haszn�lunk
a dolgok azonos�t�s�ra. P�ld�ul az els� �ll�t�sban, ahelyett, hogy a weblap
szerz�j�nek a nev�t a "John Smith" karakterl�nccal azonos�tan�nk,
hozz�rendelt�nk egy URI hivatkoz�st, mely ebben az esetben John Smith
alkalmazott-azonos�t�j�ra �p�l, �s �gy n�z ki:
http://www.example.org/staffid/85740
. Az URIref haszn�lata ebben
az esetben p�ld�ul azzal az el�nnyel j�r, hogy a kijelent�s alany�nak
azonos�t�sa pontosabb lehet. Vagyis, a szerz� itt nem csup�n a "John Smith"
karakterl�nc, vagy b�rki, a sok ezer John Smith k�z�l, hanem egy
bizonyos John Smith, aki ehhez az URIref-hez van asszoci�lva (b�rki
legyen is a szerz�, az URIref defini�lja a megfelel� asszoci�ci�t). M�g
tov�bb menve: minthogy l�tezik egy URIref, amely John Smith-re hivatkozik, �
most m�r egy teljes �rt�k� er�forr�s, �s �gy tov�bbi inform�ci�kat is
megadhatunk r�la oly m�don, hogy �jabb RDF kijelent�seket �runk, amelyekben
John Smith URIref-je lesz az alany. A 4. �bra tov�bbi
adatokat �br�zol John Smith-r�l, az index.html
weblap
szerz�j�r�l: konkr�tan a nev�t (name) �s az �letkor�t (age).
Ez a p�lda azt is illusztr�lja, hogy az RDF kijelent�sekben �ll�tm�nyk�nt
is haszn�lhatunk URI hivatkoz�sokat. Vagyis ahelyett, hogy ilyen szavakat,
vagy karakterl�ncokat haszn�ln�nk itt a tulajdons�gok azonos�t�s�ra, mint a
"creator" �s a "name", az RDF-ben ink�bb URI hivatkoz�sokat haszn�lunk ilyen
c�lra. Ennek a lehet�s�ge t�bb okb�l is fontos. El�sz�r is: ez egy�rtelm�en
megk�l�nb�zteti az egyik k�rnyezetben defini�lt tulajdons�got egy m�sik
k�rnyezetben defini�ltt�l, amikor azonos karakterl�nccal �br�zolnak
k�l�nf�lek�ppen �rtelmezett tulajdons�gokat. P�ld�ul a 4.
�br�n bemutatott p�ld�ban az example.org a "name" kifejez�st haszn�lja
valakinek a teljes nev�re gondolva, amelynek az �rt�k�t egy
karakterl�nc-liter�llal �rj�k ki (pl. "John Smith"), de valaki m�s a "name"
alatt esetleg eg�szen m�st �rt (pl. egy programban szerepl� v�ltoz� nev�t).
Ha teh�t egy program, amelyik t�bb forr�sb�l igyekszik adatokat egyes�teni, s
�gy t�bb webforr�sb�l is beolvassa a "name" karakterl�ncot, mint egy
tulajdons�g azonos�t�j�t, nem biztos, hogy k�pes lesz megk�l�nb�ztetni a k�t
"name" jelent�s�t. Ha azonban az egyik szervezet, mondjuk a
http://www.example.org/terms/name
URI -t haszn�lja, egy m�sik
pedig a http://www.domain2.example.org/genealogy/terms/name
URI-t, akkor vil�gos, hogy itt k�t k�l�nb�z� "name" tulajdons�gr�l van sz�,
m�g akkor is, ha az adott program automatikusan nem tudn� eld�nteni a
k�l�nb�z�s�g k�rd�s�t. Emellett a tulajdons�gok URI hivatkoz�sokkal t�rt�n�
azonos�t�sa lehet�v� teszi, hogy magukat a tulajdons�gokat is er�forr�soknak
tekints�k, s �gy tov�bbi inform�ci�kat regisztr�lhassunk r�luk (pl. az angol
nyelv� le�r�s�t annak, hogy az example.org mit �rt az alatt, hogy "name").
Ezt, a John Smith eset�vel anal�g m�don, olyan tov�bbi RDF kijelent�sekkel
adhatjuk meg, amelyeknek a k�z�s alanya a "name" tulajdons�g URIref-je
lesz.
Mindemellett, az URI hivatkoz�soknak alanyk�nt, �ll�tm�nyk�nt �s t�rgyk�nt t�rt�n� haszn�lata az RDF kijelent�sekben �szt�nzi �s t�mogatja a k�z�s sz�k�szletek fejleszt�s�t �s k�z�s haszn�lat�t a weben. A fejleszt�k ugyanis �gy felfedezhetik, �s elkezdhetik alkalmazni azokat a sz�k�szleteket, amelyeket m�sok m�r haszn�lnak a saj�t adat�br�zol�saikhoz, �s ez a k�z�s haszn�lat a fogalmak k�z�s �rtelmez�s�t is jelenti. Ha p�ld�ul az al�bbi triplet:
ex:index.html dc:creator exstaff:85740 .
dc:creator
nev� �ll�tm�ny�t teljes URI hivatkoz�ss�
terjesztj�k ki, egy egy�rtelm� URI hivatkoz�st kapunk a "creator" nev�
attrib�tumra a Dublin Core meta-adatok halmaz�ban. (Ez olyan attrib�tumok
sz�les k�rben haszn�lt gy�jtem�nye, amelyekkel sokf�le inform�ci�forr�s
alapvet� tulajdons�gai le�rhat�k – ahogy azt a 6.1 szekci�ban b�vebben t�rgyaljuk). A fenti triplet
�r�ja l�nyeg�ben azt jelenti ki, hogy a viszony a
(http://www.example.org/index.html
URI-vel azonos�tott) weblap,
�s annak meghat�rozott szerz�je k�z�tt (akit a
http://www.example.org/staffid/85740
URI azonos�t), nem m�s,
mint az a fogalom, amelyet a
http://purl.org/dc/elements/1.1/creator
URI azonos�t. Ha m�rmost
egy m�sik
fejleszt�, aki ismeri a Dublin Core sz�k�szletet, vagy aki r�j�n (pl. a weben
t�rt�n� keres�ssel), hogy mi a dc:creator
pontos jelent�se, az
meg�rti azt is, hogy mit jelent a fenti tripletben kijelentett viszony. �s
t�maszkodva erre a meg�rt�sre, ez a fejleszt� tud olyan programot �rni, amely
e fogalom jelent�s�nek megfelel�en k�pes m�k�dni, amikor feldolgozza a
dc:creator
�ll�tm�nyt tartalmaz�
tripletet.
Term�szetesen,
ez a kedvez� hat�s olyan ar�nyban n�, amilyen ar�nyban terjed az URI
hivatkoz�sok haszn�lata a dolgok azonos�t�s�ra a liter�lok helyett; pl. az
olyan URI hivatkoz�sok haszn�lata, mint az exstaff:85740
�s a
dc:creator
az olyan karakterl�nc-liter�lok helyett, mint
"John Smith"
�s "creator"
. �m m�g egy ilyen kedvez�
trend sem k�pes �nmag�ban l�trehozni a k�v�nt hat�st, mert m�g �gy is
el�fordulhat, hogy k�t k�l�nb�z� URI-vel hivatkozunk ugyanarra a fogalomra.
Ez�rt az a j� megold�s, hogy amikor csak lehet, pr�b�ljuk meg l�tez�
sz�k�szletekb�l import�lni a fogalmainkat, pl. olyanokb�l, mint a Dublin
Core, ahelyett, hogy �jakat tal�ln�nk ki, amelyekkel esetleg �tfedn�nk a m�r
l�tez�, stabil �s elterjedt sz�k�szleteket. Ugyanis folyamatosan fejlesztenek
sz�k�szleteket a weben specifikus alkalmaz�sok c�ljaira, ahogyan azt a 6. fejezetben l�tni fogjuk. Azonban, ha keletkeznek
is olykor szinonim�k, m�gis az a t�ny, hogy ezek a k�l�nb�z� URI hivatkoz�sok
a k�z�sen haszn�lt "webt�rben" ker�lnek felhaszn�l�sra, kedvez� lehet�s�get
teremt mind az elt�r� hivatkoz�sok k�z�tti l�nyegi azonoss�g felismer�s�re,
mind pedig a k�z�s hivatkoz�sok haszn�lat�nak elterjed�s�re.
Indokolt tov�bb� k�l�nbs�get tenni a k�z�tt a jelent�s k�z�tt, amelyet
maga az RDF asszoci�l azokhoz a kifejez�sekhez, amelyeket az RDF
kijelent�sekben haszn�lunk (mint pl. a dc:creator
az el�z�
p�ld�ban), valamint azok k�z�tt az egy�b, k�v�lr�l defini�lt
jelent�sek k�z�tt, amelyeket az emberek (vagy emberek �ltal �rt
programok) asszoci�lhatnak ezekhez a kifejez�sekhez. Mint nyelv, az
RDF csup�n h�rom dolgot defini�l k�zvetlen�l: egyr�szt az
alany-�ll�tm�ny-t�rgy tripletek gr�f-szintaxis�t, m�sr�szt az
rdf:
sz�k�szletben szerepl� URI hivatkoz�sokhoz kapcsol�d�
bizonyos jelent�seket, �s harmadr�szt, n�h�ny olyan fogalmat, amelyekkel
k�s�bb foglalkozunk; ezeknek a dolgoknak a normat�v defin�ci�ja az [RDF-SZEMANTIKA] �s az [RDF-FOGALMAK] dokumentumban tal�lhat�. Az RDF
azonban nem defini�lja az RDF �ll�t�sokban haszn�lhat� olyan
kifejez�sek jelent�s�t, amelyeket m�s sz�k�szletek tartalmaznak (mint pl.
dc:creator
). V�rhat�, hogy tov�bbi specifikus sz�k�szleteket
fognak majd �ssze�ll�tani, s ezek kifejez�seihez specifikus jelent�seket
fognak t�rs�tani, de ez m�r az RDF-en k�v�l t�rt�nik. Azok az RDF
kijelent�sek, amelyek az ilyen sz�k�szletekb�l haszn�lnak fel URI
hivatkoz�sokat, �tvihetik az ezekhez t�rsul� specifikus jelent�seket azokhoz
az emberekhez, akik ismerik az adott sz�k�szleteket, �s �tvihetik az olyan
alkalmaz�sokhoz is, amelyek k�pesek ezeket a sz�k�szleteket feldolgozni; nem
mondanak azonban semmit az olyan RDF alkalmaz�sok sz�m�ra, amelyeket nem
kifejezetten az ilyen sz�k�szletek feldolgoz�s�ra terveztek.
P�ld�ul: az emberek meghat�rozott jelent�st asszoci�lhatnak az al�bbi triplethez:
ex:index.html dc:creator exstaff:85740 .
azon az alapon, hogy �rtik, mit jelent a "creator" sz� a
dc:creator
URI hivatkoz�sban, vagy azon az alapon, hogy
meg�rtett�k a Dublin Core sz�k�szlet dc:creator
attrib�tum�nak a
defin�ci�j�t. Azonban, egy tetsz�leges RDF alkalmaz�s szemsz�g�b�l n�zve, a
fenti triplet ak�r valami eff�le is lehetne:
fy:joefy.iunm ed:dsfbups fytubgg:85740 .
legal�bbis, ami a triplet be�p�tett jelent�s�t illeti. Egy term�szetes
nyelv� sz�veg, amelyik az interneten le�rn� a dc:creator
jelent�s�t, szint�n nem reprezent�lna semmi olyan tov�bbi jelent�st, amelyet
egy tetsz�leges alkalmaz�s k�zvetlen�l haszn�lni tudna.
Term�szetesen, egy adott sz�k�szletb�l sz�rmaz� URI hivatkoz�sokat akkor
is haszn�lhatn�nk egy RDF kijelent�sben, ha egy konkr�t alkalmaz�s nem lenne
k�pes semmilyen jelent�st t�rs�tani hozz�juk. P�ld�ul egy RDF alapszoftver
felismeri ugyan, hogy ez egy RDF kijelent�s, �s hogy az
ed:dsfbups
az �ll�tm�nya stb., de bizony�ra nem t�rs�tana olyan
speci�lis jelent�st a triplet ed:dsfbups
URIref-j�hez, mint
amilyent a sz�k�szlet fejleszt�je t�rs�tott hozz�. A fejleszt�k viszont, azon
az alapon, hogy meg�rtett�k egy adott sz�k�szlet jelent�s�t, �rhatnak olyan
RDF alkalmaz�sokat, amelyek a sz�k�szlet URI-jeihez kapcsolt jelent�seknek
megfelel� viselked�st mutatnak. Ez akkor is igaz, ha ezek a jelent�sek nem
hozz�f�rhet�ek a t�bbi alkalmaz�s sz�m�ra, amelyeket nem ilyen alapon
k�sz�tettek.
E felismer�sek eredm�nyk�nt, az RDF lehet�s�get biztos�t arra, hogy olyan kijelent�seket tegy�nk, amelyeket az alkalmaz�sok k�nnyebben fel tudnak dolgozni. Egy alkalmaz�s ugyan val�j�ban nem sokkal t�bbet "�rt" az RDF kijelent�sekb�l, mint amennyit mondjuk egy adatb�zis-kezel� szoftver "�rt" az olyan fogalmakb�l, mint "alkalmazott", vagy "havi b�re", amikor feldolgoz egy ilyen lek�rdez�st, mint pl. SELECT Alkalmazott Neve WHERE Havi b�re > 120 000. Ennek ellen�re, ha az RDF alkalmaz�st megfelel�en �rtuk meg, az m�gis k�pes lesz olyan m�don kezelni az RDF �ll�t�sokat, hogy �gy t�nik, mintha val�ban �rten� �ket (mint ahogy egy adatb�zis-kezel� �s az alkalmaz�sai is �rtelmes munk�t k�pesek v�gezni, amikor feldolgozz�k az alkalmazotti �s b�rsz�mfejt�si adatokat, noha nem tudj�k, mit jelent az "alkalmazott" vagy a "havi b�re" kifejez�s).
Tegy�k fel, hogy egy alkalmaz�sfejleszt� szeretne egy olyan alkalmaz�st �rni, amelyik kikeresn� a weben az �sszes min�s�tett k�nyv �sszes olvas�i min�s�t�s�t, �s k�sz�tene ezek alapj�n, k�nyvenk�nt, egy �tlagolt min�s�t�st, amit azut�n egy dinamikus weblapon visszatenne a webre. Egy m�sik webhely programja pedig k�s�bb venn� ezt a list�t, �s k�sz�tene ennek alapj�n egy m�sik dinamikus weblapot, mondjuk, "A legmagasabbra �rt�kelt k�nyvek 10-es top-list�ja" c�mmel. Gondoljuk meg, hogy az ilyen alkalmaz�sok szempontj�b�l milyen �ri�si seg�ts�get jelentene egy �ltal�nosan hozz�f�rhet�, k�z�s sz�k�szlet a k�nyvek min�s�t�si fogalmair�l, �s egy m�sik k�z�s sz�k�szlet azokb�l az URI hivatkoz�sokb�l, amelyek a min�s�tett k�nyveket azonos�tj�k. Az RDF alkalmaz�sa lehet�v� teszi az egy�nek sz�m�ra az ilyen sz�k�szletek k�z�s fejleszt�s�t, �s �gy fokozatosan kialakulhat egy k�lcs�n�s �rdekl�d�sre sz�mot tart�, �s egyre n�vekv� k�pess�g� (mert egyre t�bb k�zrem�k�d�t aktiviz�l�) inform�ci�b�zis a k�nyvekr�l a weben. Ugyanez az elv �rv�nyes a t�bbi, hatalmas mennyis�g� �rt�kes inform�ci�ra is, amelyet az emberek nap mint nap produk�lnak t�m�k ezreir�l az interneten.
Az RDF �ll�t�sok nagyon hasonl�ak t�bb m�s, ismert adatform�tumhoz, amelyet inform�ci�k r�gz�t�s�re haszn�lnak, mint p�ld�ul:
Az ilyen form�tum� inform�ci�k (egy minim�lis form�tum-konverzi�val) RDF kijelent�sekk�nt is interpret�lhat�k, lehet�v� t�ve ily m�don, hogy az RDF seg�ts�g�vel sokf�le forr�sb�l adatokat integr�lhassunk.
Nagyon k�nny� lenne az �let, ha a dolgokr�l r�gz�tend� inform�ci�k m�r
eleve a fentebb illusztr�lt, egyszer� RDF kijelent�sek form�j�ban �lln�nak
rendelkez�s�nkre. Sajnos azonban, a val� vil�g legt�bb adata enn�l j�val
�sszetettebb szerkezet�, legal�bbis ami a k�ls� megjelen�s�t illeti. P�ld�ul
a kedvenc p�ld�nkban azt az inform�ci�t, mely a John Smith �ltal kre�lt
weblap keletkez�si d�tum�t r�gz�ti az exterms:creation-date
tulajdons�g �rt�kek�nt, egyetlen t�pus n�lk�li liter�l form�j�ban �br�zoltuk.
De mi lenne, ha ezt a tulajdons�got h�rom, k�l�n is kezelhet� inform�ci�k�nt,
mondjuk �v, h�nap �s nap form�ban kellene r�gz�teni? Vagy, ha John Smith
szem�lyi adatait, mondjuk a lakc�m�t kellene regisztr�lni? Term�szetesen,
ki�rhatn�nk a teljes c�met ak�r egyetlen t�pus n�lk�li liter�l form�j�ban is,
mint ahogy ebben a tripletben tessz�k:
exstaff:85740 exterms:address "1501 Grant Avenue, Bedford, Massachusetts 01730" .
De hogyan j�rn�nk el akkor, ha a c�met egy olyan strukt�ra form�j�ban kellene r�gz�teni, mely k�l�n is kezelhet� adatk�nt �br�zolja az utca, a v�ros, az �llam �s az ir�ny�t�sz�m (street, city, state, �s postal code) �rt�keit? Hogyan lehetne ezt le�rni RDF-ben?
Az eff�le struktur�lt inform�ci�t �gy �br�zoljuk az RDF-ben, hogy az olyan
�sszetett adatot, mint pl. John Smith lakc�me, egy �n�ll� er�forr�snak
tekintj�k, �s azut�n elemi kijelent�seket fogalmazunk meg err�l az �j
er�forr�sr�l. Mivel ehhez az RDF gr�fban el�bb komponenseire kell bontanunk
John Smith c�m�t, ez�rt a c�mfogalom sz�m�ra k�sz�t�nk egy �j csom�pontot,
amelyet egy �j URI hivatkoz�ssal azonos�tunk. (Ez lehet pl.
http://www.example.org/addressid/85740
, amelyet
exaddressid:85740
form�ban r�vid�t�nk). Ezut�n m�r tov�bbi �lek
�s csom�pontok seg�ts�g�vel �br�zolhatjuk az elemi inform�ci�k r�gz�t�s�hez
sz�ks�ges RDF kijelent�seket, amelyek mindegyik�ben az �j csom�pont lesz az
alany, am�g v�g�l ki nem alakul az 5. �br�n l�that�
gr�f:
Ugyanez triplet form�ban �rva:
exstaff:85740 exterms:address exaddressid:85740 . exaddressid:85740 exterms:street "1501 Grant Avenue" . exaddressid:85740 exterms:city "Bedford" . exaddressid:85740 exterms:state "Massachusetts" . exaddressid:85740 exterms:postalCode "01730" .
Az RDF-ben a struktur�lt inform�ci�k �br�zol�sa sz�mos ilyen "k�zb�ls�"
URIref el��ll�t�s�t ig�nyelheti, mint az exaddressid:85740
, ha
sok olyan �sszetett fogalmat kell �br�zolnunk, mint John Smith lakc�me. Mivel
azonban az ilyen seg�dfogalmakra �ltal�ban nem kell az adott gr�fon k�v�lr�l
hivatkozni, ez�rt �ltal�ban nincs is sz�ks�g glob�lis azonos�t�kra az
el�r�s�kh�z. Amikor teh�t gr�ffal �br�zoltuk az 5.
�br�n szerepl� RDF kijelent�seket, a John Smith c�m�hez rendelt URIref
el��ll�t�s�ra �s felt�ntet�s�re nem is lett volna sz�ks�g, hiszen a gr�fot
�gy is megrajzolhattuk volna, ahogy az a 6. �br�n
l�that�:
A 6. �br�n szerepl� gr�f, mely egy teljesen szab�lyos RDF gr�f, egy URIref n�lk�li csom�ponttal �br�zolja a John Smith c�m�nek megfelel� fogalmat. Ez az �res csom�pont bet�lti a c�lj�t a rajzon an�lk�l, hogy sz�ks�g volna egy URIref-re, hiszen ez a csom�pont �nmag�ban is j�l mutatja a kapcsolatokat a gr�f k�l�nb�z� r�szei k�z�tt. (Nem v�letlen, hogy az �res csom�pontokat az [RDF-MS]-ben anonimous resources, azaz n�vtelen er�forr�sok n�ven emlegett�k). Amikor azonban tripletek form�j�ban k�v�njuk le�rni a gr�fot, m�giscsak sz�ks�g�nk lesz valamilyen explicit azonos�t�ra, hogy hivatkozni tudjunk erre az �res csom�pontra. Hogy bel�ssuk ezt, pr�b�ljuk meg RDF mondatokkal le�rni a 6. �br�n l�that� gr�fot! Valami eff�l�t kapn�nk:
exstaff:85740 exterms:address ??? . ??? exterms:street "1501 Grant Avenue" . ??? exterms:city "Bedford" . ??? exterms:state "Massachusetts" . ??? exterms:postalCode "01730" .
ahol a "???" az �res csom�pontot pr�b�lja jelezni. Mivel azonban egy
�sszetettebb gr�f t�bb �res csom�pontot is k�nytelen el��ll�tani, ez�rt
sz�ks�g van egy olyan m�dszerre, amellyel megk�l�nb�ztethetj�k ezeket, amikor
RDF kijelent�sekben hivatkozunk r�juk. Ez�rt a tripletekben �n. �rescsom�pont-azonos�t�kat
haszn�lunk, amelyeket _:name form�ban �runk. A fenti p�ld�ban, mondjuk, a
_:johnaddress
azonos�t�val hivatkozhatn�nk az �res csom�pontra,
mely esetben az al�bbi tripleteket kapn�nk:
exstaff:85740 exterms:address _:johnaddress . _:johnaddress exterms:street "1501 Grant Avenue" . _:johnaddress exterms:city "Bedford" . _:johnaddress exterms:state "Massachusetts" . _:johnaddress exterms:postalCode "01730" .
Egy gr�f tripletes �br�zol�sa sor�n minden �res csom�pont saj�t azonos�t�t kap. De, elt�r�en az URI azonos�t�kt�l �s a liter�lokt�l, az �rescsom�pont-azonos�t�kat nem tekintj�k a gr�f t�nyleges r�sz�nek (ez j�l l�that� a 6. �br�n megrajzolt gr�fon, ahol nincs is felt�ntetve az azonos�t�). Az ilyen azonos�t�k csup�n arra szolg�lnak, hogy amikor a gr�fot tripletek form�j�ban �rjuk le, meg tudjuk k�l�nb�ztetni, hogy melyik �res csom�pontra hivatkozik egy adott kijelent�s. Az ilyen azonos�t�knak csak azokban a tripletekben van megk�l�nb�ztet� �rv�ny�k, amelyek egyetlen gr�fhoz tartoznak. K�t k�l�nb�z� gr�fban az �res csom�pontok azonos�t�s�ra nyugodtan haszn�lhatjuk ugyanazokat az azonos�t�kat, hiszen nem kell att�l tartanunk, hogy ugyanarra a csom�pontra hivatkoznak, mivel ezek lok�lis hat�k�r� azonos�t�k. Persze, ha v�rhat�, hogy egy csom�pontra az adott gr�fon k�v�lr�l is t�rt�nik majd hivatkoz�s, akkor egy URI-t kell hozz�rendeln�nk. �s v�g�l, mivel az ilyen azonos�t�k mindig (�res) csom�pontokat, �s nem �leket azonos�tanak, ez�rt csak a tripletek alanya vagy t�rgya hely�n alkalmazhatjuk �ket; sohasem haszn�lhat�k teh�t az �ll�tm�ny azonos�t�s�ra.
Ennek a szekci�nak az elej�n l�ttuk, hogy az olyan struktur�lt adatokat, mint pl. John Smith c�me, �gy �br�zolhatjuk, hogy egy k�l�n er�forr�snak tekintj�k, �s erre (mint alanyra) vonatkoz�lag k�l�nb�z� �ll�t�sokat tesz�nk. Ez a p�lda az RDF egyik fontos aspektus�t mutatja meg: azt, hogy az RDF kijelent�sei, k�zvetlen�l, csak bin�ris rel�ci�kat k�pesek �br�zolni. P�ld�ul azt a viszonyt, amely John Smith �s a teljes c�m�t �br�zol� egyetlen liter�l k�z�tt fenn�ll. Amikor azonban John Smith, �s a c�m�t alkot� elemi komponensek k�z�tti viszonyt kell �br�zolnunk, akkor m�r n-�ris (n-�g�) rel�ci�r�l besz�l�nk, ahol t�rt�netesen n = 5, hiszen ezt az alanyt 4 t�rgyhoz (utca, v�ros, �llam, ir�ny�t�sz�m) kell kapcsolnunk. Ahhoz teh�t, hogy az ilyen strukt�r�kat k�zvetlen�l RDF-ben �br�zolhassuk, ezt az n-�g� viszonyt fel kell bontani t�bb bin�ris viszonyra. Az �res csom�pontok haszn�lata az egyik lehet�s�g erre. Minden n-�ris rel�ci�ban az egyik r�sztvev� elemet kinevezz�k a rel�ci� alany�nak (eset�nkben ez John Smith), �s egy �res csom�pontot kre�lunk a rel�ci� t�bbi elem�nek a csatlakoztat�sa sz�m�ra (eset�nkben ez John Smith c�me lesz). A rel�ci� t�bbi r�sztvev�j�t (eset�nkben az utca, v�ros, �llam, ir�ny�t�sz�m komponenseket) az �j er�forr�s, vagyis az �res csom�pont (mint alany) k�l�nb�z� tulajdons�gaik�nt �br�zoljuk.
Az �res csom�pontok alkalmaz�sa azt is lehet�v� teszi, hogy pontosabban
fogalmazhassuk meg �ll�t�sainkat az olyan er�forr�sokr�l, amelyeknek esetleg
nincs URI-j�k, de amelyek le�rhat�k m�s, olyan er�forr�sokhoz val� viszonyuk
alapj�n, amelyeknek van URI-j�k. P�ld�ul, amikor kijelent�seket
tesz�nk egy szem�lyr�l (ez�ttal mondjuk Jane Smith-r�l), akkor
k�zenfekv�nek t�nhet egy olyan URI haszn�lata az azonos�t�s�hoz, mint pl. az
e-mail c�me (mondjuk: mailto:[email protected]
). Ez a megold�s
azonban probl�m�kat okozhat. Ilyenkor ugyanis inform�ci�t kell regisztr�lnunk
mind az elektronikus postal�d�j�r�l (pl. a szerver c�m�r�l, amelyen ez
t�rolva van), mind pedig mag�r�l, Jane Smith-r�l (pl. a jelenlegi c�m�r�l,
ahol fizikailag el�rhet�). Ha teh�t egy olyan URI-t haszn�lunk Jane
azonos�t�s�ra, mely az e-mail c�m�n alapszik, akkor neh�z lesz meg�llap�tani,
hogy maga Jane-e az alany, vagy csak az e-postal�d�ja, amelyr�l a
kijelent�seinket megfogalmazzuk. Ugyanez a probl�ma �ll el�, amikor egy c�g
weblapj�nak URL-j�t, mondjuk, a http://www.example.com/
URL-t
mag�nak a c�gnek az URI-jek�nt haszn�ljuk. Itt is ugyanaz a helyzet �ll el�,
mint Jane eset�ben: inform�ci�kat kellene r�gz�ten�nk a weblapr�l, mag�r�l,
(hogy pl. ki k�sz�tette, �s mikor), �s k�l�n a c�gr�l is. Ha m�rmost a
http://www.example.com/
URI-t haszn�ln�nk mindkett�nek az
azonos�t�s�ra, neh�z lenne k�v�lr�l meg�llap�tani, hogy ezek k�z�l melyik a
t�nyleges alany.
Az alapvet� probl�ma az, hogy ha Jane e-mail c�m�t haszn�ln�nk Jane
helyett, ez nem lenne pontos: Jane, �s az e-mail c�me nem ugyanaz a dolog, s
ez�rt ezeket k�l�nb�z�k�ppen kellene azonos�tani. Ha Jane-nek nincs saj�t
URI-je, egy �res csom�pont sokkal alkalmasabb ennek a helyzetnek a
modellez�s�re. Jane-t teh�t egy �res csom�ponttal �br�zoljuk, �s ehhez az
alanyhoz, �ll�tm�nyk�nt, megadjuk az exterms:mailbox
azonos�t�t,
amelynek t�rgy�ra (a mailbox tulajdons�g �rt�k�re) a
mailto:[email protected]
azonos�t�val hivatkozunk. Az �res
csom�pontot egy�bk�nt le�rhatn�nk az rdf:type
tulajdons�ggal is,
amelynek az �rt�ke, mondjuk, az exterms:Person
(Szem�ly)
min�s�tett n�v lehetne. (A t�pusokat a k�vetkez� szekci�ban t�rgyaljuk
b�vebben). �gy teh�t, van egy olyan �res csom�pontunk, amelyr�l most m�r
minden jellemz� inform�ci�t megadhatunk. A nev�t pl. az
exterms:name
tulajdons�g �rt�kek�nt, mely "Jane Smith", az
al�bbi tripletek seg�ts�g�vel adhatjuk meg:
_:jane exterms:mailbox <mailto:[email protected]> . _:jane rdf:type exterms:Person . _:jane exterms:name "Jane Smith" . _:jane exterms:empID "23748" . _:jane exterms:age "26" .
(Figyelj�k meg, hogy az els� tripletben a
mailto:[email protected]
hegyes z�r�jelek k�z�tt van megadva. Ez
az�rt van �gy, mert a mailto:[email protected]
egy teljes URI
s�ma, �s nem egy r�vid�t�s, azaz nem min�s�tett n�v, teh�t hegyes z�r�jelek
k�z� kell tenn�nk a tripletek le�r�s�n�l.)
Ezek a tripletek l�nyeg�ben ezt mondj�k: "adott egy Szem�ly t�pus�
er�forr�s, amelynek az e-postal�d�ja: mailto:[email protected]
, a
neve: Jane Smith stb." Az �res csom�pontot teh�t �gy olvassuk: "adott egy
er�forr�s". Azok a kijelent�sek teh�t, amelyek az �res csom�ponttal megadott
er�forr�sra mint alanyra hivatkoznak, megadhatj�k az �sszes fontos
inform�ci�t err�l az er�forr�sr�l.
A gyakorlatban az �res csom�pontok haszn�lata (ezekben az esetekben URI
hivatkoz�sok helyett) nem �rinti l�nyegesen az ilyen t�pus� inform�ci�k
kezel�s�t. Ha pl. tudjuk, hogy egy e-mail c�m egyedileg azonos�t egy
szem�lyt, mondjuk az example.org c�gn�l (k�l�n�sen, ha a c�g garant�lja, hogy
a c�meket nem haszn�lj�k fel k�tszer), ez m�giscsak alkalmas lehet arra, hogy
t�bbf�le forr�sb�l inform�ci�kat kapcsoljunk ehhez a szem�lyhez akkor is, ha
az e-mail c�m URI-je nem a szem�ly URI-je. Ilyenkor, pl., ha
valamilyen RDF-ben regisztr�lt adatot tal�lunk a weben, amelyik le�r egy
k�nyvet, ahol a szerz� azonos�t�jak�nt csup�n az e-mail c�me (itt:
mailto:[email protected]
) van megadva, akkor c�lszer�, ha
kombin�ljuk ezt az �j inform�ci�t a fenti tripletekben megadottakkal, hiszen
�gy nemcsak azt tudhatjuk meg, hogy a szerz� neve Jane Smith, hanem t�bb m�s
szem�lyi adat�hoz is hozz�juthatunk. A mondanival� itt az, hogy ha valami
ilyesmit k�zl�nk, hogy "a k�nyv szerz�je:
mailto:[email protected]
", akkor ez l�nyeg�ben annak a
kijelent�snek a r�vid�tett form�ja, hogy "a k�nyv szerz�je olyan
valaki, akinek az e-mail c�me mailto:[email protected]
". Az
�res csom�pont haszn�lata ennek a "valakinek" az �br�zol�s�ra csup�n egy
prec�zebb m�dja a val� vil�g egy adott szitu�ci�j�nak a modellez�s�re.
(Egy�bk�nt, egyes RDF alap� s�manyelvek lehet�v� teszik annak a
specifik�l�s�t, hogy bizonyos tulajdons�gok egyedi azonos�t�i azoknak az
er�forr�soknak, amelyeket le�rnak. Ezt az 5.5
szekci� t�rgyalja r�szletesebben.)
Az �res csom�pontok ilyen alkalmaz�sa elker�lhet�v� teszi a liter�lok
alkalmaz�s�t olyan esetekben, amikor ez nem a legjobb megold�s lenne. Ha pl.
Jane k�nyv�nek le�r�sakor a kiad�ja a szerz� URIref-j�nek hi�ny�ban esetleg
ilyen adatokat adna meg (a kiad� saj�t, ex2terms:
nev� bels�
sz�k�szlete seg�ts�g�vel) mint:
ex2terms:book78354 rdf:type ex2terms:Book . ex2terms:book78354 ex2terms:author "Jane Smith" .
akkor ez nem lenne a legjobb megold�s, hiszen a k�nyv szerz�je (ex2terms:author) val�j�ban nem a "Jane Smith" karakterl�nc, hanem egy olyan szem�ly, akinek csak a neve Jane Smith. Ez az inform�ci� sokkal pontosabban megadhat� lenne, ha a kiad� egy �res csom�ponttal azonos�tan� a szerz�t, pl. �gy:
ex2terms:book78354 rdf:type ex2terms:Book . ex2terms:book78354 ex2terms:author _:author78354 . _:author78354 rdf:type ex2terms:Person . _:author78354 ex2terms:name "Jane Smith" .
Ez l�nyeg�ben azt mondja (a kiad� saj�t sz�k�szlet�vel): "a book78354 egy K�nyv (Book) t�pus� er�forr�s, amelynek a szerz�je (author) egy Szem�ly (Person) t�pus� er�forr�s, amelynek a n�v (name) tulajdons�ga: Jane Smith". Term�szetesen, a szerz�k adatainak megad�sakor a kiad� saj�t URI hivatkoz�sokat is hozz�rendelhetne a szerz�kh�z ahelyett, hogy �res csom�pontokat alkalmaz az azonos�t�sukra, mert ezzel lehet�v� tenn�, hogy a szerz�ire k�v�lr�l is hivatkozhassanak (pl. a recenzensek, olvas�k stb.).
�s v�g�l: az egyik fenti p�lda, amelyben �gy adtuk meg Jane �letkor�t,
hogy _:jane exterms:age "26"
, j�l illusztr�lja azt a t�nyt, hogy
b�r egy tulajdons�g �rt�ke egyszer�nek t�nik, a val�s�gban ez sokkal
bonyolultabb valami. Ebben az esetben pl. Jane �letkora t�nylegesen 26
�v, de a tulajdons�g m�rt�kegys�ge (az �v) nincs explicit m�don
megadva. Az eff�le inform�ci�t gyakran kihagyj�k az olyan k�rnyezetben, ahol
biztons�gos m�don felt�telezhet�, hogy aki felkeresi ezt az adatot, az tudja,
hogy milyen m�rt�kegys�gben van megadva. Viszont a Web sz�lesebb
kontextus�ban �ltal�ban nem biztons�gos ilyen felt�telez�ssel �lni.
P�ld�ul az USA-ban, vagy az Egyes�lt Kir�lys�gban egy webhely megadhat egy
s�ly�rt�ket Fontban, egy m�s orsz�gbeli sz�rf�z� pedig azt hiheti, hogy ez a
s�ly Kilogrammban van megadva. �ltal�ban komolyan meg kell fontolnunk, hogy
nem helyesebb-e explicit m�don megadni a m�rt�kegys�geket is az ilyen adatok
�br�zol�s�n�l. Ezzel a k�rd�ssel r�szletesebben a 4.4.
szekci� foglalkozik, mely ismertet egy RDF opci�t az ilyen inform�ci�
megad�s�ra, struktur�lt adat�rt�k form�j�ban, de bemutat m�s technik�kat is a
probl�ma kezel�s�re.
Az el�z� szekci� bemutatta, hogyan kezelhetj�k azokat a szitu�ci�kat,
amikor a t�pus n�lk�li liter�lokkal �br�zolt tulajdons�g�rt�keket fel kell
bontanunk struktur�lt �rt�kekre, hogy ezeket egyenk�nt �br�zolhassuk �s
visszakereshess�k. Ezt a m�dszert alkalmazva, pl. ahelyett, hogy egy weblap
keletkez�si d�tum�t egy exterms:creation-date
tulajdons�g
�rt�kek�nt, egyetlen t�pus n�lk�li liter�llal �br�zoln�nk, ink�bb egy olyan
strukt�r�val �br�zoljuk, mely h�rom �n�ll�, t�pus n�lk�li liter�lb�l �ll,
amelyek �rt�kei rendre: az �v, a h�nap �s a nap. Eddig azonban minden
konstans �rt�k, amelyet RDF kijelent�sek t�rgyak�nt haszn�ltunk, kiz�r�lag
ilyen t�pus n�lk�li (angolul: plain) liter�l volt, akkor is, amikor
l�nyeg�ben sz�m�rt�keket k�v�ntunk megadni (mint pl egy �vsz�m, vagy
egy �letkor), vagy pedig egy m�sfajta, m�g specializ�ltabb �rt�ket.
A 4. �bra p�ld�ul egy olyan RDF gr�fot �br�zolt,
mely John Smith-r�l r�gz�tett inform�ci�kat. Az a gr�f pl. John Smith
exterms:age
(�letkora) tulajdons�g�nak �rt�k�t a "27" t�pus
n�lk�li liter�llal �br�zolta, ahogyan az a 7. �br�n is
megjelenik:
Itt a hipotetikus example.org
c�g nyilv�n sz�mk�nt k�v�nta
�rtelmezni a "27" kifejez�st, �s nem egy olyan karakterl�nck�nt, mely a "2"
�s a "7" karakterekb�l �ll (hiszen ez egy "�letkor" sz�m�rt�ke akar lenni).
Azonban a 7. �bra gr�fj�ban nincs olyan inform�ci�, mely explicit m�don
jelezn�, hogy a "27" kifejez�st sz�mk�nt kell �rtelmezni. Ugyan�gy,
ez a c�g nyilv�n azt szeretn�, ha ezt a "27"-et decim�lis sz�mk�nt
�rtelmezn�k, amelynek �rt�ke 27, �s nem pl. okt�lis sz�mk�nt, amelynek �rt�ke
23. De, sz�gezz�k le ism�t, nincs olyan inform�ci� a 7. �bra gr�fj�ban, amely
explicit m�don jelezn� ezt. Persze, egyes alkalmaz�sokat lehetne �gy
tervezni, hogy az exterms:age
tulajdons�g �rt�k�t automatikusan
decim�lis sz�mnak �rtelmezz�k. �m ez azt jelenten�, hogy az adott RDF k�d
helyes �rtelmez�se olyan inform�ci�t�l f�ggene, ami nincs megadva az RDF
gr�fban, vagyis olyan inform�ci�t�l, ami nem felt�tlen�l �ll rendelkez�sre a
t�bbi alkalmaz�s sz�m�ra, amelyik szint�n szeretn� feldolgozni ezt az RDF
k�dot.
A programoz�si nyelvek �s az adatb�zis-rendszerek ter�let�n elterjedt
gyakorlat az, hogy adatt�pust kapcsolnak a liter�lokhoz (pl.
integer, decimal stb.), amelyb�l egy�rtelm�en kider�l, hogy
mik�nt kell �rtelmezni az adott liter�lt. Az olyan alkalmaz�s, amelyik ismeri
ezt az adatt�pust, az meg tudja �llap�tani, hogy a "10" liter�l, a
t�z vagy a kett� sz�m�rt�ket, vagy egy olyan karakterl�ncot
�br�zol-e, amelyik az "1" �s a "0" karakterekb�l �ll, att�l f�gg�en, hogy az
adatt�pus integer
, binary
, vagy pedig
string
. (Tov�bbi specializ�lt adatt�pusokat is haszn�lhatn�nk,
hogy egy�rtelm�en azonos�thassuk az olyan m�rt�kegys�geket, mint pl. a
"Font" vagy a "Kilogramm
", ahogy az m�r, a 2.3 szekci� v�g�n is felmer�lt, hab�r ebben
a k�nyvben nem dolgoztuk ki ezeket a t�pusokat). Az RDF-ben tipiz�lt (vagyis
t�pussal rendelkez�) liter�lokat haszn�lunk az ilyen inform�ci�k
megad�s�ra.
Az RDF tipiz�lt liter�ljait egy karakterl�ncb�l, �s egy URI hivatkoz�sb�l alak�tjuk ki, ahol az el�bbi a liter�l lexikai megjelen�s�t reprezent�lja, az ut�bbi pedig a t�pus�t azonos�tja. Az RDF gr�fban ezt egy liter�l-csom�ponttal �br�zoljuk, amelyben megjelenik ez a p�ros. A tipiz�lt liter�l �rt�ke az az �rt�k, amit a megadott adatt�pus t�rs�t a megadott karakterl�nchoz. P�ld�ul, egy tipiz�lt liter�l haszn�lat�val John Smith �letkor�t (ami 27 �v) triplet form�j�ban �gy adhatn�nk meg:
<http://www.example.org/staffid/85740> <http://www.example.org/terms/age> "27"^^<http://www.w3.org/2001/XMLSchema#integer> .
vagy, ha alkalmazzuk a min�s�tett n�vvel t�rt�n� r�vid�t�st, akkor �gy:
exstaff:85740 exterms:age "27"^^xsd:integer .
ha pedig gr�ffal k�v�njuk megadni, akkor 8. �br�n l�that� m�don rajzoljuk le:
Hasonl�k�ppen, a 3. �br�n szerepl� gr�fban, amelyik
inform�ci�kat k�z�l egy weblapr�l, az exterms:creation-date
(a
k�sz�t�s d�tuma) tulajdons�g �rt�k�t ezzel a t�pus n�lk�li liter�llal adtuk
meg: "August 16, 1999". Egy tipiz�lt liter�l haszn�lat�val azonban a weblap
k�sz�t�s�nek d�tum�t egy "d�tum" (date) t�pus� liter�llal explicit form�ban
is megadhatn�nk, ahogy az al�bbi triplet mutatja:
ex:index.html exterms:creation-date "1999-08-16"^^xsd:date .
Gr�f seg�ts�g�vel pedig �gy adhatn�nk meg, ahogyan a 9. �bra mutatja:
Szemben a tipikus programoz�si nyelvekkel �s adatb�zis-rendszerekkel, az
RDF-nek nincsenek saj�t, be�p�tett adatt�pusai, mint pl. eg�sz sz�mok,
lebeg�pontos sz�mok, karakterl�ncok vagy d�tumok. Ehelyett az RDF tipiz�lt
liter�lja ink�bb egy egyszer� m�dot biztos�t annak explicit megjel�l�s�re,
hogy milyen adatt�pust kell haszn�lni az adott liter�l �rtelmez�s�hez. Azokat
az adatt�pusokat, amelyeket a tipiz�lt liter�lokhoz haszn�lhatunk, az RDF-en
k�v�l defini�lt�k, �s �n. adatt�pus URI-kkel
azonos�tott�k. (Ez al�l van egy kiv�tel: az RDF defini�l egyetlen be�p�tett
adatt�pust, amelyet az rdf:XMLLiteral
n�vvel azonos�t, �s
amellyel XML tartalmat lehet �br�zolni liter�lis �rt�k form�j�ban. Ezt az
adatt�pust az [RDF-FOGALMAK] dokumentum
defini�lja, haszn�lat�t pedig k�nyv�nk 4.5
szekci�ja ismerteti.) A 8.�br�n �s a 9.�br�n bemutatott p�ld�kn�l m�r haszn�ltuk az
integer
(eg�sz sz�m) �s a date
(d�tum)
adatt�pusokat az XML S�ma adatt�pusai k�z�l, amelyeket az XML Schema Part 2: Datatypes
dokumentum ismertet (a referenci�ja: [XML-SCHEMA2]). Az adatt�pusok ilyen
megval�s�t�s�nak egyik el�nye az a flexibilit�s, hogy az RDF �gy k�zvetlen�l
�br�zolhat k�l�nb�z� forr�sokb�l sz�rmaz� inform�ci�kat an�lk�l, hogy
t�puskonverzi�t kellene v�geznie e forr�sok adatt�pusai, �s saj�t, bels�
adatt�pusai k�z�tt. (Bizonyos konverzi� az�rt m�gis sz�ks�ges, amikor olyan
rendszerek k�z�tt kell adatokat �tvinni, amelyek elt�r� adatt�pus-halmazokkal
dolgoznak, de az RDF ilyenkor sem v�gez extra konverzi�t a szabv�nyos RDF
t�pusokon, sem oda, sem vissza.)
Az RDF adatt�pus-koncepci�ja az XML S�ma adatt�pusok [XML-SCHEMA2] konceptu�lis keret�re �p�l, ahogyan azt Az RDF alapfogalmai �s absztrakt szintaxisa le�rja ([RDF-FOGALMAK]). Ez a konceptu�lis keret �gy defini�lja az adatt�pust, hogy az a k�vetkez� elemeket tartalmazza:
xsd:date
adatt�pusa eset�n ez az �rt�khalmaz a d�tumok
halmaza.xsd:date
adatt�pust �gy defini�lja, hogy a d�tum �br�zol�s�nak leg�lis
liter�l-form�ja 1999-08-16
, �s nem August 16,
1999
. L�sd: [RDF-FOGALMAK]). Egy
adatt�pus lexik�lis tere csakis a [UNICODE]
k�dol�s� karakterl�ncok halmaz�n bel�l lehet, az�rt hogy t�bb nyelven is
megval�sulhasson az inform�ci� k�zvetlen �br�zol�sa.lexik�lis-->
�rt�k
t�pus� lek�pez�st, mely az adat lexik�lis ter�t, annak �rt�kter�re k�pezi
le. Vagyis, azt hat�rozza meg, hogy a lexik�lis t�r egy adott
karakterl�nca milyen konkr�t adat�rt�ket �br�zol egy meghat�rozott
adatt�pus eset�n. P�ld�ul az xsd:date
adatt�pus
lexik�lis-->�rt�k
lek�pez�se azt hat�rozza meg,
hogy enn�l az adatt�pusn�l az 1999-08-16
karakterl�nc az
1999. augusztus 16. d�tumot jelenti. A lexik�lisr�l
�rt�kre t�rt�n� lek�pez�s egy fontos t�nyez�, mert ugyanez a karakterl�nc
m�s-m�s �rt�ket jelenthet a k�l�nb�z� adatt�pusok sz�m�ra.Nem minden adatt�pus alkalmas az RDF-ben t�rt�n� haszn�latra. Ahhoz, hogy
egy adatt�pus alkalmas legyen az RDF c�ljaira, bele kell illeszkednie a fenti
konceptu�lis keretbe. Ez l�nyeg�ben azt jelenti, hogy ha adott egy
karakterl�nc, az adatt�pusnak egy�rtelm�en defini�lnia kell, hogy ez az
adatt�pus a lexik�lis ter�n bel�l van-e, �s hogy annak �rt�kter�ben milyen
�rt�ket reprezent�l. P�ld�ul az alapvet� XML S�ma adatt�pusok, mint
xsd:string
, xsd:boolean
, xsd:date
stb.
alkalmasak az RDF-ben t�rt�n� haszn�latra. N�h�ny XML S�ma adatt�pus azonban
nem tartozik ebbe a k�rbe. P�ld�ul az xsd:duration
nem
rendelkezik egy j�l defini�lt �rt�kt�rrel, az xsd:QName
pedig
csak XML kontextusba �gyazva haszn�lhat�. Azt a list�t, amelyik felsorolja,
hogy az XML S�ma adatt�pusai k�z�l melyek alkalmasak az RDF-ben t�rt�n�
alkalmaz�sra, �s melyek nem, az [RDF-SZEMANTIKA] tartalmazza.
Mivel egy adott tipiz�lt liter�l jelent�s�t annak adatt�pusa defini�lja,
�s mivel az rdf:XMLLiteral
kiv�tel�vel az RDF nem defini�l saj�t
adatt�pusokat, ez�rt az RDF gr�fban megjelen� tipiz�lt liter�lok t�nyleges
interpret�ci�j�t (vagyis annak az �rt�knek a meghat�roz�s�t, amelyet ezek a
liter�lok �br�zolnak), egy szoftvernek kell elv�geznie, amelyet �gy �rtak
meg, hogy ne csup�n az RDF k�dot, hanem a liter�lok adatt�pusait is korrekt
m�don fel tudja dolgozni. Val�j�ban teh�t ennek a szoftvernek egy
kiterjesztett nyelvet kell feldolgoznia, mely az RDF-en k�v�l az
adatt�pusokat is tartalmazza, mintha ezek az RDF be�p�tett sz�k�szlet�hez
tartozn�nak. Ez felveti azt a k�rd�st, hogy mely adatt�pusok �ltal�nosan
hozz�f�rhet�k az RDF szoftverben. �ltal�ban az XML S�ma adatt�pusok azok,
amelyeket ide sorol az [RDF-SZEMANTIKA].
Ezeknek amolyan "els�k az egyenl�k k�z�tt" st�tusuk van az RDF-ben. Mint m�r
eml�tett�k, a 8. �s 9. �bra
p�ld�i m�r haszn�ltak n�h�nyat ezekb�l az XML S�ma adatt�pusokb�l, de a
k�nyv�nk tov�bbi r�sz�ben bemutatand� p�ld�ink legt�bbj�ben is haszn�lunk
ilyen tipiz�lt liter�lokat. (Az XML S�ma adatt�pusokhoz m�r eleve hozz�
vannak rendelve a megfelel� URI hivatkoz�sok, ezekre teh�t b�rmikor
hivatkozhatunk, l�sd az [XML-SCHEMA2]-n�l)
Ezeket az adatt�pusokat egy�bk�nt ugyan�gy kezelj�k, mint b�rmilyen m�s
adatt�pust; az els�bbs�g�ket csup�n az indokolja, hogy v�rhat�lag sz�lesebb
k�rben elterjednek, �s �gy "hordozhat�ak" lesznek a k�l�nb�z� szoftverek
k�z�tt. Ennek eredm�nyek�nt pedig egyre t�bb olyan szoftvert �rnak majd,
amelyek fel tudj�k dolgozni ezeket az adatt�pusokat. Persze, �rhatunk olyan
RDF szoftvert is, amely m�s adatt�pusokat is fel tud dolgozni, felt�ve, hogy
azok beleillenek az RDF keretbe (ennek krit�riumait fentebb m�r ismertett�k).
El�fordulhat, hogy egy RDF szoftvert�l azt k�rik, hogy dolgozzon fel olyan
RDF adatt�pusokat, amelyek kezel�s�re nem k�sz�tett�k fel. Ilyenkor lesz
n�h�ny olyan feladat, amit a szoftver nem tud elv�gezni. P�ld�ul: minthogy az
rdf:XMLLiteral
kiv�tel�vel az RDF nem defini�lja azokat az URI
hivatkoz�sokat, amelyek az adatt�pusokat azonos�tj�k, �gy egy RDF szoftver,
hacsak nem �gy �rt�k meg, hogy meghat�rozott URI hivatkoz�sokat felismerjen,
azt sem tudja meg�llap�tani, hogy egy tipiz�lt liter�lban szerepl� URI
hivatkoz�s l�tez� adatt�pusra mutat-e egy�ltal�n. Tov�bb�: m�g akkor is, ha
egy URI hivatkoz�s l�tez� adatt�pust azonos�t, az RDF maga nem defini�lja az
adott liter�l �s az adott adatt�pus �sszep�ros�t�s�nak az �rv�nyess�g�t. Ezt
az �rv�nyess�get csak a szoftver�nk tudja meg�llap�tani, ha �gy programoztuk,
hogy fel tudja dolgozni ezt a bizonyos adatt�pust.
Tekints�k p�ld�ul azt a tipiz�lt liter�lt, mely az al�bbi tripletben szerepel:
exstaff:85740 exterms:age "pumpkin"^^xsd:integer .
vagy pillantsunk az al�bbi gr�fra a 10. �br�n:
L�thatjuk, hogy noha mindk�t esetben (formailag) �rv�nyes RDF �br�zol�ssal
van dolgunk, az m�gis nyilv�nval�an hib�s, hiszen az xsd:integer
adatt�pushoz p�ros�tott "pumpkin" liter�l nincs benne az eg�sz sz�m
(integer) adatt�pus lexik�lis ter�ben. Az olyan RDF szoftver, teh�t, amelyet
nem �gy �rtak meg, hogy fel tudja dolgozni az xsd:integer
adatt�pust, nem lenne k�pes felismerni ezt a hib�t.
Ha azonban az RDF tipiz�lt liter�lokat megfelel�en kezelj�k, akkor t�bb inform�ci� �ll rendelkez�s�nkre a liter�lis �rt�kek helyes interpret�ci�j�hoz, ami alkalmasabb� teszi az RDF kijelent�seket az alkalmaz�sok k�z�tti inform�ci�cser�re.
Eg�sz�ben v�ve, az RDF l�nyeg�ben egyszer�: csom�pont-�l-csom�pont diagramok, amelyeket URI hivatkoz�sokkal azonos�tott dolgokr�l sz�l� kijelent�sekk�nt �rtelmez�nk. Ez a szekci� egy bevezet�st adott ezekhez a fogalmakhoz. Mint kor�bban m�r megjegyezt�k, ezeknek a fogalmaknak a normat�v (azaz a definit�v) specifik�ci�ja Az RDF alapfogalmai �s absztrakt szintaxisa dokumentumban, e dokumentum referenci�ja pedig az[RDF-FOGALMAK] linken kereszt�l �rhet� el. Tov�bbi inform�ci�k�rt c�lszer� ehhez a dokumentumhoz fordulni. Ezeknek a fogalmaknak a form�lis szemantik�j�t, azaz a pontos jelent�s�t Az RDF Szemantik�ja c�m� (normat�v) dokumentum �rja le.
Azonban azt is vil�gosan kell l�tnunk, hogy az itt t�rgyalt alapvet� technik�k mellett, amelyekkel RDF kijelent�sek form�j�ban le�rhatjuk a dolgokat, az embereknek vagy szervezeteknek sz�ks�g�k van egy olyan m�dszerre is, amellyel le tudj�k �rni azt a sz�k�szletet (azt a specifikus terminol�gi�t), amelyet az ilyen kijelent�sek sz�kincsek�nt haszn�lni k�v�nnak, �s ezen bel�l is, k�l�n�sen az olyan kifejez�seket, amelyekkel:
exterms:Person
)exterms:age
�s
exterms:creation-date
), valamintexterms:age
tulajdons�g �rt�k�nek mindig xsd:integer
t�pus�nak kell
lennie).Az ilyen sz�k�szletek RDF-ben t�rt�n� le�r�s�nak elemei Az RDF Sz�k�szlet Le�r� Nyelv 1.0: RDF S�ma ([RDF-SZ�K�SZLET]) dokumentumban tal�lhat�k, amelyek gyakorlati alkalmaz�s�t k�nyv�nk 5. fejezete ismerteti.
A [WEBDATA] dokumentumban tov�bbi h�tt�r-inform�ci�k tal�lhat�k az RDF alapelveir�l, valamint az RDF-nek arr�l a szerep�r�l, hogy �ltal�nos nyelvet biztos�t a webes inform�ci�k le�r�s�hoz. Az RDF felhaszn�l elveket �s megold�sokat a tud�s�br�zol�s, a mesters�ges intelligencia �s az adatmenedzsment ter�let�r�l, bele�rtve a konceptu�lis gr�fokat, a logikai alap� tud�s�br�zol�st, a keretrendszereket �s a rel�ci�s adatb�zisokat. Az ilyen t�m�kkal kapcsolatos h�tt�r-inform�ci�k esetleges forr�saik�nt j�l haszn�lhat�k pl. ezek az anyagok: [SOWA], [CG], [KIF], [HAYES], [LUGER], [GRAY].
Mint m�r a 2. fejezetben eml�tett�k, az RDF konceptu�lis modellje egy gr�f. Az RDF rendelkezik egy XML szintaxissal, amelyet az RDF gr�fok le�r�s�ra �s alkalmaz�sok k�z�tti cser�j�re haszn�l; ennek a neve: RDF/XML. A tripletekkel szemben, amelyek egy r�vid�tett �r�sm�dot haszn�lnak, az RDF/XML az RDF �r�s�nak normat�v szintaxisa. Ezt Az RDF/XML szintaxis specifik�ci�ja [RDF-SZINTAXIS] defini�lja. A jelen szekci� err�l a szintaxisr�l sz�l.
Azok az alapelvek, amelyeken az RDF nyugszik, j�l illusztr�lhat�k n�h�ny olyan p�ld�val, amelyet kor�bban m�r bemutattunk. Vegy�k els�nek az al�bbi, ny�lt sz�veg� angol mondatot, mely magyarul kb. �gy hangzik "az ...index.html weblapnak van egy keletkez�si d�tuma, amelynek �rt�ke 1999. augusztus 16."
http://www.example.org/index.html
has a creation-date whose value is August 16,
1999
Ha feltessz�k, hogy m�r hozz�rendelt�nk egy URI hivatkoz�st a
creation-date
(keletkez�si d�tuma) tulajdons�ghoz, akkor az az
RDF gr�f, amely ezt az egyetlen mondatot le�rja, �gy jelenne meg, ahogy az a
11. �br�n l�that�:
Ugyanez tripletes �br�zol�sban:
ex:index.html exterms:creation-date "August 16, 1999" .
(Figyelj�k meg, hogy ebben a p�ld�ban a d�tum �rt�k�nek �br�zol�s�ra nem tipiz�lt liter�lt haszn�ltunk. Az ilyen liter�lok RDF/XML-ben t�rt�n� �br�zol�s�ra ebben a fejezetben m�g visszat�r�nk.)
A 2. p�lda bemutatja a 11. �br�nak megfelel� RDF/XML szintaxist:
1. <?xml version="1.0"?> 2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 3. xmlns:exterms="http://www.example.org/terms/"> 4. <rdf:Description rdf:about="http://www.example.org/index.html"> 5. <exterms:creation-date>August 16, 1999</exterms:creation-date> 6. </rdf:Description> 7. </rdf:RDF>
(A sorok sz�moz�sa csak a p�lda magyar�zat�nak a k�nny�t�s�t szolg�lja.)
Ez a le�r�s t�ls�gosan b�besz�d�nek t�nhet, ez�rt k�nnyebb lesz meg�rteni, hogy mir�l is van sz�, ha egyenk�nt megvizsg�ljuk az XML sz�veg sorait (a B. f�ggel�k egy�bk�nt tartalmaz egy r�vid bevezet�st az XML-hez).
Az 1. sor <?xml version="1.0"?>
tegje az XML
deklar�ci�t tartalmazza, mely azt adja meg, hogy a k�vetkez� tartalom
XML-ben, �s hogy milyen verzi�j� XML-ben van �br�zolva.
A 2. sorban szerepl� rdf:RDF
teggel megnyitunk egy elemet,
mely azt jelzi, hogy a k�vetkez� XML tartalom, mely a 7. sorban az
</rdf:RDF>
z�r�teggel �r v�get, RDF adatokat �br�zol. Az
rdf:RDF
nyit�teget k�vet�en, ugyanebben a sorban l�thatunk egy
XML n�vt�r-deklar�ci�t, amelyet az RDF elem xmlns
attrib�tumak�nt adunk meg. Ez a
deklar�ci� azt mondja ki, hogy minden olyan n�v ebben a kontextusban,
amely az rdf:
prefixet viseli, annak a n�vt�rnek a r�sze,
amelyet az attrib�tum �rt�kek�nt megadott
http://www.w3.org/1999/02/22-rdf-syntax-ns#
n�vt�r-URIref azonos�t. �gy teh�t azok az URIref-ek, amelyek ezzel
a hossz� karakterl�nccal kezd�dnek, az RDF sz�k�szlet kifejez�seit jel�lik
meg.
A 3. sorban egy m�sodik XML n�vt�r-deklar�ci� l�that�, ez�ttal az
exterms:
prefix sz�m�ra. Ezt a deklar�ci�t az
rdf:RDF
elem m�sodik xmlns
attrib�tuma adja meg, �s
azt specifik�lja, hogy a http://www.example.org/terms/
teljes
n�vt�r-URIref prefixet az exterms:
min�s�tettn�v-prefixhez
asszoci�ljuk. �gy teh�t azok az URIref-ek, amelyek
ezzel a karakterl�nccal kezd�dnek, ahhoz a sz�k�szlethez tartoznak, amelyet a
p�ldabeli c�g: az example.org defini�lt. A ">" karakter, a 3. sor
v�g�n, a nyit� rdf:RDF
teg v�g�t jel�li. Az 1-3 sorok teh�t
�ltal�nos inform�ci�kat tartalmaznak az RDF/XML tartalom "kezel�s�r�l",
valamint deklar�lj�k az RDF/XML tartalmon bel�l haszn�lt n�vtereket.
A 4-6. sorok azt az RDF/XML k�dot tartalmazz�k, amely le�rja 11. �br�n szerepl� specifikus kijelent�st. K�zenfekv�
dolog teh�t �gy besz�lni egy RDF kijelent�sr�l, hogy az egy le�r�s
(description), mely az alanyr�l sz�l. Eset�nkben az alanyt a
http://www.example.org/index.html
URI azonos�tja. Az RDF/XML-ben
a kijelent�sek �br�zol�s�nak szok�sos m�dja a k�vetkez�: A 4. sorban l�that�
rdf:Description
nyit�teg jelzi az er�forr�s le�r�s�nak a
kezdet�t, amelyet szorosan k�vet annak az er�forr�snak (a kijelent�s
alany�nak) az azonos�t�sa amelyr�l (about) a kijelent�s sz�l. Ez az
rdf:about
attrib�tum seg�ts�g�vel t�rt�nik, amelynek �rt�ke az
er�forr�st (alanyt) azonos�t� URIref. Az 5. sor a tulajdons�g-elemet �br�zolja, amit az
exterms:creation-date
min�s�tett n�v (mint nyit�teg) jel�l meg,
�s amely a kijelent�s �ll�tm�ny�t azonos�tja. Az
exterms:creation-date
min�s�tett nevet �gy v�lasztottuk ki, hogy
amikor a lok�lis creation-date
nevet az exterms:
prefixhez asszoci�lt n�vt�r-URIref
(http://www.example.org/terms/
) v�g�hez illesztj�k, akkor
megkapjuk az �ll�tm�ny teljes azonos�t�j�t, ami ily m�don
http://www.example.org/terms/creation-date
lesz. Ennek a tulajdons�g-elemnek a tartalma a kijelent�s t�rgya, amit az
"August 19, 1999
" tipiz�lt liter�l �br�zol (�s ami nem m�s, mint
az er�forr�s/alany "creation-date" tulajdons�g�nak az
�rt�ke). A tulajdons�g-elem bele van �gyazva az
rdf:Description
elembe, ami azt jelzi, hogy ez a tulajdons�g
arra az er�forr�sra vonatkozik, amelyet az rdf:Description
elem
rdf:about
attrib�tum�val adunk meg. A 6. sorban l�that� ennek a
specifikus rdf:Description
elemnek a z�r�tegje.
�s v�g�l: a 7. sorban l�thatjuk a 2. sorban megnyitott
rdf:RDF
elem z�r�tegj�t. Az rdf:RDF
elem haszn�lata
az RDF/XML tartalom k�zrefog�s�ra azonban opcion�lis az olyan esetekben, ahol
a kontextusb�l kider�l, hogy RDF/XML tartalomr�l van sz�. Ezt az [RDF-SZINTAXIS] t�rgyalja b�vebben. Sohasem �rthat
azonban, ha megadjuk az RDF elemet; a tank�nyv�nkben is t�bbnyire �gy j�runk
el.
A 2. p�lda bemutatta azokat az alapvet� megold�sokat, amelyeket az RDF/XML haszn�l egy RDF gr�f k�dol�s�ra: az XML elemeket, az attrib�tumokat, az elem tartalm�t �s az attrib�tum �rt�k�t. Az �ll�tm�nyok URI hivatkoz�sait (ugyan�gy, mint n�h�ny csom�pont�t) XML min�s�tett nevekkel jel�lt�k meg, amelyek egy r�vid prefixet (el�t�t-nevet) tartalmaznak, ami a n�vt�r-URI-t helyettes�ti, �s amelyhez ut�n�vk�nt egy lok�lis n�v j�rul, amelyek �gy egy�tt egy n�vt�rrel min�s�tett elemet vagy attrib�tumot alkotnak, ahogyan azt a B. f�ggel�k le�rja. Ez a n�vp�r (vagyis a n�vt�r-URIref �s a lok�lis n�v) reprezent�lja a megjel�lend� gr�fcsom�pont vagy �l (�ll�tm�ny) teljes URI hivatkoz�s�t. Az alanyt �br�zol� csom�pontok URI hivatkoz�sait XML attrib�tum-�rt�kk�nt adtuk meg, �s n�ha ugyan�gy adjuk meg a t�rgyat �br�zol� csom�pont URI hivatkoz�s�t is. A liter�lis csom�pontok, amelyek mindig t�rgyat jel�l� csom�pontok, a tulajdons�g-elemek sz�vegtartalmak�nt vagy attrib�tum-�rt�kek�nt jelennek meg. (Tank�nyv�nk tov�bbi r�sz�ben m�g t�bbet bemutatunk ezek k�z�l a lehet�s�gek k�z�l, de az �sszes ilyen opci�t csak az [RDF-SZINTAXIS] sorolja fel.)
Egy t�bb kijelent�st �br�zol� RDF gr�f egyes kijelent�seit a 2. p�lda 4-6. sor�ban bemutatotthoz hasonl� m�dszerrel �br�zoljuk RDF/XML-ben. P�ld�ul az al�bbi k�t kijelent�st, amelyet kor�bbi p�ld�kb�l m�r ismer�nk:
ex:index.html exterms:creation-date "August 16, 1999" . ex:index.html dc:language "en" .
RDF/XML-ben a 3. p�ld�ban bemutatott m�don �rhatjuk le:
1. <?xml version="1.0"?> 2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 3. xmlns:dc="http://purl.org/dc/elements/1.1/" 4. xmlns:exterms="http://www.example.org/terms/"> 5. <rdf:Description rdf:about="http://www.example.org/index.html"> 6. <exterms:creation-date>August 16, 1999</exterms:creation-date> 7. </rdf:Description> 8. <rdf:Description rdf:about="http://www.example.org/index.html"> 9. <dc:language>en</dc:language> 10. </rdf:Description> 11. </rdf:RDF>
A 3. p�lda ugyanolyan, mint a 2. p�lda, azzal a k�l�nbs�ggel, hogy ebben megadtunk egy
m�sodik rdf:Description
elemet is (a 8-10. sorokban), hogy ezzel
le�rjuk a m�sodik kijelent�st. (Egy tov�bbi n�vt�r-deklar�ci�t is megadtunk a
3. sorban, hogy ez �ltal azonos�tsuk a m�sodik kijelent�s �ll�tm�ny�nak a
dc
n�vter�t.) Tetsz�leges sz�m� tov�bbi kijelent�st �rhatn�nk
ugyanilyen m�don, egy-egy rdf:Description
elem hat�lya alatt.
Amint azt a 3. p�lda is mutatja, ha egyszer m�r megadtuk az XML deklar�ci�t, valamint a haszn�lt n�vterek deklar�ci�j�t, minden tov�bbi RDF kijelent�s hozz�ad�sa m�r rutinszer�en megy, �s szerkezet�k sem t�l bonyolult.
Az RDF/XML szintaxis egy�b r�vid�t�si lehet�s�geket is biztos�t, hogy a
gyakrabban el�fordul� dolgokat egyszer�bben le�rhassuk. P�ld�ul, amikor egy
adott er�forr�st egyszerre t�bb tulajdons�ggal, illetve �rt�kkel kell
jellemezn�nk (ahogyan az a 3. p�ld�ban is el�fordult,
ahol az ex:index.html
er�forr�s t�bb kijelent�s alanya), akkor
ezeket tipikusan egyetlen rdf:Description
elembe �gyazva adjuk
meg, amelyik ilyenkor az �sszes �ll�tm�ny alany�t reprezent�lja. P�ldak�ppen
�br�zoljuk a k�vetkez� h�rom kijelent�st a
http://www.example.org/index.html
alanyr�l:
ex:index.html dc:creator exstaff:85740 . ex:index.html exterms:creation-date "August 16, 1999" . ex:index.html dc:language "en" .
Ennek a gr�fja (mely ugyanaz, mint a 3. �br��) a 12. �br�n l�that�:
Ennek a gr�fnak az RDF/XML le�r�s�t pl. a 4. �br�n l�that� m�don adhatn�nk meg:
1. <?xml version="1.0"?> 2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 3. xmlns:dc="http://purl.org/dc/elements/1.1/" 4. xmlns:exterms="http://www.example.org/terms/"> 5. <rdf:Description rdf:about="http://www.example.org/index.html"> 6. <exterms:creation-date>August 16, 1999</exterms:creation-date> 7. <dc:language>en</dc:language> 8. <dc:creator rdf:resource="http://www.example.org/staffid/85740"/> 9. </rdf:Description> 10. </rdf:RDF>
Az el�z� k�t p�ld�hoz k�pest, a 4. p�lda egy
tov�bbi tulajdons�got (dc:creator
) ad meg, mely a 8. sorban
l�that�. Tov�bb�, a h�rom tulajdons�g-elem, amelynek az alany�t a
http://www.example.org/index.html
URI azonos�tja, egyetlen
rdf:Description
elembe van be�gyazva ahelyett, hogy h�rom ilyen
elem keret�ben adn�nk meg a h�rom tulajdons�got.
Emellett, a 8. sorban, bevezett�k a tulajdons�g-elemek megad�s�nak egy �j
form�j�t is. Figyelj�k meg, hogy a 7. sorban szerepl�
dc:language
elem le�r�sa hasonl� a 6. sorban l�that�
exterms:creation-date
elem le�r�s�hoz, amelyet m�r haszn�ltunk a
2. p�ld�ban. E k�t elem mindegyik�ben a tulajdons�g
�rt�k�t t�pus n�lk�li liter�llal �br�zoltuk, �s mint ilyent, a megfelel�
tulajdons�g-elem nyit�- �s z�r�tegje k�z� kellett �rnunk. A 8. sorban l�v�
dc:creator
elem azonban egy olyan tulajdons�got reprezent�l,
amelynek az �rt�ke egy k�l�n er�forr�s, teh�t nem egy liter�l. Ha teh�t ennek
az er�forr�snak az URI-j�t a dc:creator
elem tegp�rja k�z�
�rn�nk, akkor ezzel azt mondan�nk, hogy a "creator" (szerz�je) tulajdons�g
�rt�ke a "http://www.example.org/staffid/85740" karakterl�nc, �s nem egy
olyan URIref, mely az �rt�ket azonos�tja. Hogy jel�lhess�k ezt az alapvet�
k�l�nbs�get, egy olyan valamit kell haszn�lnunk, amelyet az XML �res elem
teg-nek (empty-element tag) nevez, �s amelyr�l tudnunk kell, hogy nincs
k�l�n z�r�tegje. Ebben az �res dc:creator
elemben a tulajdons�g
�rt�k�t �br�zol� URI hivatkoz�st az elem rdf:resource
attrib�tum�nak �rt�kek�nt adjuk meg. Az rdf:resource
attrib�tum
azt jelzi, hogy az elem �rt�ke egy k�l�n er�forr�s, amelyet az URI
hivatkoz�sa azonos�t. Minthogy ezt az URI hivatkoz�st itt egy attrib�tum
�rt�kek�nt kell megadni, az RDF/XML elv�rja, hogy ezt abszol�t vagy relat�v
form�ban, de mindig teljesen ki�rjuk. Vagyis, ezt nem r�vid�thetj�k le egy
min�s�tett n�vre, ahogyan azt megtehett�k az elemek �s az attrib�tumok
nevei eset�ben. (Az abszol�t �s relat�v URI hivatkoz�sok t�m�j�t az
A. f�ggel�k t�rgyalja.)
Fontos, hogy meg�rts�k: a 4. p�lda RDF/XML k�dja egy r�vid�tett v�ltozat. Az 5. p�ld�ban szerepl� RDF/XML k�dban minden kijelent�st k�l�n �rtunk, �s ez pontosan ugyanazt az RDF gr�fot �rja le, mint a 4. p�lda (azaz a 12. �br�n l�that� gr�fot):
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exterms="http://www.example.org/terms/"> <rdf:Description rdf:about="http://www.example.org/index.html"> <exterms:creation-date>August 16, 1999</exterms:creation-date> </rdf:Description> <rdf:Description rdf:about="http://www.example.org/index.html"> <dc:language>en</dc:language> </rdf:Description> <rdf:Description rdf:about="http://www.example.org/index.html"> <dc:creator rdf:resource="http://www.example.org/staffid/85740"/> </rdf:Description> </rdf:RDF>
A tov�bbi szekci�kban m�g le�runk n�h�ny m�s RDF/XML r�vid�t�si lehet�s�get is. (Az [RDF-SZINTAXIS] dokumentum tartalmazza az �sszes olyan r�vid�t�st, amely alkalmazhat� RDF/XML-ben.)
Az RDF/XML-ben �br�zolhatunk olyan gr�fokat is, amelyekben �res csom�pontok vannak. (Mint m�r a 2.3 szekci�ban le�rtuk, ezek olyan csom�pontok, amelyekhez nem tartozik URIref). P�ld�ul, a 13. �bra, amelyet az [RDF-SZINTAXIS] dokumentumb�l vett�nk �t, egy olyan gr�fot jelen�t meg, mely azt mondja: "A 'http://www.w3.org/TR/rdf-syntax-grammar' URL-lel azonos�tott dokumentum c�me: 'RDF/XML Syntax Specification (Revised)', ennek van egy szerkeszt�je, �s a szerkeszt�nek a neve: 'Dave Beckett', a honlapja pedig: 'http://purl.org/net/dajobe/' ".
Ez a gr�f egy olyan alapelvet illusztr�l, amelyet a 2.3 szekci�ban m�r t�rgyaltunk: az �res csom�pont haszn�lat�t olyan valaminek az �br�zol�s�ra, aminek nincs URI-je de le�rhat� m�s inform�ci�k megad�s�val. Eset�nkben az �res csom�pont egy szem�lyt �br�zol, a dokumentum szerkeszt�j�t, akit a nev�vel �s a honlapj�val �runk le.
Az RDF/XML-ben t�bb m�dszer is van az olyan gr�fok �br�zol�s�ra, amelyek
�res csom�pontokat tartalmaznak (az [RDF-SZINTAXIS] dokumentumban ez mind
megtal�lhat�). Az a m�dszer, amit itt illusztr�lunk (�s ami a legk�zvetlenebb
m�dszer), abb�l �ll, hogy egy �rescsom�pont-azonos�t�t rendel�nk minden �res
csom�ponthoz. Az ilyen azonos�t� csak egyetlen adott RDF/XML dokumentumon
bel�l k�pes egy �res csom�pontot azonos�tani: abban, amelyben allok�lt�k,
teh�t szemben az URI hivatkoz�sokkal, az adott dokumentumon k�v�l ez
ismeretlen. Az �res csom�pontra az RDF-ben az rdf:nodeID
attrib�tum seg�ts�g�vel hivatkozunk, amelynek az �rt�ke egy
�rescsom�pont-azonos�t�. Ez az azonos�t� az RDF/XML k�d olyan helyein
haszn�lhat�, ahol egy�bk�nt egy er�forr�s URIref-je is megjelenhetne.
Specifikusan, az olyan kijelent�seket, amelyeknek az alanya egy �res
csom�pont, az RDF/XML-ben egy olyan rdf:Description
elemmel is
le�rhatjuk, amelyben az rdf:about
helyett egy
rdf:nodeID
attrib�tumot haszn�lunk az alany azonos�t�s�ra.
Hasonl�k�ppen, az olyan kijelent�seket, amelyeknek a t�rgya egy �res
csom�pont, egy olyan tulajdons�g-elemmel �rhatjuk le, amelyben a t�rgy
azonos�t�j�t az rdf:resource
helyett egy rdf:nodeID
attrib�tummal adjuk meg. A 6. p�lda azt mutatja be,
hogy az rdf:nodeID
seg�ts�g�vel hogyan lehet RDF/XML-ben le�rni
a 13. �br�n szerepl� gr�fot:
1. <?xml version="1.0"?> 2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 3. xmlns:dc="http://purl.org/dc/elements/1.1/" 4. xmlns:exterms="http://example.org/stuff/1.0/"> 5. <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> 6. <dc:title>RDF/XML Syntax Specification (Revised)</dc:title> 7. <exterms:editor rdf:nodeID="abc"/> 8. </rdf:Description> 9. <rdf:Description rdf:nodeID="abc"> 10. <exterms:fullName>Dave Beckett</exterms:fullName> 11. <exterms:homePage rdf:resource="http://purl.org/net/dajobe/"/> 12. </rdf:Description> 13. </rdf:RDF>
A 6. p�lda 9. sor�ban, az abc
�rescsom�pont-azonos�t�t haszn�ltuk a t�bb kijelent�s alany�t jelk�pez� �res
csom�pont azonos�t�s�ra. Ugyanezt az azonos�t�t haszn�ltuk a 7. sorban annak
megjel�l�s�re is, hogy ez az �res csom�pont az alany (azaz a weblap)
exterms:editor
(szerkeszt�je) tulajdons�g�nak az �rt�ke. Az
�rescsom�pont-azonos�t� haszn�lat�nak az az el�nye a t�bbi m�dszerrel
szemben, amelyet az [RDF-SZINTAXIS] le�r, hogy
ennek seg�ts�g�vel egy RDF/XML dokumentum t�bb hely�r�l is hivatkozhatunk
ugyanarra az �res csom�pontra.
�s v�g�l, az RDF/XML-ben a 2.4 szekci�ban
megismert tipiz�lt liter�lok is haszn�lhat�k tulajdons�gok
�rt�kek�nt, azok helyett a t�pus n�lk�li liter�lok helyett, amelyeket az
eddigi p�ld�inkban haszn�ltunk. Egy tipiz�lt liter�lt �gy �br�zolunk, hogy a
tulajdons�g-elemhez, mely k�zrefogja a liter�lt, egy
rdf:datatype
attrib�tumot adunk, amelynek �rt�ke egy, a liter�l
adatt�pus�t azonos�t� URIref.
Ha p�ld�ul meg akarn�nk v�ltoztatni a 2. p�ld�ban
szerepl� kijelent�st �gy, hogy tipiz�lt liter�lt haszn�ljon t�pus n�lk�li
helyett, az exterms:creation-date
tulajdons�g �rt�kek�nt, akkor
annak tripletes �br�zol�sa �gy n�zne ki:
ex:index.html exterms:creation-date "1999-08-16"^^xsd:date .
Ugyanez a kijelent�s RDF/XML szintaxissal le�rva a 7. p�ld�ban szeml�lhet�:
1. <?xml version="1.0"?> 2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 3. xmlns:exterms="http://www.example.org/terms/"> 4. <rdf:Description rdf:about="http://www.example.org/index.html"> 5. <exterms:creation-date rdf:datatype= "http://www.w3.org/2001/XMLSchema#date">1999-08-16 </exterms:creation-date> 6. </rdf:Description> 7. </rdf:RDF>
A 7. p�lda 5. sor�ban egy tipiz�lt liter�l van
megadva az exterms:creation-date
("keletkez�si d�tuma")
tulajdons�g-elemben oly m�don, hogy annak nyit�tegj�ben egy
rdf:datatype
attrib�tum jelzi a liter�l adatt�pus�t. Ennek az
attrib�tumnak az �rt�ke egy adatt�pus URIref-je, ami eset�nkben a
date
(d�tum) XML S�ma adatt�pusra mutat. Minthogy ez az URIref
itt most egy attrib�tum �rt�ke, ez�rt teljes terjedelm�ben ki kell �rnunk
ahelyett, hogy megpr�b�ln�nk xsd:date
min�s�tett n�vre
ler�vid�teni, ahogy megtett�k ezt a tripletes v�ltozatban. A liter�l
"1999-08-16" karakterl�nc�t pedig, amely megfelel a date
adatt�pusnak, a tulajdons�g-elem tartalmak�nt �br�zoltuk.
A tank�nyv�nk tov�bbi r�sz�ben szerepl� p�ld�kban t�pus n�lk�li liter�lok helyett az �br�zoland� adat t�pus�nak megfelel� tipiz�lt liter�lokat haszn�lunk, hogy ezzel is hangs�lyozzuk az ilyen liter�loknak azt az el�ny�t, hogy ezek j�val t�bb inform�ci�t ny�jtanak az �rt�k�k korrekt meghat�roz�s�hoz. (Itt kiv�telt tesz�nk azokkal a t�pus n�lk�li liter�lt haszn�l� p�ld�kkal, amelyeket olyan alkalmaz�sokb�l vett�nk �t, ahol jelenleg nem haszn�lnak tipiz�lt liter�lokat, mivel szeretn�nk pontosan bemutatni az ilyen alkalmaz�sokn�l haszn�lt gyakorlatot. Ezekben az esetekben teh�t kiv�telesen megtartjuk a t�pus n�lk�li liter�lokat.) Az RDF/XML-ben mind a tipiz�lt, mind a t�pus n�lk�li liter�lokban (�s bizonyos kiv�telekkel a tegekben is) haszn�lhatunk [UNICODE] karaktereket, hogy az inform�ci�kat t�bb nyelven is k�zvetlen�l �br�zolhassuk.
A 7. p�lda azt illusztr�lja, hogy a tipiz�lt
liter�lok haszn�lata megk�veteli: minden elemben, amelynek �rt�ke egy
tipiz�lt liter�l, szerepeljen egy rdf:datatype
attrib�tum egy
URIref �rt�kkel, mely a liter�l adatt�pus�t azonos�tja. Mint kor�bban m�r
megjegyezt�k, az RDF/XML elv�rja, hogy az olyan URI hivatkoz�sokat, amelyeket
valamilyen XML attrib�tum �rt�kek�nt adunk meg, teljesen ki�rjuk, ahelyett,
hogy egy min�s�tett n�vvel ler�vid�ten�nk. Az XML entit�sok
deklar�ci�s mechanizmus�t azonban ilyenkor is haszn�lhatjuk r�vid�t�si
c�lokra a k�nnyebb �rhat�s�g �s olvashat�s�g �rdek�ben. Egy XML
entit�sdeklar�ci� l�nyeg�ben egy entit�snevet rendel egy karakterl�nchoz (ami
lehet ak�r egy URIref is). Amikor egy entit�snevet haszn�lunk b�rhol az XML
dokumentumban, az XML-t feldolgoz� programok behelyettes�tik ezt a megfelel�
karakterl�nccal. P�ld�ul az al�bbi ENTITY (entit�s) deklar�ci�, amelyet
�ltal�ban az RDF/XML dokumentum elej�n, egy DOCTYPE (dokumentumt�pus)
deklar�ci�n bel�l haszn�lunk:
<!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]>
azt defini�lja, hogy az xsd
entit�s legyen egy olyan
karakterl�nc, mely az XML S�ma adatt�pusok n�vter�t azonos�t� URI hivatkoz�st
�br�zolja. Ez a deklar�ci� lehet�v� teszi, hogy a teljes n�vt�r-URI
hivatkoz�st a dokumentumban minden�tt az &xsd;
entit�shivatkoz�ssal helyettes�ts�k. Ennek a r�vid�t�snek a
haszn�lat�val a 7. p�lda RDF/XML k�dj�t �gy is
�rhatn�nk, ahogy azt a 8. p�lda mutatja:
1. <?xml version="1.0"?> 2. <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> 3. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 4. xmlns:exterms="http://www.example.org/terms/"> 5. <rdf:Description rdf:about="http://www.example.org/index.html"> 6. <exterms:creation-date rdf:datatype="&xsd;date">1999-08-16 </exterms:creation-date> 7. </rdf:Description> 8. </rdf:RDF>
A 2. sorban l�that� DOCTYPE
deklar�ci� defini�lja azt az
xsd
entit�st, amelyet majd a 6. sorban haszn�lunk fel egy
adatt�pus azonos�t�s�ra.
Az XML entit�sok r�vid�t� mechanizmusk�nt t�rt�n� haszn�lata opcion�lis az
RDF/XML-ben, �s �gy opcion�lis az XML DOCTYPE
deklar�ci�j�nak a
haszn�lata is. (Azon olvas�k sz�m�ra, akik m�r r�gebbr�l ismerik az XML-t: az
RDF/XML-nek csup�n "j�l form�ltnak" (well-formed), vagyis
szintaktikailag korrekt XML-nek kell lennie. Az RDF/XML-t
nem tervezt�k arra, hogy egy XML �rv�nyess�gellen�rz� (validation processor)
seg�ts�g�vel valamilyen DTD-vel (dokumentumt�pus-defin�ci�val) vess�k egybe.
Ezt a k�rd�st a B. f�ggel�k t�rgyalja, mely tov�bbi
inform�ci�kat k�z�l az XML-r�l.)
A k�nnyebb olvashat�s�g �rdek�ben, a tank�nyv�nk tov�bbi r�sz�ben az
xsd
XML entit�st oly m�don fogjuk haszn�lni, ahogy azt az im�nt
le�rtuk. Az XML entit�sokat b�vebben a B. f�ggel�k
ismerteti. Ez a f�ggel�k le�rja, hogy m�s URI hivatkoz�sok (s�t
�ltal�nos�tva: m�s karakterl�ncok) is r�vid�thet�k XML entit�sokkal.
Tank�nyv�nk tov�bbi p�ld�iban azonban csak az XML S�ma adatt�pusainak URI
hivatkoz�sait r�vid�tj�k ezen a m�don.
B�r az RDF/XML adatok �r�s�nak t�bb r�vid�tett form�ja is l�tezik, az eddig ismertetett p�ld�inkban m�gis a r�vid�t� m�dszereknek csak az egyszer�bb, de �ltal�nosabb v�ltozat�t haszn�ltuk a gr�fok le�r�s�ra. �sszefoglal�sul megism�telj�k, hogy ezek alkalmaz�s�val hogyan �runk le egy RDF gr�fot RDF/XML-ben:
rdf:Description
elem alanyak�nt adjuk meg. Ez t�rt�nhet vagy
egy rdf:about
attrib�tum seg�ts�g�vel (ha a csom�pontot
URIref azonos�tja), vagy egy rdf:nodeID
seg�ts�g�vel (ha a
csom�pont �res).
Minden egyes gr�f-triplet sz�m�ra, amelynek az �gy azonos�tott
csom�pont az alanya, egy megfelel� tulajdons�g-elemet k�sz�t�nk, amelynek
a t�rgya vagy liter�l tartalom, vagy ha ez �res, akkor egy er�forr�s. Ezt
az er�forr�st vagy egy rdf:resource
attrib�tum specifik�lja
(ha a t�rgy csom�pontja egy URIref), vagy egy rdf:nodeID
attrib�tum (ha a t�rgy csom�pontja �res).
�sszehasonl�tva az [RDF-SZINTAXIS] n�h�ny, enn�l jelent�sebb r�vid�t�st lehet�v� tev� opci�j�val, ez az egyszer� m�dszer adja a gr�f-strukt�ra legk�zvetlenebb �br�zol�s�t, �s ez�rt k�l�n�sen aj�nlhat� az olyan alkalmaz�sok sz�m�ra, ahol a kimen� RDF/XML k�d tov�bbi RDF feldolgoz�sok bemen� adata lesz.
Az eddigi p�ld�ink felt�telezt�k, hogy az �ppen le�rt er�forr�soknak m�r
van URI hivatkoz�suk. �gy pl. a kezdetben bemutatott p�ld�inkban a k�l�nb�z�
adataival jellemezt�k a hipotetikus example.org
szervezet
weblapj�t amelynek URI hivatkoz�sa:
http://www.example.org/index.html
volt. Ezt az er�forr�st az
RDF/XML-ben az rdf:about
attrib�tum seg�ts�g�vel azonos�tottuk,
amelyben teljes form�j�ban id�zt�k ezt az URI-t. Noha az RDF nem
specifik�lja, �s nem is ellen�rzi, hogy mik�nt rendelnek hozz� egy URI
hivatkoz�st egy er�forr�shoz, n�ha azonban j� lenne, ha olyan er�forr�sokhoz
rendeln�nk az URI hivatkoz�sokat, amelyek egy szervezett csoportot alkotnak.
P�ldak�ppen k�pzelj�nk el egy sportszergy�rt� c�get, amelynek a neve
example.com
, �s amely szeretne kiadni egy RDF alap� katal�gust
az ilyen term�keir�l, mint s�trak, t�rabakancsok stb., �s mindezt egy RDF/XML
dokumentum form�j�ban k�v�nj�k publik�lni a
http://www.example.com/2002/04/products
URI-vel azonos�tott
webhelyen. Ebben a dokumentumban minden term�khez megadhatn�nak egy k�l�n RDF
le�r�st. Ezt a katal�gust (amelyben most m�g csak egyetlen �rufajta szerepel:
az "Overnighter" modellnev� s�tor) �gy �rhatjuk le RDF/XML-ben, ahogyan azt a
9. p�lda mutatja:
1. <?xml version="1.0"?> 2. <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> 3. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 4. xmlns:exterms="http://www.example.com/terms/"> 5. <rdf:Description rdf:ID="item10245"> 6. <exterms:model rdf:datatype="&xsd;string">Overnighter</exterms:model> 7. <exterms:sleeps rdf:datatype="&xsd;integer">2</exterms:sleeps> 8. <exterms:weight rdf:datatype="&xsd;decimal">2.4</exterms:weight> 9. <exterms:packedSize rdf:datatype="&xsd;integer">784</exterms:packedSize> 10. </rdf:Description> ...tov�bbi term�kek le�r�sai... 11. </rdf:RDF>
A 9. p�lda hasonl� a kor�bbi p�ld�khoz, abban a
m�dban, ahogyan �br�zolja pl. a s�tor (tent
) tulajdons�gait: a
modellt (model
), a fekv�helyek sz�m�t (sleeps
), a
s�lyt (weight) �s a sz�ll�t�si m�retet (packedSize
).
(Itt a keret�l szolg�l� xml-, DOCTYPE-, RDF- �s n�vt�r-deklar�ci�k az 1-4
sorokban, �s a 11. sorban szerepelnek. Ez olyan inform�ci�, amelyet csak
egyszer kell megadni egy katal�gus meg�r�s�n�l, azaz nem kell megism�telni a
t�bbi term�k le�r�s�hoz. Figyelj�k meg azt is, hogy azokat az
adatt�pusokat, amelyeket a s�tor k�l�nb�z� tulajdons�gaihoz
t�rs�tottunk, explicit m�don adtuk meg, m�g az egyes tulajdons�g�rt�kekhez
tartoz� m�rt�kegys�geket nem jelezt�k, pedig ezeknek is
rendelkez�sre kellene �llniuk ahhoz, hogy helyesen interpret�ljuk az
�rt�keket. (A 4.4 szekci� ismerteti az olyan
m�rt�kegys�gek �s egy�b inform�ci�k �br�zol�s�t, amelyek a tulajdons�gok
�rt�keihez t�rsulhatnak.) A p�ld�b�l csup�n sejthet�, hogy az
exterms:sleeps
tulajdons�g �rt�ke azon szem�lyek sz�ma, akik a
s�torban �jszak�zhatnak, hogy az exterms:weight
�rt�ke (a s�tor
s�lya) kilogrammban van kifejezve, �s hogy az exterms:packedSize
(az �sszecsomagolt s�tor m�rete) n�gyzetcentim�terben van megadva.
Az egyik fontos k�l�nbs�g a kor�bbi p�ld�ink �s a
jelenlegi k�z�tt az, hogy az 5. sorban az rdf:Description
elemnek rdf:ID
attrib�tuma van rdf:about
helyett.
Az rdf:ID
haszn�lat�val itt egy
er�forr�sr�sz-azonos�t�t (fragment identifier) specifik�ltunk,
amelyet az rdf:ID
attrib�tum �rt�kek�nt adtunk meg. Ez az
azonos�t� az item10245
, mely nyilv�n az example.com c�g �ltal
megadott egyik katal�gust�tel sz�ma, �s egyben annak a teljes URI
hivatkoz�snak a r�vid�t�se, mely az �ppen le�rt er�forr�st (azaz a term�ket:
az "Overnighter" t�pus� s�tort) azonos�tja. Az item10245
er�forr�sr�sz-azonos�t� egy b�zis-URI-hez viszony�tva �rtend�, ami
eset�nkben a katal�gust tartalmaz� dokumentum URI-je. A s�tort azonos�t�
teljes URI hivatkoz�st �gy kapjuk meg, hogy a dokumentum b�zis-URI-j�nek
v�g�hez, egy "#
" karakterrel elv�lasztva, hozz�illesztj�k az
er�forr�sr�sz-azonos�t�t. Ez teh�t �gy n�z ki:
http://www.example.com/2002/04/products#item10245
.
Az rdf:ID
attrib�tum n�mileg hasonl�t az XML �s a HTML �ltal
haszn�lt ID
attrib�tumhoz, m�gpedig annyiban, hogy ez is egy
olyan nevet defini�l, mely egyedi az aktu�lis b�zis-URI �ltal azonos�tott
dokumentumon (eset�nkben a katal�guson) bel�l. A p�ld�b�l kit�nik, hogy az
rdf:ID
attrib�tum az item10245
nevet rendelte az
"Overnighter" t�pus� s�torhoz. B�rmilyen m�s RDF/XML le�r�s, ami ezen a
katal�guson bel�l van, hivatkozhat erre a term�kre ak�r az abszol�t
URI hivatkoz�ssal, ami
http://www.example.com/2002/04/products#item10245
, ak�r a
relat�v v�ltozat�val, ami #item10245
.
Ism�t hangs�lyozzuk: a relat�v URIref �gy �rtend�, hogy az egy olyan
URIref, amelyet a katal�gus b�zis-URI-j�hez viszony�tva defini�lunk. Egy
hasonl� r�vid�t�st haszn�lva, az adott s�tort�pusra vonatkoz� URI hivatkoz�st
�gy is megadhatn�nk a fenti katal�gus bejegyz�sben:
rdf:about="#item10245"
(azaz k�zvetlen�l a relat�v URI-vel,
ahelyett, hogy az rdf:ID="item10245"
form�t v�lasztan�nk). Mint
r�vid�t� mechanizmus, a k�t forma l�nyeg�ben szinonim, hiszen az RDF/XML az
�rt�k�ket mindk�t esetben a
http://www.example.com/2002/04/products#item10245
abszol�t URI
hivatkoz�ss� terjeszti ki. Az rdf:ID
haszn�latakor azonban egy
ellen�rz�s is megval�sul, amikor valamilyen nevet rendel�nk hozz�, ugyanis az
rdf:ID
attrib�tummal csak egyszer szabad defini�lnunk egy nevet
relat�v URI-k�nt ugyanahhoz a b�zis-URI-hez viszony�tva. (Vagyis, ugyanazon a
dokumentumon bel�l egy helyi n�v csak egyszer deklar�lhat�, de
ak�rh�nyszor hivatkozhatunk r� m�s elemekb�l).
B�rmelyik relat�v hivatkoz�si form�t is haszn�ln�nk, az example.com k�t
l�p�sben rendeln� hozz� az URI hivatkoz�st a s�torhoz: el�sz�r is
hozz�rendelne egy URI hivatkoz�st mag�hoz a katal�gushoz, majd pedig, m�r a
katal�guson bel�l, a s�tor tulajdons�gainak le�r�sakor hozz�rendeln� az adott
katal�gust�telhez a relat�v hivatkoz�s nev�t. A relat�v URIref ilyen
haszn�lat�t �gy is felfoghatjuk, hogy ez annak a teljes URI-nek a r�vid�t�se,
amely az RDF-t�l f�ggetlen�l m�r hozz� van rendelve a s�torhoz, �s
csak hivatkozunk erre (az rdf:about
attrib�tum seg�ts�g�vel), de
felfoghatjuk �gy is, hogy a relat�v URIref-et a dokumentumon bel�l �ppen most
deklar�ljuk, �s �ppen most rendelj�k hozz� ehhez a katal�gust�telhez
(az rdf:ID
seg�ts�g�vel).
Egy olyan RDF le�r�s, mely a katal�guson k�v�l van, az URIref abszol�t v�ltozat�val hivatkozhatna erre a katal�gust�telre. Ezt, mint m�r eml�tett�k, a s�torra mutat� relat�v URIref �s a katal�gust azonos�t� b�zis-URI egybetold�s�val �ll�tjuk el�. Tegy�k fel, hogy egy t�rasportokkal foglalkoz� web alap� szolg�ltat�s, nevezz�k exampleRatings.com-nak, RDF-et haszn�lna a k�l�nb�z� s�trak fogyaszt�i tetsz�si index�nek a publik�l�s�ra. Azt az �tcsillagos min�s�t�st, amelyet az egyik v�s�rl� (Richard Roe) a 9. p�ld�ban le�rt s�torra adott, az exampleRatings.com webhely a 10. p�ld�ban l�that� m�don regisztr�lhatn�:
1. <?xml version="1.0"?> 2. <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> 3. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 4. xmlns:sportex="http://www.exampleRatings.com/terms/"> 5. <rdf:Description rdf:about="http://www.example.com/2002/04/products#item10245"> 6. <sportex:ratingBy rdf:datatype="&xsd;string">Richard Roe</sportex:ratingBy> 7. <sportex:numberStars rdf:datatype="&xsd;integer">5</sportex:numberStars> 8. </rdf:Description> 9. </rdf:RDF>
A 10 p�lda 5. sora egy
rdf:Description
elemet haszn�l egy rdf:about
attrib�tummal, amelynek az �rt�ke a s�tort azonos�t� abszol�t URIref. Ennek a
haszn�lata egy�rtelm�v� teszi, hogy a min�s�t�s (rating) pontosan melyik
term�kre vonatkozik.
Ezek a p�ld�k t�bb l�nyeges dolgot is illusztr�lnak. Mindenekel�tt azt,
hogy b�r az RDF nem specifik�lja, �s nem is ellen�rzi, hogy mik�nt
rendelj�k/rendelt�k hozz� az URI hivatkoz�sokat az er�forr�sokhoz (eset�nkben
a katal�gusban szerepl� k�l�nb�z� s�trakhoz �s m�s t�telekhez), m�gis
l�trej�n az a k�v�natos eredm�ny, hogy a megfelel� URI hivatkoz�sok a
megfelel� er�forr�sokhoz vannak hozz�rendelve. Ez az eredm�ny mindig k�t
folyamat kombin�ci�ja r�v�n j�n l�tre: az egyik egy RDF-en k�v�li folyamat,
amelynek sor�n egy olyan dokumentumot (eset�nkben egy katal�gust) l�tunk el
azonos�t�val, mely tartalmazza ezeknek az er�forr�soknak a le�r�s�t, a m�sik
pedig egy olyan, RDF-en bel�li folyamat, amelynek sor�n ezen a dokumentumon
bel�l, az er�forr�sok le�r�sakor, a r�juk hivatkoz� relat�v URI
hivatkoz�sokat az rdf:ID
seg�ts�g�vel deklar�ljuk. P�ld�ul az
example.com c�g haszn�lhatn� ezt a katal�gust egy olyan k�zponti forr�sk�nt,
amelyben a term�kei le vannak �rva, annak implicit elfogad�s�val, hogy ha egy
�ru term�ksz�ma nem szerepel a katal�gus valamelyik t�tel�nek a le�r�s�ban,
akkor ez az �ru nem tartozik az example.com term�kei k�z�. (Megjegyzend�,
hogy az RDF nem t�telezi fel, hogy b�rmilyen konkr�t kapcsolat l�tezik k�t
er�forr�s k�z�tt, csak mert az URI hivatkoz�suknak ugyanaz a b�zis-URI-je,
vagy mert m�s m�don hasonl�ak. Egy ilyen kapcsolat esetleg ismert lehet az
example.com sz�m�ra, de ezt nem defini�lja k�zvetlen�l az RDF.)
Ezek a p�ld�k egy�bk�nt a Web egyik alapvet� architektur�lis alapelv�re is
r�vil�g�tanak: arra, hogy b�rki szabadon megadhat inform�ci�kat egy l�tez�
er�forr�sr�l egy tetsz�se szerinti sz�k�szlet haszn�lat�val [BERNERS-LEE98]. Ezek a p�ld�k azt is mutatj�k,
hogy az RDF seg�ts�g�vel le�rt er�forr�soknak nem kell egyetlen helyen
�sszegy�jtve lenni�k, hanem a weben sz�tsz�rva is elhelyezkedhetnek. Ez
nemcsak a p�ldabeli eset�nkre igaz, amelyben az egyik szervezet min�s�t, vagy
komment�l egy olyan er�forr�st, amelyet egy m�sik defini�lt, hanem olyan
esetekre is �rv�nyes, ahol az er�forr�s eredeti defini�l�ja (vagy b�rki m�s)
tov�bbi inform�ci�k megad�s�val er�s�teni �s gazdag�tani k�v�nja annak az
er�forr�snak a le�r�s�t. Ez megt�rt�nhet mag�nak a dokumentumnak a
m�dos�t�s�val, amelyben az er�forr�st eredetileg defini�lt�k, vagy pedig,
ahogy az exampleRatings.com is teszi, egy �j, k�l�n dokumentum
elk�sz�t�s�vel, amelyben tov�bbi tulajdons�gokat �s �rt�keket ad meg egy
rdf:Description
elemben, mely az eredeti er�forr�sra hivatkozik
egy rdf:about
attrib�tummal megadott URI-ref
seg�ts�g�vel.
A fenti diszkusszi� jelezte, hogy a relat�v URI hivatkoz�sok, mint pl. a
#item10245
, egy b�zis-URI-hez viszony�tva �rtelmezhet�k. Ez
implicit m�don annak az er�forr�snak az URI-je lesz, amelyikben a relat�v
URIref-et haszn�ljuk. Egyes esetekben azonban k�v�natos, hogy explicit m�don
is specifik�lhassuk ezt a b�zis-URI-t. T�telezz�k fel p�ld�ul, hogy a
http://www.example.com/2002/04/products
URI-vel azonos�tott
katal�gust az example.org c�g egy duplik�t v�ltozatban, egy m�sik, �n.
t�kr�z� webhelyen (mirror site) is szeretn� publik�lni, amelyet azonos�tson,
mondjuk, a http://mirror.example.com/2002/04/products
URIref. Ez
probl�m�t okozhatna, hiszen ha az eredeti katal�gushoz a t�kr�z�tt webhelyen
k�v�nn�nk hozz�f�rni, akkor a p�ldabeli s�tor teljes URI hivatkoz�s�t a
le�r�st tartalmaz� dokumentum b�zis-URI-j�b�l �ll�tan�nk el�, ami ebben az
esetben a http://mirror.example.com/2002/04/products#item10245
URIref lenne, �s nem a k�v�nt
http://www.example.com/2002/04/products#item10245
, vagyis m�s
er�forr�sra hivatkozn�nk, mint amire akartunk. Ennek elker�l�se �rdek�ben az
example.org feltehet�leg egy explicit b�zis-URI-t rendelne a term�keit
azonos�t� URI hivatkoz�sokhoz ahelyett, hogy a probl�m�t megker�lend�, csak
egy helyen publik�ln� a katal�gus�t.
Hogy az ilyen helyzetekre megold�st adjon, az RDF/XML t�mogatja az XML b�zis opci�t (XML Base [XML-BASE]), mely lehet�v� teszi, hogy az XML dokumentum specifik�ljon egy olyan b�zis-URI-t, amelyik f�ggetlen a saj�t b�zis-URI-j�t�l. A 11. p�lda azt mutatja meg, hogy mik�nt �rn�nk meg a kor�bbi katal�gust az XML Base felhaszn�l�s�val:
1. <?xml version="1.0"?> 2. <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> 3. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 4. xmlns:exterms="http://www.example.com/terms/" 5. xml:base="http://www.example.com/2002/04/products"> 6. <rdf:Description rdf:ID="item10245"> 7. <exterms:model rdf:datatype="&xsd;string">Overnighter</exterms:model> 8. <exterms:sleeps rdf:datatype="&xsd;integer">2</exterms:sleeps> 9. <exterms:weight rdf:datatype="&xsd;decimal">2.4</exterms:weight> 10. <exterms:packedSize rdf:datatype="&xsd;integer">784</exterms:packedSize> 11. </rdf:Description> ...tov�bbi term�kek le�r�sai... 12. </rdf:RDF>
A 11. p�lda 5. sor�ban l�that�
xml:base
deklar�ci� azt specifik�lja, hogy egy esetleges tov�bbi
xml:base
deklar�ci� el�fordul�s�ig, az rdf:RDF
elemen bel�l a http://www.example.com/2002/04/products
URI
tekintend� b�zis-URI-nek, �s �gy minden relat�v URIref, mely az adott
xml:base
attrib�tum hat�ly�n bel�l van, a deklar�lt b�zishoz
viszony�tva �rtend�, mindegy, hogy mi az aktu�lis dokumentum saj�t
b�zis-URI-je. Ennek eredm�nyek�ppen a s�trat azonos�t�
#item10245
relat�v hivatkoz�st �gy �rtelmezi az RDF/XML, hogy
annak abszol�t URI hivatkoz�sa
http://www.example.com/2002/04/products#item10245
, f�ggetlen�l
att�l, hogy �ppen melyik webhelyen publik�lj�k a katal�gust. Vagyis,
f�ggetlen�l att�l, hogy mi a dokumentum aktu�lis URI-je, s�t m�g att�l is,
hogy a b�zis-URI-ref azonos�t-e egy�ltal�n valamilyen konkr�t
dokumentumot.
Eddig a p�ld�nk csup�n egyetlen term�k le�r�s�t: egy meghat�rozott
s�tort�pus le�r�s�t mutatta be. Az example.com azonban val�sz�n�leg aj�nlani
szeretne t�bbf�le s�tormodellt, �s m�s term�kfajt�b�l is t�bbf�l�t, p�ld�ul
h�tizs�kokat, t�rabakancsokat stb. A dolgok k�l�nb�z� fajt�kba vagy
kateg�ri�kba t�rt�n� besorol�sa/oszt�lyoz�sa hasonl� koncepci�, mint
a programnyelvekben haszn�lt objektumok k�l�nb�z� t�pusokba vagy
oszt�lyokba sorol�sa. Az RDF t�mogatja ezt a fogalmat egy el�re
defini�lt tulajdons�g, az rdf:type
bevezet�s�vel. Amikor egy RDF
er�forr�st valamely tulajdons�g�val le�runk, akkor ennek a tulajdons�gnak az
�rt�k�t egy olyan er�forr�snak tekintj�k, mely a dolgok egy kateg�ri�j�t vagy
oszt�ly�t k�pviseli; ennek a tulajdons�gnak az alany�t pedig a saj�t
kateg�ri�ja vagy oszt�lya egyik eset�nek, el�fordul�s�nak
(instance), vagy m�s sz�val: egyed�nek (individual) tekintj�k. A 12. p�lda az rdf:type
haszn�lat�val
bemutatja, hogy az example.com mik�nt jelezhetn� azt, hogy az "item10245"
katal�gust�tel le�r�sa egy s�torra vonatkozik:
1. <?xml version="1.0"?> 2. <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> 3. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 4. xmlns:exterms="http://www.example.com/terms/" 5. xml:base="http://www.example.com/2002/04/products"> 6. <rdf:Description rdf:ID="item10245"> 7. <rdf:type rdf:resource="http://www.example.com/terms/Tent"/> 8. <exterms:model rdf:datatype="&xsd;string">Overnighter</exterms:model> 9. <exterms:sleeps rdf:datatype="&xsd;integer">2</exterms:sleeps> 10. <exterms:weight rdf:datatype="&xsd;decimal">2.4</exterms:weight> 11. <exterms:packedSize rdf:datatype="&xsd;integer">784</exterms:packedSize> 12. </rdf:Description> ...tov�bbi term�kek le�r�sai... 13. </rdf:RDF>
A 12. p�lda 7.sor�ban az rdf:type
tulajdons�g azt jelzi, hogy az �ppen le�rt er�forr�s a
http://www.example.com/terms/Tent
URI hivatkoz�ssal azonos�tott
S�tor oszt�lynak egyik konkr�t el�fordul�sa, vagy m�s sz�val: egyik
egyede. Ez felt�telezi, hogy az example.com c�g m�r el�re defini�lta
a saj�t term�k-oszt�lyait ugyanannak a sz�k�szletnek a r�szek�nt, mely a c�g
t�bbi saj�tos szakkifejez�s�t is tartalmazza (mint pl. az
exterms:weight
), s �gy a Tent
oszt�ly abszol�t
URI-j�vel hivatkozhatunk r�. Ha az example.com c�g a term�k-oszt�lyait a
katal�guson bel�l defini�lta volna, akkor a #Tent
relat�v URIref
seg�ts�g�vel is hivatkozhatn�nk a s�torok oszt�ly�ra.
Az RDF, maga, nem tartalmaz eszk�z�ket a dolgok olyan
alkalmaz�s-specifikus oszt�lyainak a defini�l�s�ra, mint pl. a "S�tor", vagy
az olyan tulajdons�gaik defini�l�s�ra, mint pl. az
exterms:weight
. Az ilyen oszt�lyokat �s tulajdons�gokat egy RDF
s�ma keret�ben lehet defini�lni az RDF S�ma nyelv
seg�ts�g�vel, amelyet az 5. fejezet t�rgyal. Az
oszt�lyok �s tulajdons�gok defini�l�s�ra m�s eszk�z�k is l�teznek, mint pl. a
DAML+OIL �s az OWL nyelvek; ezeket az 5.5 szekci� mutatja be r�viden.
Meglehet�sen �ltal�nos az RDF haszn�lat�ban, hogy az er�forr�sokhoz t�pust
rendel�nk az rdf:type
tulajdons�g seg�ts�g�vel, mely �gy
jellemzi ezeket a forr�sokat, mint t�pusok vagy oszt�lyok konkr�t
el�fordul�s�t/egyed�t. Az ilyen er�forr�sokat a gr�fban tipiz�lt
csom�pontoknak (typed nodes), az RDF/XML le�r�sban pedig tipiz�lt
csom�pont-elemeknek nevezz�k. Az RDF/XML szintaxis az ilyen elemek
le�r�s�n�l egy speci�lis r�vid�t�st tesz lehet�v�. Enn�l a r�vid�t�sn�l
kihagyjuk az rdf:type
tulajdons�got �s az �rt�k�t, az
rdf:Description
elemet pedig egy m�sik elemmel helyettes�tj�k,
amelynek a neve egy olyan min�s�tett n�v, mely megfelel a kihagyott
rdf:type
tulajdons�g �rt�k�nek (vagyis annak az URI
hivatkoz�snak, amelyik megnevezi az oszt�lyt). Ennek a r�vid�t�snek a
haszn�lat�val az example.com 12. p�ldabeli s�tr�t a
13. p�ld�ban megadott m�don lehetne le�rni:
1. <?xml version="1.0"?> 2. <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> 3. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 4. xmlns:exterms="http://www.example.com/terms/" 5. xml:base="http://www.example.com/2002/04/products"> 6. <exterms:Tent rdf:ID="item10245"> 7. <exterms:model rdf:datatype="&xsd;string">Overnighter</exterms:model> 8. <exterms:sleeps rdf:datatype="&xsd;integer">2</exterms:sleeps> 9. <exterms:weight rdf:datatype="&xsd;decimal">2.4</exterms:weight> 10. <exterms:packedSize rdf:datatype="&xsd;integer">784</exterms:packedSize> 11. </exterms:Tent> ...tov@?bbi term�kek le�r�sai... 12. </rdf:RDF>
Minthogy egy er�forr�s le�rhat� egyn�l t�bb oszt�ly egyedek�nt is, egy
er�forr�snak lehet t�bb rdf:type
tulajdons�ga, de ezek k�z�l
csak egy r�vid�thet� a fenti m�dszerrel. A t�bbit ki kell �rni az
rdf:type
tulajdons�g seg�ts�g�vel, a 12.
p�ld�ban illusztr�lt m�don.
Amellett, hogy egy tipiz�lt csom�pont-elemmel (mint pl. az
exterms:Tent
) megadhatjuk, hogy a le�rt egyed melyik felhaszn�l�
�ltal defini�lt oszt�lyhoz tartozik, az RDF-ben a tipiz�lt csom�pont-elem
haszn�lata leg�lis olyankor is, amikor olyan be�p�tett RDF oszt�lyok egyedeit
�rjuk le, mint amilyen pl. az rdf:Bag
. Ez ut�bbi oszt�lyokat a
4. fejezet �rja le, m�g az RDF S�ma
oszt�lyokat (mint amilyen pl. az rdfs:Class
) az 5. fejezet t�rgyalja.
A 12. �s a 13. p�lda egyar�nt j�l mutatta, hogy az RDF kijelent�seket le lehet �rni az RDF/XML-ben olyan m�don is, amely nagyon eml�keztet a k�zvetlen�l XML-ben (teh�t nem RDF/XML-ben) k�sz�lt le�r�sokra. Ez egy l�nyeges aspektus, tekintettel a k�l�nf�le XML alkalmaz�sok egyre n�vekv� sz�m�ra, hiszen ez azt sejteti, hogy az RDF haszn�lhat� lenne ezekben az alkalmaz�sokban an�lk�l, hogy nagyobb v�ltoztat�sokat kellene v�grehajtani abban a m�dban, ahogyan az inform�ci�ikat struktur�lj�k.
A fenti p�ld�k illusztr�lt�k az RDF/XML szintaxis n�h�ny fundament�lis elem�t. Ezek a p�ld�k elegend� inform�ci�t ny�jtottak ahhoz, hogy elkezdj�nk hasznos RDF/XML dokumentumokat k�sz�teni. Az RDF/XML szintaxis specifik�ci�ja c�m� (normat�v) dokumentum egy alaposabb diszkusszi�t tartalmaz azokr�l az elvekr�l is, amelyekre az RDF gr�fok XML-ben t�rt�n� modellez�se �p�l, �s amelyeket �sszefoglal�an "cs�koz�s" (striping) n�ven emleget az RDF/XML zsargon. Ugyanez a dokumentum tov�bbi lehet�s�geket mutat be az RDF/XML k�d �r�s�nak r�vid�t�s�re, valamint tov�bbi r�szleteket �s p�ld�kat k�z�l az RDF adatok XML-be t�rt�n� �t�r�s�hoz.
Az RDF sz�mos tov�bbi lehet�s�get is ny�jt, amelyekr�l eddig nem sz�ltunk. Ilyenek p�ld�ul a be�p�tett t�pusok �s tulajdons�gok, amelyek az er�forr�sok �s RDF kijelent�sek csoportos �br�zol�s�ra szolg�lnak, �s ilyenek azok a lehet�s�gek is, amelyekkel XML k�dr�szeket tulajdons�gok �rt�kek�nt �br�zolhatunk. Ezeket a lehet�s�geket ismertetj�k e fejezet k�vetkez� szekci�iban.
Gyakran sz�ks�g van arra, hogy dolgokb�l csoportokat k�pezz�nk, �s �gy �rjuk le �ket. P�ld�ul Ilyen eset az, amikor ki kell jelenten�nk, hogy egy k�nyvnek t�bb szerz�je, egy tanfolyamnak t�bb hallgat�ja, vagy egy szoftvernek t�bb modulja van, �s ezeket csoportk�nt kell jellemezn�nk �s kezeln�nk. Az RDF rendelkezik t�bb, el�re defini�lt (be�p�tett) t�pussal �s tulajdons�ggal, amelyeket arra haszn�lhatunk, hogy az ilyen csoportokat le�rjuk.
El�sz�r is, az RDF-nek van egy kont�ner sz�k�szlete, mely h�rom el�re defini�lt t�pust tartalmaz (n�h�ny ezekhez kapcsol�d� tulajdons�ggal egy�tt). A kont�ner egy olyan er�forr�s, mely t�bb dolgot tartalmaz. Ezeket a dolgokat tagoknak nevezz�k. A kont�ner tagjai lehetnek er�forr�sok (bele�rtve az �res csom�pontokat is), �s lehetnek liter�lok. Az RDF h�romf�le t�pus� kont�nert defini�l:
rdf:Bag
(zs�k)rdf:Seq
(sorozat, v. szekvencia)rdf:Alt
(alternativa-csoport)A zs�k egy olyan er�forr�s, amelynek t�pusa rdf:Bag
,
�s olyan er�forr�sok vagy liter�lok csoportj�t
�br�zolja, amelyben duplik�t tagok is el�fordulhatnak, �s amelyben nincs
jelent�s�ge a tagok sorrendj�nek. Egy Bag
kont�ner
le�rhatja p�ld�ul alkatr�sz-sz�mok egy csoportj�t, ahol a tagok
feldolgoz�s�n�l a sorrendnek nincs szerepe.
A sorozat vagy szekvencia egy olyan er�forr�s, amelynek
t�pusa rdf:Seq
, �s olyan er�forr�sok vagy liter�lok csoportj�t
�br�zolja, amelyben duplik�t tagok is el�fordulhatnak, �s amelyben a tagok
sorrendje szignifik�ns. Egy Seq
kont�ner le�rhat p�ld�ul egy
olyan csoportot, amelynek a tagjait n�v szerinti �b�c�sorrendben kell
tartani.
Az alternat�va-csoport, amelynek t�pusa rdf:Alt
,
olyan er�forr�sok vagy liter�lok csoportj�t �br�zolja, amelyek alternat�v�k
(tipikusan egy tulajdons�g �rt�k�nek az alternat�v�i). Egy Alt
kont�ner le�rhatja p�ld�ul egy k�nyv c�m�nek k�l�nb�z� nyelv�, alternat�v
ford�t�sait, vagy alternat�v webhelyek egy list�j�t, amelyben egy er�forr�s
megtal�lhat�. Egy alkalmaz�snak, mely olyan tulajdons�got haszn�l, amelynek
�rt�ke egy Alt
kont�ner, tudnia kell, hogy a kont�ner b�rmelyik
tagj�t v�laszthatja a tulajdons�g �rt�k�nek, amelyik a sz�m�ra megfelel.
Ahhoz, hogy le�rjunk egy er�forr�st, mint e kont�nert�pusok egyik�t, az
er�forr�snak egy rdf:type
tulajdons�got adunk, amelynek �rt�ke
az rdf:Bag
, rdf:Seq
, vagy rdf:Alt
el�re defini�lt er�forr�s valamelyike lesz, att�l f�gg�en, hogy melyikre van
sz�ks�g�nk. A kont�ner er�forr�s, ami ugyan�gy lehet egy �res csom�pont, mint
egy URI hivatkoz�ssal azonos�tott er�forr�s, megjel�li a csoportot mint
eg�szet. A kont�ner tagjait �gy �rhatjuk le, hogy mindegyik�k
sz�m�ra defini�lunk egy kont�nertags�g-tulajdons�got (r�viden:
tags�gtulajdons�got), amelyeknek alanya egy kont�ner t�pus� er�forr�s, t�rgya
pedig a kont�ner �ppen defini�lt tagja. A tags�gtulajdons�gok nev�nek
form�tuma rdf:
_n
, ahol n egy nem
nulla �rt�k� decim�lis eg�sz sz�m, bevezet� null�k n�lk�l, mint pl.
rdf
:_1
, rdf
:_2
,
rdf:_3
stb. Ezeket specifikusan a kont�ner tagjainak le�r�s�ra
haszn�ljuk. A kont�nertags�g �s az rdf:type
mellett, a
kont�ner-er�forr�soknak lehetnek m�s olyan tulajdons�gaik is, amelyek le�rj�k
a kont�nert.
L�nyeges, hogy meg�rts�k: noha ezeket a kont�nert�pusokat el�re defini�lt
RDF t�pusokkal �s tulajdons�gokkal �rjuk le, azok a speci�lis jelent�sek,
amelyeket ezekhez a kont�nerekhez t�rs�tunk (pl., hogy egy Alt
kont�ner tagjai alternat�v �rt�kek), csup�n sz�nd�kolt jelent�sek. Ezeket a
specifikus kont�nert�pusokat, �s ezek defin�ci�it azzal a sz�nd�kkal
tervezt�k, hogy egy k�z�s konvenci�t teremtsenek azok k�z�tt, akik
csoportokat k�v�nnak le�rni. Amit az RDF tesz, az csak annyi, hogy biztos�tja
azokat a t�pusokat �s tulajdons�gokat, amelyekkel le�rhat� b�rmelyik
kont�nerfajta gr�fja. Az RDF ugyan�gy nem �rti �nmag�t�l, hogy milyen
er�forr�s az rdf:Bag
t�pus� er�forr�s, mint ahogy nem �rti,
milyen er�forr�s, mondjuk, az ex:Tent
t�pus� er�forr�s (a 3.2 szekci�b�l). Minden egyes esetben az
alkalmaz�sokat �gy kell meg�rni, hogy annak a jelent�snek megfelel�en
m�k�djenek, amelyet az �ltaluk alkalmazott kont�nert�pusok hordoznak. Ezt a
t�m�t a k�vetkez� p�ld�k kapcs�n b�vebben is kifejtj�k.
Egy kont�ner tipikus alkalmaz�sa annak a jelz�se, hogy egy tulajdons�g
�rt�ke bizonyos dolgok egy csoportja. P�ld�ul, ha azt a mondatot akarjuk
�br�zolni, hogy "A 6.001 sz�m� tanfolyam hallgat�i: Mohamed, Johann, Maria �s
Phuong", akkor a tanfolyamot �gy �rhatjuk le, hogy adunk neki egy
s:students
tulajdons�got (egy megfelel� sz�k�szletb�l), amelynek
�rt�ke egy rdf:Bag
t�pus� kont�ner, mely a hallgat�k csoportj�t
�br�zolja. Azut�n a kont�nertags�g-tulajdons�g seg�ts�g�vel az egyes
hallgat�kat �gy azonos�tjuk, mint ennek a csoportnak a tagjait, ahogy a 14. �br�n l�that� gr�f mutatja:
Mivel az s:students
tulajdons�g �rt�ke ebben a p�ld�ban egy
Bag
form�j�ban van le�rva, nincs sz�nd�kolt jelent�se annak a
sorrendnek, amelyben a hallgat�kat azonos�t� URI hivatkoz�sok fel vannak
sorolva, akkor sem, ha a gr�fban a tags�gtulajdons�gok sorsz�mokat
tartalmaznak a nev�kben. Kiz�r�lag azoknak az alkalmaz�soknak a
kompetenci�ja, hogy figyelembe veszik-e, vagy sem a tags�gtulajdons�gokban
szerepl� nevek (sz�mmal jelzett) sorrendj�t, amelyek el��ll�tj�k vagy
feldolgozz�k az rdf:Bag
t�pus� kont�nert tartalmaz� gr�fot.
Az RDF/XML tartalmaz n�h�ny olyan speci�lis szintaktikai elemet, illetve r�vid�t�si lehet�s�get, amelyek egyszer�bb� teszik az ilyen kont�nerek le�r�s�t. A 14. p�lda a k�vetkez�k�ppen �rja le a 14. �br�n bemutatott gr�fot:
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.org/students/vocab#"> <rdf:Description rdf:about="http://example.org/courses/6.001"> <s:students> <rdf:Bag> <rdf:li rdf:resource="http://example.org/students/Amy"/> <rdf:li rdf:resource="http://example.org/students/Mohamed"/> <rdf:li rdf:resource="http://example.org/students/Johann"/> <rdf:li rdf:resource="http://example.org/students/Maria"/> <rdf:li rdf:resource="http://example.org/students/Phuong"/> </rdf:Bag> </s:students> </rdf:Description> </rdf:RDF>
A 14. p�ld�b�l l�that�, hogy az RDF/XML-nek van
egy rdf:li
nev� be�p�tett tulajdons�ga, amellyel elker�lhetj�k,
hogy explicit m�don sorsz�moznunk kelljen az �sszes tags�gtulajdons�got.
Ennek haszn�latakor a gr�fnak megfelel� rdf:_1
,
rdf:_2
stb. sz�mozott tulajdons�gokat az rdf:li
elemekb�l gener�lja az RDF/XML. Az rdf:li
elem mnemonikus neve a
HTML-b�l is ismert "list item" (lista-elem) kifejez�s r�vid�t�se. Vegy�k
�szre azt is, hogy az <rdf:Bag>
elem itt bele van �gyazva
az <s:students>
tulajdons�g-elembe. Az
<rdf:Bag>
elem egy �jabb p�ld�ja a 13. p�ld�ban m�r alkalmazott r�vid�t�snek, ahol
egyetlen elemmel helyettes�tett�k az rdf:Description
�s az
rdf:type
elemet, amikor le�rtuk egy t�pus egyik el�fordul�s�t.
(Eset�nkben az rdf:Bag
egyik el�fordul�s�t �rjuk le ilyen
r�vid�tett form�ban, amikor be�gyazzuk az s:students
elembe.)
Minthogy itt nem specifik�ltunk URI hivatkoz�st, a Bag kont�nert egy �res
csom�pont reprezent�lja a gr�fban. Ennek be�gyaz�sa az
<s:students>
elembe egy r�vid�tett �br�zol�sa annak, hogy
az �res csom�pont az <s:students>
tulajdons�g �rt�ke. Az
ilyen r�vid�t�si m�dszereket az [RDF-SZINTAXIS]
t�rgyalja b�vebben.
A rdf:Seq
kont�ner gr�fstrukt�r�ja, �s az annak megfelel�
RDF/XML le�r�s hasonl� az rdf:Bag
ugyanilyen �br�zol�s�hoz,
azzal a k�l�nbs�ggel, hogy a kont�nert�pus itt rdf:Seq
. Itt is
hangs�lyozzuk, hogy b�r az rdf:Seq
kont�ner sz�nd�koltan
explicit sorrendet �br�zol a tagok k�z�tt, m�gis kiz�r�lag a gr�fot el��ll�t�
�s felhaszn�l� alkalmaz�sok dolga, hogy megfelel�en interpret�lj�k az eg�sz
sz�mokkal megadott tulajdons�gnevek sorrendj�t.
Az�rt, hogy illusztr�ljunk egy Alt
kont�nert is, a 15. �br�n �br�zoljuk a k�vetkez� mondat gr�fj�t: "Az X11
forr�sk�dja megtal�lhat� az ftp.example.org, az ftp1.example.org vagy az
ftp2.example.org webhelyen":
A 15. p�lda azt illusztr�lja, hogy mik�nt �rhatjuk le RDF/XML-ben a 15. �br�n �br�zolt gr�fot:
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.org/packages/vocab#"> <rdf:Description rdf:about="http://example.org/packages/X11"> <s:DistributionSite> <rdf:Alt> <rdf:li rdf:resource="ftp://ftp.example.org"/> <rdf:li rdf:resource="ftp://ftp1.example.org"/> <rdf:li rdf:resource="ftp://ftp2.example.org"/> </rdf:Alt> </s:DistributionSite> </rdf:Description> </rdf:RDF>
Az Alt
kont�nert arra tervezt�k, hogy legal�bb egy tagot
tartalmazzon, amelyet az rdf:_1
tulajdons�g azonos�t. Az ehhez
t�rs�tott tagot a tulajdons�g alap�rtelmezett �rt�k�nek, vagy prefer�lt
�rt�k�nek tekintj�k. A t�bbi tag sorrendje k�z�mb�s, �s a rangjuk is
azonos.
A 15. �br�n szerepl� RDF gr�f (ahogyan le van
le�rva) egyszer�en azt mondja ki, hogy az s:DistributionSite
tulajdons�g maga az Alt kont�ner er�forr�s. Minden tov�bbi jelent�s, ami
ennek a gr�fnak tulajdon�that� (p�ld�ul, hogy az Alt kont�ner egyik
tagja az s:DistributionSite
tulajdons�g �rt�k�nek
tekintend�, vagy hogy az ftp://ftp.example.org
az
alap�rtelmezett �rt�k), bele kell hogy �p�lj�n a feldolgoz� alkalmaz�snak az
Alt kont�ner vagy az s:DistributionSite
tulajdons�g sz�nd�kolt
jelent�s�t interpret�l� logik�j�ba.
Az Alt kont�nereket gyakran haszn�lj�k a nyelvi c�mk�z�ssel
�sszef�gg�sben. (Az RDF/XML megengedi az xml:lang
attrib�tum
haszn�lat�t, amelyet az [XML] dokumentum defini�l, �s
amely annak jelz�s�re szolg�l, hogy az adott elem tartalma az attrib�tum
�rt�kek�nt megadott term�szetes nyelven �r�dott. Az xml:lang
haszn�lat�t az [RDF-SZINTAXIS] ismerteti, az
illusztr�ci�ja pedig k�nyv�nk 6.2 szekci�j�ban l�that�.)
P�ld�ul egy olyan publik�ci�nak a title
tulajdons�ga, amelynek a
c�m�t t�bb nyelvre is leford�tott�k, egy olyan Alt kont�nerre mutathat,
amelynek a liter�l-�rt�kekkel megadott tagjai a c�m k�l�nb�z� nyelv�
ford�t�sait �br�zolj�k.
A Bag �s az Alt sz�nd�kolt jelent�se k�z�tti k�l�nbs�get j�l illusztr�lja pl. a "Huckleberry Finn kalandjai" c�m� reg�ny szerz�j�nek �br�zol�sa. A k�nyvnek egyetlen szerz�je van, de k�t n�ven is ismerj�k (Mark Twain �s Samuel Clemens). B�rmelyik n�v el�gs�ges arra, hogy specifik�ljuk vele a szerz�t. �gy, ha egy Alt kont�nert haszn�lunk a szerz� neveinek megad�s�ra, az pontosabban �rja le a szerz�s�gi viszonyt, mintha egy Bag kont�nerrel adtuk volna meg (amelyik azt sugalln�, hogy a k�nyvnek k�t k�l�nb�z� szerz�je van).
A felhaszn�l�k szabadon eld�nthetik, hogy mivel, �s hogyan �rj�k le az er�forr�sok csoportjait, ha nem k�v�nj�k az RDF kont�ner-sz�k�szlet�t haszn�lni. Ezt ugyanis csak az�rt defini�lt�k, hogy legyenek olyan k�z�s defin�ci�k, amelyeket, ha �ltal�nosan haszn�lunk, megn�velik azoknak az alkalmaz�soknak az egy�ttm�k�d�k�pess�g�t, amelyek er�forr�s-csoportokat tartalmaz� adatokat haszn�lnak.
N�ha egyen�rt�k� alternat�v�kat tal�lunk az RDF kont�nert�pusainak haszn�lata helyett. P�ld�ul egy er�forr�s, �s m�s er�forr�sok egy csoportja k�z�tti viszony �br�zolhat� �gy is, hogy az els� er�forr�st t�bb olyan kijelent�s alany�v� tessz�k, amelyek ugyanazt a tulajdons�got haszn�lj�k. Ez struktur�lisan k�l�nb�zik att�l a megold�st�l, ahol ez az er�forr�s csup�n egyetlen olyan kijelent�s alanya, amelynek a t�rgya egy t�bb tagot tartalmaz� kont�ner. Ez a k�t k�l�nb�z� strukt�ra egyik esetben jelentheti ugyanazt, a m�sik esetben pedig nem. Amikor el kell d�nten�nk, hogy egy adott szitu�ci�ban melyiket haszn�ljuk, az esetleges k�l�nbs�get fel kell ismern�nk.
P�ldak�ppen tekints�k egy �r�n� �s a publik�ci�i k�z�tt fenn�ll� viszonyt az al�bbi mondatban:
Sue has written "Anthology of Time", "Zoological Reasoning", and "Gravitational Reflections".
(Ez a mondat azt jelenti ki, hogy Sue �rta az id�zett c�m� publik�ci�kat). Ebben az esetben h�rom er�forr�sunk van, amelyek mindegyik�r�l �n�ll�an kijelenthet�, hogy ugyanaz a szerz� �rta. Ezt kifejezhetj�k ism�telt tulajdons�gok haszn�lat�val:
exstaff:Sue exterms:publication ex:AnthologyOfTime . exstaff:Sue exterms:publication ex:ZoologicalReasoning . exstaff:Sue exterms:publication ex:GravitationalReflections .
Ebben a p�ld�ban nem �llap�tunk meg egy�b viszonyt ezek k�z�tt a publik�ci�k k�z�tt, mint azt, hogy ugyanaz a szerz� �rta �ket. A kijelent�sek mindegyike egy f�ggetlen t�ny, s ez�rt az ism�telt tulajdons�gok haszn�lata �rtelmes v�laszt�s lenne. De ugyanilyen �rtelmes lenne ezt a viszonyt egyetlen olyan kijelent�ssel �br�zolni, mely olyan er�forr�sok csoportj�ra vonatkozik, amelyeket Sue �rt:
exstaff:Sue exterms:publication _:z . _:z rdf:type rdf:Bag . _:z rdf:_1 ex:AnthologyOfTime . _:z rdf:_2 ex:ZoologicalReasoning . _:z rdf:_3 ex:GravitationalReflections .
N�zz�k meg ugyanakkor az al�bbi mondatot:
The resolution was approved by the Rules Committee, having members Fred, Wilma, and Dino.
Ez azt mondja: "A hat�rozatot (resolution) elfogadta (approved by) a
Szab�lybizotts�g (Rules Committee), amelynek a tagjai Fred, Wilma �s Dino. Ez
a mondat csak azt �ll�tja, hogy a bizotts�g mint eg�sz elfogadta a
hat�rozatot, azt azonban nem, hogy minden tagja egyenk�nt is
elfogadta volna. Ebben az esetben f�lrevezet� lenne h�rom k�l�n
exterms:approvedBy
elemi kijelent�ssel modellezni a fenti
mondatot, mint ahogy ezt az al�bbi RDF le�r�s teszi:
ex:resolution exterms:approvedBy ex:Fred . ex:resolution exterms:approvedBy ex:Wilma . ex:resolution exterms:approvedBy ex:Dino .
hiszen ez a le�r�s minden bizotts�gi tagr�l egyenk�nt kijelenteni, hogy elfogadta a hat�rozatot, holott az eredeti mondatban nem err�l van sz�.
Ebben az esetben c�lszer�bb lenne egyetlen olyan
exterms:approvedBy
kijelent�ssel modellezni a mondatot, amelynek
alanya az ex:resolution
, t�rgya pedig az
ex:rulesCommittee
. Ezzel m�r (helyesen) azt jelenten�nk ki, hogy
a hat�rozatot elfogadta a bizotts�g mint eg�sz. A Rules Commitee er�forr�s
azut�n le�rhat� egy Bag kont�nerrel, amelynek a tagjai azonosak a bizotts�g
tagjaival, ahogy az al�bbi tripletekben l�that�:
ex:resolution exterms:approvedBy ex:rulesCommittee . ex:rulesCommittee rdf:type rdf:Bag . ex:rulesCommittee rdf:_1 ex:Fred . ex:rulesCommittee rdf:_2 ex:Wilma . ex:rulesCommittee rdf:_3 ex:Dino .
Amikor RDF kont�nereket haszn�lunk, fontos meg�rten�nk, hogy a
kijelent�seink nem konstru�lj�k a kont�nert, mint a programoz�si
nyelvek adatstrukt�r�i eset�n. Val�j�ban a kijelent�sek itt csup�n
le�rj�k a kont�nert (a dolgok egy csoportj�t), amely feltehet�en a
vil�gban l�tez� entit�s. P�ld�ul az im�nt l�tott p�ld�ban a Szab�lybizotts�g
mindenk�ppen emberek rendezetlen halmaza, ak�r ilyennek �rjuk le RDF-ben,
ak�r nem. Azzal, hogy azt mondjuk az ex:rulesCommittee
er�forr�sr�l, hogy annak t�pusa rdf:Bag
, m�g nem �ll�tjuk, hogy
a Szab�lybizotts�g egy adatstrukt�ra, �s nem is konstru�lunk ezzel egy
konkr�t adatstrukt�r�t a csoport tagjai sz�m�ra (a Szab�lybizotts�g le�rhat�
volna Bag kont�nerk�nt an�lk�l is, hogy ak�r egyetlen tagj�t is le�rn�nk).
Ehelyett csup�n azt �ll�tjuk a Szab�lybizotts�gr�l, hogy olyan jellemz�kkel
rendelkezik, amelyek megfelelnek a Bag kont�nerhez t�rs�tott jellemz�knek,
nevezetesen, hogy tagjai vannak, �s hogy a tagok le�r�s�nak sorrendje nem
szignifik�ns. Hasonl�k�ppen, a kont�nertags�g-tulajdons�gok haszn�lat�val is
csup�n azt �rjuk le a kont�ner er�forr�sr�l, hogy bizonyos dolgokat
tartalmaz, amelyeket a tagjainak tekint�nk. Ez pedig nem sz�ks�gszer�en
jelenti azt, hogy a tagjaik�nt le�rt dolgokon k�v�l nincsenek m�s
tagjai. P�ld�ul a fenti tripletek, amelyekkel le�rtuk a bizotts�g tagjait,
csup�n azt mondj�k ki, hogy Fred, Wilma �s Dino tagjai a
bizotts�gnak, de azt nem, hogy csak �k a tagjai.
Ugyan�gy, a 14. �s a 15.
p�ld�ban is illusztr�ltunk egy �ltal�nos "mint�t" a kont�nerek le�r�s�ra,
f�ggetlen�l a haszn�lt kont�ner t�pus�t�l (pl. bemutattuk egy �res csom�pont
haszn�lat�t, mely egy megfelel� rdf:type
tulajdons�ggal mag�t a
kont�nert �br�zolta, �s bemutattuk az rdf:li
haszn�lat�t,
amellyel legener�ltattuk a sorsz�mozott kont�nertags�g-tulajdons�gokat).
Fontos teh�t meg�rten�nk, hogy az RDF nem er�lteti az RDF kont�ner
sz�k�szlet kiz�r�lag ilyen c�l� haszn�lat�t, vagyis, haszn�lhatjuk ezt a
sz�k�szletet m�s m�don, �s m�s c�lokra is. P�ld�ul: egyes esetekben c�lszer�
lehet egy URI hivatkoz�ssal rendelkez� kont�ner er�forr�st haszn�lni �res
csom�pont helyett. S�t, mi t�bb,
haszn�lhatjuk a kont�ner sz�k�szletet oly m�don is, hogy szintaktikailag nem
felt�tlen�l j�l form�lt (not well-formed) strukt�r�j� gr�fokat �runk le vele,
ahogyan az el�z� p�ld�ink is mutatt�k. A 16. p�lda
is (l�sd al�bb) egy olyan gr�f RDF/XML le�r�s�t mutatja be, amely hasonl� a
15. �br�n m�r bemutatott kont�nerhez, de amelyik
explicit m�don ki�rja a kont�nertags�g-tulajdons�gokat ahelyett, hogy az
rdf:li
haszn�lat�val legener�ltatn� azokat:
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.org/packages/vocab#"> <rdf:Description rdf:about="http://example.org/packages/X11"> <s:DistributionSite> <rdf:Alt> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag"/> <rdf:_2 rdf:resource="ftp://ftp.example.org"/> <rdf:_2 rdf:resource="ftp://ftp1.example.org"/> <rdf:_5 rdf:resource="ftp://ftp2.example.org"/> </rdf:Alt> </s:DistributionSite> </rdf:Description> </rdf:RDF>
Amint az [RDF-SZEMANTIKA] dokumentum
megjegyzi, az RDF nem k�t ki "j�l form�lts�gi" felt�teleket a kont�ner
sz�k�szlet haszn�lat�ra, �s �gy a 16. p�lda teljesen
leg�lis, noha a kont�nert egyidej�leg Bag �s Alt t�pus�nak is
le�rtuk, m�gpedig �gy, hogy az rdf:_2
tulajdons�g�nak k�t
k�l�nb�z� �rt�ket adtunk, �s emellett m�g nem is tartalmaz a kont�ner
rdf:_1
, rdf:_3
, vagy rdf:_4
tulajdons�gokat.
Ennek k�vetkezt�ben azokat az RDF alkalmaz�sokat, amelyek azt ig�nylik, hogy a kont�nerek "j�l form�ltak" legyenek, �gy kell meg�rni, hogy ellen�rizz�k a kont�ner sz�k�szlet korrekt haszn�lat�t, annak �rdek�ben, hogy kell�en stabilak �s robusztusak maradjanak.
A 4.1 szekci�ban ismertetett kont�nerek egyik
hi�nyoss�ga, hogy nem adnak lehet�s�get arra, hogy lez�rjuk �ket,
vagyis, hogy azt mondjuk: "ez az �sszes tagja a kont�nernek". Mint a 4.1 szekci�ban megjegyezt�k, egy kont�ner mind�ssze
azt mondja, hogy n�h�ny azonos�tott er�forr�s a tagja; azt azonban nem
jelenti ki, hogy nincsenek m�s tagjai. �gy akkor is, amikor egy gr�f le�rja
egy kont�ner n�h�ny tagj�t, nem lehet kiz�rni, hogy esetleg l�tezik valahol
egy m�sik olyan gr�f, mely n�h�ny tov�bbi tagj�t is le�rja. Szerencs�re, az
RDF t�mogatja olyan csoportok le�r�s�t is, RDF kollekci�k
form�j�ban, amelyekr�l biztosan tudhat�, hogy csakis a le�rt tagokat
tartalmazz�k. Egy RDF kollekci� a dolgok egy csoportja, amelyet egy
lista-strukt�ra form�j�ban �br�zolunk az RDF gr�fban. Ezt a lista-strukt�r�t
egy el�re defini�lt kollekci� sz�k�szlet seg�ts�g�vel konstru�ljuk,
mely az rdf:List
t�pusb�l, az rdf:first
("els�
eleme") �s rdf:rest
("marad�k r�sze")
tulajdons�gokb�l, valamint a szint�n el�re defini�lt rdf:nil
("�res lista") er�forr�sb�l �ll.
Ha kollekci�val k�v�nn�nk le�rni pl. azt a mondatot, hogy "A 6.001. sz�m� tanfolyam hallgat�i Amy, Mohamed �s Johann", akkor a 16. �br�n l�that� gr�fot �br�zoln�nk:
Ebben a gr�fban a kollekci� minden egyes tagja, mint pl.
s:Amy
, egy rdf:first
tulajdons�g t�rgya, s ez
ut�bbinak az alanya pedig egy er�forr�s (p�ld�nkban ez �res csom�pont), mely
a list�t k�pviseli. Ezt a lista t�pus� er�forr�st egy rdf:rest
tulajdons�ggal kapcsoljuk a lista marad�k r�sz�hez. A lista v�g�t egy
rdf:nil
�rt�kkel rendelkez� rdf:rest
tulajdons�g
jelzi, ahol az rdf:nil
egy rdf:List
t�pus� �res
list�t reprezent�l. Ez a szerkezet ismer�s lehet azok sz�m�ra, akik ismerik a
Lisp programoz�si nyelvet. Ugyan�gy, mint a Lisp-ben, az
rdf:first
�s az rdf:rest
tulajdons�gok lehet�v�
teszik az alkalmaz�soknak, hogy sorban v�gigmenjenek a strukt�r�n. Minden
�res csom�pont, mely ezt a list�t alkotja, eleve rdf:List
t�pus�
(azaz, e csom�pontok mindegyik�nek van egy implicit rdf:type
tulajdons�ga, amelynek az �rt�ke az rdf:List
el�re defini�lt
t�pus), hab�r ezt explicit m�don nem mutatja a gr�f. Az RDF S�ma nyelv [RDF-SZ�K�SZLET] �gy defini�lja az
rdf:first
�s az rdf:rest
tulajdons�got, hogy ezek
alanya egy rdf:List
t�pus� csom�pont, teh�t az a t�ny, hogy ezek
a csom�pontok list�k, �ltal�ban kik�vetkeztethet�, s �gy a nekik megfelel�
rdf:type
tripleteket nem kell �lland�an ism�telve ki�rni.
Az RDF/XML t�mogat egy speci�lis �r�sm�dot is, amelyik megk�nny�ti az
ilyen gr�ffal megadott kollekci�k le�r�s�t. Az RDF/XML-ben egy kollekci�
le�rhat� egy olyan tulajdons�gelemmel, amelynek van egy
rdf:parseType="Collection"
attrib�tuma, �s amelynek a tartalma
olyan be�gyazott elemek egy csoportja, amelyek a kollekci� tagjait
�br�zolj�k. Az RDF/XML annak jelz�s�re haszn�lja az
rdf:parseType
attrib�tumot, hogy az adott elem tartalm�t
speci�lis m�don kell �rtelmezni. Eset�nkben az
rdf:parseType="Collection"
attrib�tum azt jelzi, hogy a
be�gyazott elemeket a kollekci�nak megfelel� listaszerkezetet �br�zol� gr�f
el��ll�t�s�ra kell haszn�lni, vagy hogy egy ilyen gr�f RDF/XML le�r�sak�nt
kell �rtelmezni. (Az rdf:parseType
attrib�tum egy�b lehets�ges
�rt�keit tank�nyv�nk k�s�bbi fejezeteiben t�rgyaljuk.)
Annak �rz�keltet�s�re, hogy hogyan m�k�dik az
rdf:parseType="Collection"
, a 17.
p�ld�ban le�rjuk azt az RDF/XML k�dot, mely a 16.
�br�n szerepl� gr�fot eredm�nyezi:
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.org/students/vocab#"> <rdf:Description rdf:about="http://example.org/courses/6.001"> <s:students rdf:parseType="Collection"> <rdf:Description rdf:about="http://example.org/students/Amy"/> <rdf:Description rdf:about="http://example.org/students/Mohamed"/> <rdf:Description rdf:about="http://example.org/students/Johann"/> </s:students> </rdf:Description> </rdf:RDF>
Az rdf:parseType="Collection"
haszn�lata XML-ben mindig egy
olyan lista-strukt�r�t defini�l, mint amilyent a 16.
�bra mutat, azaz egy r�gz�tett, v�ges sz�m� elemet tartalmaz�, adott
hossz�s�g� list�t, amelyet egy rdf:nil
z�r le, �s amelyik olyan
"�j" �res csom�pontokat haszn�l, amelyek egyediek a lista-strukt�r�n bel�l.
Az RDF azonban nem er�lteti, hogy az RDF kollekci�s sz�k�szlet�t kiz�r�lag
ilyen m�don, �s ilyen c�lra haszn�ljuk; val�j�ban haszn�lhatjuk ezt m�s
m�dokon, m�s c�lokra is (bele�rtve m�g azt is, hogy esetleg nem list�t �s nem
z�rt kollekci�t �runk le vele). Hogy l�ssuk, mi�rt van ez �gy, figyelj�k meg,
hogy a 16. �br�n l�that� gr�fot le�rhatjuk
RDF/XML-ben �gy is, hogy ki�rjuk ugyanazokat a tripleteket a hosszabb
�r�sm�ddal (vagyis az rdf:parseType="Collection"
haszn�lata
n�lk�l), ahogyan a 18. p�lda mutatja:
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.org/students/vocab#"> <rdf:Description rdf:about="http://example.org/courses/6.001"> <s:students rdf:nodeID="sch1"/> </rdf:Description> <rdf:Description rdf:nodeID="sch1"> <rdf:first rdf:resource="http://example.org/students/Amy"/> <rdf:rest rdf:nodeID="sch2"/> </rdf:Description> <rdf:Description rdf:nodeID="sch2"> <rdf:first rdf:resource="http://example.org/students/Mohamed"/> <rdf:rest rdf:nodeID="sch3"/> </rdf:Description> <rdf:Description rdf:nodeID="sch3"> <rdf:first rdf:resource="http://example.org/students/Johann"/> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </rdf:Description> </rdf:RDF>
Ahogyan az [RDF-SZEMANTIKA] megjegyzi, �s
ahogyan a 4.1 szekci�ban le�rt kont�ner
sz�k�szlet kapcs�n is felmer�lt, az RDF nem
k�ti ki a "j�l form�lts�g" ("well-formedness") k�vetelm�ny�t a kollekci�s
sz�k�szlet haszn�lat�ban sem. �gy teh�t, amikor a tripleteket ki�rjuk a
hosszabb �r�sm�ddal, akkor defini�lhatjuk az RDF gr�fokat egy kev�sb� j�l
struktur�lt form�ban, vagyis nem �gy, ahogyan azokat az RDF automatikusan
gener�lja, amikor az rdf:parseType="Collection"
-ra �p�l�
r�vid�tett �r�sm�dot haszn�ljuk. P�ld�ul, nem illeg�lis azt kijelenteni, hogy
egy adott csom�pont rdf:first
tulajdons�g�nak k�t k�l�nb�z�
�rt�ke van, ugyanis ezzel el��ll�thatunk olyan lista-szerkezeteket is,
amelyeknek a v�ge el�gazik, vagy nem listak�nt folytat�dik, vagy egyszer�en
csak kihagyhatjuk vele a kollekci� egy r�sz�nek a le�r�s�t. Hasonl�k�ppen, az
olyan gr�fok, amelyeket a kollekci�s sz�k�szlettel a hosszabb �r�sm�dban
defini�lunk, URI hivatkoz�sokat is haszn�lhatnak a lista komponenseinek
azonos�t�s�ra az �res csom�pontok helyett (amelyek a lista-strukt�r�n bel�l
egyediek). Ebben az esetben lehets�ges volna tripleteket kre�lni m�s
gr�fokban is, amelyek tov�bbi elemeket adhatn�nak a kollekci�hoz, �s ily
m�don ny�ltt� v�lhatna a kollekci�.
Ennek k�vetkezt�ben, azokat az RDF alkalmaz�sokat, amelyek azt ig�nylik, hogy a kollekci�k "j�l form�ltak" legyenek, �gy kell meg�rni, hogy ellen�rizz�k a kollekci�s sz�k�szlet korrekt haszn�lat�t, ha stabilak �s robusztusak akarnak maradni. Emellett az olyan nyelvek, mint pl. az [OWL], amelyek tov�bbi korl�toz�sokat defini�lhatnak az RDF gr�fok strukt�r�j�val kapcsolatban, eleve ki is z�rhatj�k az ilyen speci�lis szerkezetek egyik vagy m�sik v�ltozat�t.
Az RDF alkalmaz�soknak n�ha RDF kijelent�sekkel kell le�rniuk m�s RDF
kijelent�seket. Ilyen eset pl. az, ha inform�ci�t kell r�gz�teni arr�l, hogy
mikor k�sz�tett�k az adott kijelent�seket, ki k�sz�tette �ket, vagy m�s
hasonl� inform�ci�t, amelyeket n�ha sz�rmaz�si inform�ci�knak h�vunk.
Eml�kezz�nk a 3.2 szekci�ban bemutatott 9. p�ld�ra, mely le�r egy
exproducts:item10245
URI hivatkoz�ssal azonos�tott s�tort,
amelyet az example.com aj�nl az Interneten: ennek a le�r�snak az egyik
tripletje, mely le�rja a s�tor s�ly�t, a k�vetkez� volt:
exproducts:item10245 exterms:weight "2.4"^^xsd:decimal .
Itt nagyon hasznos lenne, ha az example.com azt is r�gz�ten�, hogy kit�l sz�rmazik ez az inform�ci�.
Az RDF-nek van egy olyan be�p�tett sz�k�szlete, amellyel magukr�l az RDF
kijelent�sekr�l is lehet kijelent�seket tenni. Azt az elj�r�st, amelynek
sor�n ezzel a sz�k�szlettel le�runk egy kijelent�st, t�rgyias�t�snak
h�vjuk, e m�velet eredm�ny�t pedig az adott kijelent�s
t�rgyiasul�s�nak, vagy megtestes�l�s�nek nevezz�k. Az RDF
t�rgyias�t� sz�k�szlete az rdf:Statement
t�pusb�l �s az
rdf:subject
, rdf:predicate
�s
rdf:object
tulajdons�gokb�l �ll (ezek jelent�se ebben a
sorrendben: Kijelent�s, "alanya", "�ll�tm�nya", "t�rgya"). Az RDF
rendelkez�s�nkre bocs�tja ugyan ezt a t�rgyias�t� sz�k�szletet, de csak
�vatosan szabad �ln�nk vele, mert nagyon k�nny� abba a t�ved�sbe esni, hogy a
sz�k�szlettel olyan dolgokat defini�lunk, amelyek t�nylegesen m�g nincsenek
defini�lva. Err�l k�s�bb m�g ejt�nk n�h�ny sz�t.
A t�rgyias�t� sz�k�szlet haszn�lat�val most t�rgyias�tsuk az eml�tett
s�tor s�ly�r�l sz�l� kijelent�st oly m�don, hogy hozz�rendelj�k az
exproducts:triple12345
URI hivatkoz�st, mely alanyk�nt ezt a
kijelent�st azonos�tja, majd pedig le�rjuk az eredeti kijelent�s egyes
r�szeit az al�bbi tripletekkel:
exproducts:triple12345 rdf:type rdf:Statement . exproducts:triple12345 rdf:subject exproducts:item10245 . exproducts:triple12345 rdf:predicate exterms:weight . exproducts:triple12345 rdf:object "2.4"^^xsd:decimal .
Ezek az elemi kijelent�sek azt fogalmazz�k meg, hogy az
exproducts:triple12345
URI hivatkoz�ssal azonos�tott er�forr�s
"t�pusa" Kijelent�s, �s ennek a kijelent�snek az "alanya" az
exproducts:item10245
er�forr�sra mutat, az "�ll�tm�nya" az
exterms:weight
tulajdons�gra, a "t�rgya" pedig egy olyan
decim�lis eg�sz sz�mra, amelyet a "2.4"^^xsd:decimal
tipiz�lt
liter�l �br�zol. Tegy�k fel, hogy az eredeti kijelent�st t�nylegesen az
exproducts:triple12345
azonos�tja, �s hasonl�tsuk �ssze az
eredeti kijelent�st a t�rgyiasult v�ltozat�val: vil�gosan l�that� hogy a
t�rgyias�t�s t�nylegesen le�rja az eredeti kijelent�st. Az RDF t�rgyias�t�
sz�k�szlet�nek konvenci� szerinti haszn�lata sor�n mindig a fenti
minta szerinti n�gy kijelent�ssel (a "t�rgyias�t� n�gyes"-nek is nevezett
kijelent�sekkel) �runk le egy m�sik kijelent�st.
A t�rgyias�t�s konvencion�lis haszn�lat�val az example.com c�g r�gz�thetn�
pl. azt a t�nyt, hogy John Smith �rta a fenti kijelent�st a s�tor s�ly�r�l,
oly m�don, hogy el�sz�r hozz�rendeln� az exproducts:triple12345
URI hivatkoz�st, mint az el�bb, majd elv�gezn� az eredeti kijelent�s
t�rgyias�t�s�t a fentebb megadott m�don, �s v�g�l, folytatva a t�rgyias�t�st,
hozz� adna egy elemi kijelent�st arr�l, hogy az
exproducts:triple12345
URI-vel azonos�tott eredeti kijelent�s
szerz�je (dc:creator
) az exstaff:85740
alkalmazotti
sorsz�mmal azonos�tott John Smith. Az elj�r�s sor�n az al�bbi kijelent�seket
kellene le�rnunk:
exproducts:triple12345 rdf:type rdf:Statement . exproducts:triple12345 rdf:subject exproducts:item10245 . exproducts:triple12345 rdf:predicate exterms:weight . exproducts:triple12345 rdf:object "2.4"^^xsd:decimal . exproducts:triple12345 dc:creator exstaff:85740 .
Az eredeti kijelent�s, annak t�rgyias�tott v�ltozata, valamint az ehhez hozz�adott �j kijelent�s John Smith szerz�s�g�r�l, a 17. �br�n l�that� gr�fot eredm�nyezn�:
Ezt a gr�fot, RDF/XML-ben, a 19. p�ld�ban bemutatott m�don �rhatjuk le:
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exterms="http://www.example.com/terms/" xml:base="http://www.example.com/2002/04/products"> <rdf:Description rdf:ID="item10245"> <exterms:weight rdf:datatype="&xsd;decimal">2.4</exterms:weight> </rdf:Description> <rdf:Statement rdf:about="#triple12345"> <rdf:subject rdf:resource="http://www.example.com/2002/04/products#item10245"/> <rdf:predicate rdf:resource="http://www.example.com/terms/weight"/> <rdf:object rdf:datatype="&xsd;decimal">2.4</rdf:object> <dc:creator rdf:resource="http://www.example.com/staffid/85740"/> </rdf:Statement> </rdf:RDF>
A 3.2 szekci� bemutatta az rdf:ID
attrib�tum haszn�lat�t RDF/XML-ben, amelynek seg�ts�g�vel egy
rdf:Description
elemben ler�vid�thett�k a kijelent�s alany�t
azonos�t� URI hivatkoz�st. Az rdf:ID
azonban haszn�lhat� egy
tulajdons�g-elemben is, p�ld�ul arra, hogy automatikusan el��ll�tsa
annak a tripletnek a t�rgyias�t�s�t, amelyet a tulajdons�g-elem gener�l. A 20. p�lda megmutatja, hogyan haszn�lhatjuk ki ezt a
lehet�s�get arra, hogy el��ll�tsuk ugyanazt a gr�fot, amelyet a 19. p�ld�ban m�r el��ll�tottunk:
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exterms="http://www.example.com/terms/" xml:base="http://www.example.com/2002/04/products"> <rdf:Description rdf:ID="item10245"> <exterms:weight rdf:ID="triple12345" rdf:datatype="&xsd;decimal">2.4 </exterms:weight> </rdf:Description> <rdf:Description rdf:about="#triple12345"> <dc:creator rdf:resource="http://www.example.com/staffid/85740"/> </rdf:Description> </rdf:RDF>
Ebben a v�ltozatban az rdf:ID="triple12345"
attrib�tum
megad�sa az exterms:weight
elemben azt az eredeti tripletet
eredm�nyezi, amelyik le�rta a s�tor s�ly�t:
exproducts:item10245 exterms:weight "2.4"^^xsd:decimal .
valamint a t�rgyias�t�s�nak tripletjeit:
exproducts:triple12345 rdf:type rdf:Statement . exproducts:triple12345 rdf:subject exproducts:item10245 . exproducts:triple12345 rdf:predicate exterms:weight . exproducts:triple12345 rdf:object "2.4"^^xsd:decimal .
Ezeknek a t�rgyias�t� tripleteknek az alanya egy olyan teljes URIref,
amely �gy alakul ki, hogy egybetoldjuk a b�zis URI-t (amelyet az
xml:base
deklar�ci�ban adtunk meg) egy "#
"
karakterrel (ami jelzi, hogy er�forr�sr�sz-azonos�t� k�vetkezik), valamint az
rdf:ID
attrib�tum �rt�k�vel; vagyis a tripleteknek ugyanaz lesz
az alanyuk, mint az el�z� p�ld�kban: exproducts:triple12345
.
Jegyezz�k meg azonban, hogy a t�rgyias�t�s kijelent�se nem azonos az eredeti kijelent�ssel, �s nem is implik�lja azt. Ha ugyanis valaki azt mondja, hogy John mondott valamit a s�tor s�ly�r�l, az nem mag�r�l a s�tor s�ly�r�l �ll�t valamit, hanem arr�l, hogy John mondott valamit valamir�l. Vagy megford�tva: amikor valaki le�rja a s�tor s�ly�t, az nem arr�l �ll�t valamit, hogy ki, mit mondott.
A fenti sz�veg nem v�letlen�l fogalmazott �gy, t�bb helyen is, hogy a "t�rgyias�t�s konvenci� szerinti haszn�lata". Mint m�r kor�bban megjegyezt�k, �vatoss�gra van sz�ks�g, amikor a t�rgyias�t� sz�k�szletet haszn�ljuk, mert k�nny� �gy k�pzelni, hogy ezzel a sz�k�szlettel valami olyan dolgot defini�lunk, ami m�g nincs defini�lva. Ha vannak olyan alkalmaz�sok, amelyek sikeresen haszn�lj�k a t�rgyias�t�st, akkor ez az�rt van, mert bizonyos konvenci�kat k�vetnek, �s olyan felt�telez�sekkel �lnek, amelyek t�bbletet jelentenek ahhoz a t�nyleges jelent�shez k�pest, amit az RDF defini�l a t�rgyias�t� sz�k�szlet�ben, �s t�bbletet jelentenek azokhoz az eszk�z�kh�z k�pest is, amelyeket ennek a sz�k�szletnek a t�mogat�s�hoz az RDF ny�jt.
Mindenekel�tt fontos megjegyezni, hogy a t�rgyias�t�s konvenci�szer� haszn�lat�n�l a t�rgyias�t� tripletek alany�r�l felt�telezz�k, hogy az egy konkr�t tripletet azonos�t egy konkr�t RDF dokumentumban, �s nem valamif�le tetsz�leges tripletet, amelynek ugyanaz az alanya, az �ll�tm�nya �s a t�rgya. Ezt a konvenci�t az�rt haszn�ljuk, mert a t�rgyias�t�st els�sorban olyan tulajdons�gok kifejez�s�re sz�nt�k, mint pl. a kijelent�s k�sz�t�si d�tuma, vagy az inform�ci� eredete (amire az eddigi p�ld�inkban is haszn�ltuk), �s az ilyen tulajdons�gokat mindig meghat�rozott tripletekre alkalmazzuk. L�tezhet t�bb olyan triplet, amelynek ugyanaz az alanya, �ll�tm�nya �s t�rgya, �s noha egy gr�f mindig tripletek halmazak�nt van defini�lva, ugyanaz a triplet-strukt�ra el�fordulhat t�bb k�l�nb�z� dokumentumban is. Hogy teh�t ezt a konvenci�t teljes m�rt�kben t�mogassuk, kell valami olyan eszk�z, amivel �sszekapcsolhatjuk a t�rgyias�t� tripletek alany�t egy meghat�rozott triplettel valamelyik dokumentumban. Az RDF azonban nem ad ehhez t�mogat�st.
A fenti p�ld�kban p�ld�ul nincs olyan explicit inform�ci� (sem a
tripletekben, sem az RDF/XML k�dban), amely jelezn�, hogy az eredeti
kijelent�s, amelyik le�rja a s�tor s�ly�t, t�nylegesen az az
exproducts:triple12345
nev� er�forr�s, amelyet a n�gy
t�rgyias�t� kijelent�snek, valamint annak az �t�dik kijelent�snek az
alanyak�nt adtunk meg, amely John Smith szerz�s�g�r�l sz�l. Ez r�gt�n
kider�l, ha r�n�z�nk a 17. �br�n felrajzolt gr�fra.
Az eredeti kijelent�s term�szetesen r�sze ennek a gr�fnak, de ami a
gr�fban szerepl� inform�ci�t illeti, az exproducts:triple12345
egy k�l�n er�forr�s, �s a gr�fnak nem ezt a r�sz�t azonos�tja. Az
RDF-ben nincs olyan be�p�tett lehet�s�g, amellyel jelezni lehetne, hogy egy
olyan URIref, mint az exproducts:triple12345
�ssze van kapcsolva
egy konkr�t kijelent�ssel vagy gr�ffal, azon t�l, hogy van egy olyan
be�p�tett lehet�s�ge, amellyel jelezni tudjuk, hogy egy olyan URIref, mint az
exproducts:item10245
mik�nt kapcsol�dik egy t�nyleges s�torhoz.
Ez azt jelenti, hogy egy meghat�rozott URIref-nek valamilyen specifikus
er�forr�shoz (eset�nkben egy kijelent�shez) val� kapcsol�s�t valamilyen
RDF-en k�v�li mechanizmussal kell megoldani.
Az rdf:ID
-nek a 20. p�ld�ban
bemutatott haszn�lata automatikusan gener�lja a t�rgyias�t�st, �s megfelel�
lehet�s�get ny�jt arra is, hogy megnevezz�k azt az URI hivatkoz�st, amelyet a
t�rgyias�t� kijelent�sek alanyak�nt k�v�nunk haszn�lni. S�t ez m�g egyfajta
"cs�kly�t" is jelent, ami �sszekapcsolja a t�rgyias�t� tripleteket azzal az
RDF/XML k�dr�sszel, amelyik ezeket a tripleteket gener�lja, minthogy az
rdf:ID
attrib�tum triple12345
�rt�k�b�l �ll el� az
az URIref is, amely a t�rgyias�t� tripletek alany�t azonos�tja. Ism�telten
hangs�lyozzuk azonban, hogy ez a viszony szint�n csak az RDF-en k�v�l
l�tezik, mivel semmi nincs a gener�lt tripletekben, ami explicit m�don
kimondan�, hogy az eredeti triplet URI hivatkoz�sa az
exproducts:triple12345
. (Az RDF ugyanis nem felt�telezi, hogy
valamilyen viszony van egy URIref �s egy olyan RDF/XML k�dr�sz k�z�tt,
amelyben ezt – ak�r teljes hosszban, ak�r r�vid�tett form�ban –
haszn�lj�k.)
Egy olyan be�p�tett eszk�z hi�nya, amellyel URI hivatkoz�sokat tripletekhez (kijelent�sekhez) lehet asszoci�lni, nem jelenti azt, hogy eff�le "sz�rmaz�si" inform�ci�kat nem lehet kifejezni RDF-ben, hanem csak azt, hogy ezt nem lehet megtenni puszt�n arra a jelent�sre alapozva, amelyet az RDF maga asszoci�l a t�rgyias�t� sz�k�szlet�hez. P�ld�ul: ha egy RDF dokumentumnak (mondjuk, egy weblapnak) van egy URI-je, akkor kijelent�seket tehet�nk arr�l az er�forr�sr�l, amelyet ez az URI azonos�t, majd pedig, alapozva arra az alkalmaz�sf�gg�, "k�ls� tud�sra", hogy mik�nt kell ezeket a kijelent�seket �rtelmezni, az alkalmaz�s �rtelmezheti pl. �gy, hogy ezek a kijelent�sek a dokumentum �sszes �ll�t�s�ra vonatkoznak. Ugyan�gy, ha l�tezne valamilyen mechanizmus (az RDF-en k�v�l) arra, hogy URI hivatkoz�sokat kapcsoljunk egyedi RDF kijelent�sekhez, akkor bizony�ra tehetn�nk kijelent�seket ezekr�l az egyedi kijelent�sekr�l is az �ket azonos�t� URI-k seg�ts�g�vel. Ilyen esetekben azonban nem lenne felt�tlen�l sz�ks�ges konvenci�szer�en haszn�lni a t�rgyias�t� sz�k�szletet.
Hogy bemutassuk ezt, tekints�k ism�t az eredeti kijelent�s�nket a s�tor s�ly�r�l:
exproducts:item10245 exterms:weight "2.4"^^xsd:decimal .
Ha ennek a kijelent�snek az azonos�t�sa c�lj�b�l hozz� kapcsolhatn�nk
ehhez az exproducts:triple12345
URIref-et, akkor ennek a
kijelent�snek a szerz�s�g�t egyszer� m�don John Smith-hez t�rs�thatn�nk a
k�vetkez� kijelent�ssel:
exproducts:triple12345 dc:creator exstaff:85740 .
�s tehetn�nk mindezt an�lk�l is, hogy haszn�ln�nk a t�rgyias�t�
sz�k�szletet (b�r annak a le�r�s�hoz, hogy az
exproducts:triple12345
URIref �ltal azonos�tott dolog t�pusa:
"kijelent�s" (rdf:type =
rdf:Statement
), nem lenne
haszontalan a sz�k�szlet alkalmaz�sa).
Emellett, a t�rgyias�t� sz�k�szletet k�zvetlen�l is haszn�lhatn�nk, a fentebb defini�lt konvenci�nak megfelel�en, azzal az alkalmaz�sf�gg� tud�ssal kombin�lva, hogy mik�nt kell egyes tripleteket a t�rgyiasul�sukhoz kapcsolni. Ilyenkor azonban azok az alkalmaz�sok, amelyek megkapj�k az ilyen RDF k�dot, nem sz�ks�gszer�en rendelkeznek ugyanezzel az alkalmaz�sf�gg� tud�ssal, �s �gy nem felt�tlen�l interpret�ln�k helyesen annak a gr�fjait.
Azt is fontos megjegyezni, hogy a t�rgyias�t�s im�nt le�rt �rtelmez�se nem azonos az "id�zet" fogalm�val, amelyet egyes sz�m�t�g�p-nyelvekben haszn�lnak. A t�rgyias�t�s ugyanis egy viszonyt �r le egy konkr�t triplet �s azon er�forr�sok k�z�tt, amelyekre a triplet hivatkozik. Teh�t intuit�v m�don, valahogy �gy kellene olvasnunk a t�rgyias�t�st: "ez az RDF triplet ezekr�l a dolgokr�l sz�l", �s nem �gy, ahogy az id�zet teszi: "ennek az RDF tripletnek ez a form�ja". �gy teh�t az al�bbi t�rgyias�t�si p�lda:
exproducts:triple12345 rdf:subject exproducts:item10245 .
amelyet m�r haszn�ltunk ebben a szekci�ban, �s amelyik az eredeti
kijelent�s alany�t �rja le, azt mondja ki (az rdf:subject
tulajdons�g r�v�n), hogy a kijelent�s alanya az az er�forr�s (a s�tor),
amelyet az exproducts:item10245
URIref azonos�t. Nem
azt mondja teh�t, hogy a kijelent�s alanya maga az URIref (azaz egy
olyan karakterl�nc, amelyik bizonyos karakterekb�l �ll), ahogyan ezt az
"id�zet" teszi.
A 2.3 szekci�ban m�r sz� volt arr�l, hogy az RDF modell csak bin�ris rel�ci�kat k�pes le�rni a be�p�tett lehet�s�geivel; azaz, egy kijelent�s csak k�t er�forr�s k�z�tt �llap�that meg valamilyen viszonyt. P�ld�ul az al�bbi kijelent�s:
exstaff:85740 exterms:manager exstaff:62345 .
azt mondja, hogy az "igazgat�ja" (exterms:manager
) viszony
�ll fenn k�t alkalmazott k�z�tt (feltehet�en az egyik igazgatja a
m�sikat).
Bizonyos esetekben azonban olyan inform�ci�kat kell �br�zolnunk, amelyekben kett�n�l t�bb er�forr�s k�z�tt kell a viszonyokat le�rnunk, vagyis, kett�n�l t�bb �g� (azaz magasabb "arit�s�") rel�ci�kat kell kezeln�nk RDF-ben. A 2.3. szekci� m�r bemutatott erre egy p�ld�t, ahol az volt a probl�ma, hogy �br�zolnunk kell a viszonyt John Smith �s a lak�sc�me k�z�tt, �s ahol John c�me egy struktur�lt �rt�k volt, mely utcan�vb�l, v�rosn�vb�l, az �llam nev�b�l �s az ir�ny�t�sz�mb�l �llt. Ha ezt az inform�ci�t rel�ci� form�j�ban akarjuk le�rni, akkor l�thatjuk, hogy itt m�r egy n-�ris (t�bb �g�, angolul: n-ary) rel�ci�r�l van sz�, ahol n=5:
address(exstaff:85740, "1501 Grant Avenue",
"Bedford", "Massachusetts", "01730")
A 2.3 szekci�ban m�r megjegyezt�k, hogy az ilyen jelleg� struktur�lt inform�ci�t �gy �br�zoljuk RDF-ben, hogy ezt az �sszetett dolgot (azaz John c�m�t) egy �n�ll� er�forr�snak tekintve �rjuk le �gy, hogy t�bb k�l�n kijelent�st tesz�nk err�l az �j er�forr�sr�l, ahogy az al�bbi tripletek mutatj�k:
exstaff:85740 exterms:address _:johnaddress . _:johnaddress exterms:street "1501 Grant Avenue" . _:johnaddress exterms:city "Bedford" . _:johnaddress exterms:state "Massachusetts" . _:johnaddress exterms:postalCode "01730" .
(Itt _:johnaddress
egy �rescsom�pont-azonos�t�, mely John
c�m�t reprezent�lja.)
Az RDF-ben b�rmilyen n-�ris rel�ci� �br�zol�s�nak ez a szok�sos
m�dja: v�laszd a r�sztvev�k egyik�t az eredeti bin�ris rel�ci� (eset�nkben az
address
) alany�nak (eset�nkben ez John), majd specifik�lj egy
k�zb�ls� (ak�r �res, ak�r URI-vel azonos�tott) er�forr�st (eset�nkben ez
_:johnaddress), mely az eredeti bin�ris rel�ci� t�rgyak�nt, s egyszersmind
egy sor �jabb bin�ris rel�ci� alanyak�nt is funkcion�l, amelyek az
n-�ris rel�ci� tov�bbi komponenseit (eset�nkben a c�m elemeit)
�br�zolj�k a tulajdons�gok �s �rt�keik megad�s�val.
John c�me eset�ben a struktur�lt �rt�k egyetlen egyedi r�sz�t sem
tekintj�k a c�m (exterms:address
) tulajdons�g "f�" �rt�k�nek;
minden r�sz azonos m�rt�kben j�rul hozz� az �sszetett �rt�k kialak�t�s�hoz.
Egyes esetekben azonban a struktur�lt �rt�k �sszetev�inek egyik�t "f�"
�rt�knek kell tekinten�nk, m�g a t�bbi �sszetev�k kieg�sz�t� jelleg�
kontextu�lis, vagy egy�b inform�ci�t sz�ll�tanak, amelyek min�s�tik a f�
�rt�ket. P�ld�ul a 3.2 szekci� �ltal bemutatott
9. p�ld�ban egy meghat�rozott s�tort�pus s�lyak�nt a
2.4 decim�lis �rt�ket adtuk meg tipiz�lt liter�l seg�ts�g�vel:
exproduct:item10245 exterms:weight "2.4"^^xsd:decimal .
Val�j�ban, a s�ly kiel�g�t� le�r�sa 2.4 kilogramm volna, hiszen a
2.4 sz�m a m�rt�kegys�g n�lk�l nem pontosan specifik�lja a s�lyt.
Hogy ezt is megadhassuk, az exterms:weight
(s�ly) tulajdons�gnak
k�t komponensb�l kellene �llnia: a decim�lis �rt�k tipiz�lt liter�lj�b�l,
valamint a m�rt�kegys�g (kilogramm) jelz�s�b�l. Ilyen esetben a decim�lis
�rt�ket az exterms:weight
tulajdons�g "f�" �rt�k�nek kell
tekinten�nk, hiszen ezt az �rt�ket legt�bbsz�r egyetlen tipiz�lt liter�llal
adj�k meg (mint a fenti tripletben is), �s r�b�zz�k az ezeket haszn�l�
programokra, vagy felhaszn�l�kra, hogy a hi�nyz� m�rt�kegys�get a kontextus
alapj�n "der�ts�k ki".
Az RDF modellben az eff�le min�s�tett tulajdons�g�rt�ket egyszer�en egy
m�sfajta struktur�lt �rt�knek tekintj�k. Hogy ezt �br�zolhassuk, egy k�l�n
er�forr�st haszn�lunk a struktur�lt �rt�knek mint eg�sznek az �br�zol�s�ra,
mely az eredeti kijelent�s (exterms:weight
) t�rgyak�nt jelenik
meg. Ehhez az er�forr�shoz azut�n olyan tulajdons�gokat rendel�nk, amelyek a
struktur�lt �rt�k r�szeit �br�zolj�k. Eset�nkben kell egy tulajdons�g a
decim�lis �rt�ket reprezent�l� tipiz�lt liter�l megad�s�ra, �s kell egy m�sik
tulajdons�g a m�rt�kegys�g le�r�s�ra. Az RDF-ben van egy el�re defini�lt
tulajdons�g, az rdf:value
, amelyik a struktur�lt adat f�
�rt�k�nek le�r�s�ra szolg�l (ha van ilyen). �gy teh�t, eset�nkben, a s�lyt
�br�zol� tipiz�lt liter�lt az rdf:value
�rt�kek�nt adhatjuk meg,
m�g a s�lyegys�get (exunits:kilograms
) a m�rt�kegys�g
(exterms:units
) tulajdons�g �rt�kek�nt (felt�ve persze, hogy az
itt eml�tett h�rom kifejez�st m�r defini�lt�k az example.org saj�t
sz�k�szlet�ben). Ha ezek a felt�telek fenn�llnak, akkor az eredm�ny�l kapott
tripletek az al�bbiak lesznek:
exproduct:item10245 exterms:weight _:weight10245 . _:weight10245 rdf:value "2.4"^^xsd:decimal . _:weight10245 exterms:units exunits:kilograms .
Ugyanezt az RDF/XML haszn�lat�val a 21. p�ld�ban le�rt m�don fejezhetj�k ki:
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:exterms="http://www.example.org/terms/"> <rdf:Description rdf:about="http://www.example.com/2002/04/products#item10245"> <exterms:weight rdf:parseType="Resource"> <rdf:value rdf:datatype="&xsd;decimal">2.4</rdf:value> <exterms:units rdf:resource="http://www.example.org/units/kilograms"/> </exterms:weight> </rdf:Description> </rdf:RDF>
A 21. p�lda illusztr�lja a 4.2. szekci�ban ismertetett
rdf:parseType
attrib�tumnak egy �jabb alkalmaz�s�t, ahol az
�rt�ke ez�ttal nem "Collection", hanem "Resource". Az
rdf:parseType="Resource"
t�pus� attrib�tumot annak jelz�s�re
haszn�ljuk, hogy az ilyen attrib�tum� elem tartalm�nak elemz�sekor (parsing)
azt egy �j er�forr�s (Resource) le�r�s�nak (egy �res csom�pontnak) kell
�rtelmezni an�lk�l, hogy megadn�nk egy be�gyazott
rdf:Description
elemet. Eset�nkben az
exterms:weight
tulajdons�g-elemben haszn�lt
rdf:parseType="Resource"
attrib�tum azt jelzi, hogy egy �res
csom�pontot kell kre�lni az exterms:weight
tulajdons�g
�rt�kek�nt, �s hogy a k�t k�zrefogott elem (az rdf:value
�s az
exterms:units
) ezt az �res csom�pontot �rja le. (Az [RDF-SZINTAXIS] dokumentumban tov�bbi r�szletek
tal�lhat�k az rdf:parseType="Resource"
attrib�tumr�l.)
Ugyanezt a m�dszert haszn�ljuk akkor is, ha b�rmilyen m�s m�rt�kegys�gben
megadott mennyis�get �br�zolunk, �s akkor is, ha az �br�zoland� �rt�keket
k�l�nb�z� oszt�lyoz� vagy min�s�t� rendszerekb�l vessz�k: minden esetben az
rdf:value
tulajdons�ggal adjuk meg a f� �rt�ket, a tov�bbi
tulajdons�gokkal pedig egy�b olyan inform�ci�kat adunk meg, amelyek
sz�ks�gesek a f� �rt�k pontos �rtelmez�s�hez (pl. ezekkel azonos�thatjuk az
oszt�lyoz�/min�s�t� s�m�t).
Nem k�telez� azonban az rdf:value
tulajdons�got haszn�lni
erre a c�lra; pl. egy olyan, felhaszn�l� �ltal defini�lt tulajdons�gnevet is
haszn�lhattunk volna a 21. p�ld�ban, mint
exterms:amount
, az rdf:value
helyett, hiszen az RDF
nem t�rs�t semmilyen speci�lis jelent�st ehhez a n�vhez. Ez csup�n egy
k�nyelmi eszk�z egy gyakran el�fordul� le�r�si szitu�ci� megold�s�ra.
T�ny, hogy ma m�g, a k�l�nb�z� adatb�zisokban, a weben (s�t m�g a k�s�bbi
p�ld�inkban is) t�bbnyire a legegyszer�bb form�ban vannak megadva az olyan
tulajdons�gok �rt�kei, mint a s�ly, a fogyaszt�i �r stb. M�gis hangs�lyoznunk
kell azt az alapelvet, hogy az �rt�kek ilyen egyszer�s�tett megad�sa gyakran
nem elegend� ahhoz, hogy pontosan le�rj�k a tulajdons�got. Egy olyan glob�lis
k�rnyezetben, mint a Web, �ltal�ban nem biztons�gos azzal a felt�telez�ssel
�lni, hogy aki elolvassa egy tulajdons�g �rt�k�t, az felt�tlen�l �rti is,
hogy milyen egys�gben van az megadva, vagy hogy ismeri azokat a
k�rnyezetf�gg� inform�ci�kat, amelyek az adat helyes �rtelmez�s�hez
sz�ks�gesek. P�ld�ul az Egyes�lt �llamokban egy webhely megadhat egy
s�ly�rt�ket Fontban, �m egy m�s orsz�gbeli sz�rf�z� k�nnyen azt hiheti, hogy
ez a s�ly Kilogrammban van megadva. A weben tal�lhat� adatok korrekt
�rtelmez�se teh�t azt ig�nyli, hogy az adatokkal egy�tt explicit m�don
megadjuk azok interpret�ci�s adatait is (legal�bb a m�rt�kegys�g�ket). Ezt
sokf�le m�don meg lehet val�s�tani: pl. az rdf:value
mechanizmus�nak fentebb ismertetett haszn�lat�val, a m�rt�kegys�gnek a
tulajdons�g nev�be t�rt�n� be�p�t�s�vel (pl.
exterms:weightInKg
), specializ�lt adatt�pusok defini�l�s�val,
amelyek m�rt�kegys�g-inform�ci�t is tartalmaznak (pl.
extypes:kilograms
), vagy �ppen a felhaszn�l� �ltal defini�lt,
olyan tulajdons�gok megad�s�val, amelyekkel specifik�lhat�k az aktu�lisan
haszn�lt m�rt�kegys�gek (pl. exterms:unitOfWeight
). �s az ilyen
inform�ci�k�zl�st c�lszer� alkalmazni mind az egyes term�kek le�r�s�ban, mind
a nagyobb adathalmazok le�r�s�ban (mint pl. katal�gus-adatok, vagy egy adott
webhely adatai), mind pedig a s�m�kban (amelyekr�l az 5.
fejezetben m�g sz�lunk).
N�ha egy tulajdons�g �rt�kek�nt XML k�d egy darabj�t, vagy olyan sz�veget kell megadnunk, amelyben XML jel�l�sek is szerepelnek. P�ld�ul egy kiad� szeretne publik�lni olyan RDF meta-adatokat, amelyek k�nyvek vagy cikkek c�meit tartalmazz�k. J�llehet, az ilyen c�mek t�bbnyire egyszer� karakterl�ncok, de nem mindig ilyen egyszer� a helyzet. P�ld�ul a matematikai szakk�nyvek c�mei tartalmazhatnak matematikai formul�kat is, amelyek MathML [MATHML] nyelven �r�dtak, de a c�mek tartalmazhatnak XML jel�l�seket egy�b okokb�l is. Ilyen p�ld�ul a Ruby annot�l�s (a jap�n �s k�nai �r�s kiejt�si jeleinek felt�ntet�se az �r�s f�l�tti sorban, az �r�shoz k�pest fele akkora fontm�retben) [RUBY]. Vagy ilyenek lehetnek a sz�veg olvas�si ir�ny�t, esetleg a speci�lis bet�k�pek vari�nsait azonos�t� XML jel�l�sek (l�sd pl. [CHARMOD]).
Az RDF/XML speci�lis elemeket biztos�t, amelyek megk�nny�tik az ilyen
t�pus� liter�lok �r�s�t. Ilyen pl. az rdf:parseType attrib�tum
harmadik v�ltozata. Ha egy elemnek az rdf:parseType="Literal"
attrib�tumot megadjuk, ez azt jelzi, hogy az elem tartalm�t XML
k�dr�szletk�nt kell interpret�lni. A 22. p�lda
illusztr�lja ennek az alkalmaz�s�t:
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="http://www.example.com/books"> <rdf:Description rdf:ID="book12345"> <dc:title rdf:parseType="Literal"> <span xml:lang="en"> The <em><br /></em> Element Considered Harmful. </span> </dc:title> </rdf:Description> </rdf:RDF>
A 22. p�ld�ban bemutatott RDF/XML k�d egy olyan
gr�fot �r le, mely egyetlen tripletet tartalmaz: ennek az alanya egy bizonyos
k�nyv, amelynek azonos�t�ja: ex:book12345
, az �ll�tm�nya pedig
az, hogy "c�me" (dc:title
). Az
rdf:parseType="Literal"
attrib�tum pedig azt jelzi, hogy a
<dc:title>
elem tartalma egy XML k�dr�sz, mely
(eset�nkben) a triplet t�rgyak�nt a k�nyv c�m�t �br�zolja. A gr�fban ez a c�m
egy olyan tipiz�lt liter�lk�nt jelenik meg, amelynek az adatt�pusa
rdf:XMLLiteral
. (Ezt az [RDF-FOGALMAK] dokumentum defini�lja,
kifejezetten XML k�dr�szek �br�zol�sa c�lj�ra, bele�rtve ebbe az olyan
sz�vegek �br�zol�s�t is, amelyek esetleg nem tartalmaznak XML jel�l�seket).
Az XML k�dr�szletnek "hitelesnek" kell lennie az XML Exkluz�v hiteles�t�si
aj�nl�sa (az "XML Exclusive Canonicalization Recommendation", [XML-XC14N]) szerint. Ez azt jelenti, hogy a
k�dr�szletben meg kell adni a haszn�lt n�vterek deklar�ci�it, a speci�lis
karakterek uniformiz�lt �tugrat�s�t, �s az egy�b transzform�ci�kat. (R�szben
emiatt, r�szben pedig abb�l a meggondol�sb�l, hogy a tripletek �r�sa is m�g
tov�bbi transzform�ci�kat ig�nyel, a t�nyleges tipiz�lt liter�lt itt nem
mutatjuk meg. L�v�n, hogy az RDF/XML tartalmazza az
rdf:parseType="Literal"
attrib�tumot, az RDF felhaszn�l�knak
nem kell k�zvetlen�l foglalkozniuk ezekkel a transzform�ci�kkal.
Azok, akiket �rdekelnek az ezzel kapcsolatos r�szletek, felkereshetik az [RDF-FOGALMAK] �s az [RDF-SZINTAXIS] dokumentumokat.) Az olyan
kontextu�lis attrib�tumok, mint az xml:lang
�s az
xml:base
szint�n nem automatikusan �r�kl�dnek �t az RDF/XML
dokumentumb�l, ez�rt ha sz�ks�ges, explicit m�don specifik�lni kell ezeket az
XML-liter�lk�nt megadott k�dr�szletben is.
Ez a p�lda is j�l mutatta, hogy nagy figyelemre van sz�ks�g az RDF adatok
tervez�s�n�l. Els� pillant�sra �gy t�nik, hogy a c�mek egyszer�
karakterl�ncok, amelyeket t�pus n�lk�li liter�lokkal lehet a legjobban
�br�zolni, �s csak k�s�bb vessz�k �szre, hogy n�h�ny c�m adott esetben
jel�l�seket is tartalmazhat. Olyan esetekben teh�t, amikor egy bizonyos
tulajdons�g �rt�ke v�rhat�lag olyan, hogy egyik esetben tartalmaz XML
jel�l�seket, a m�sikban meg nem, akkor vagy �gy j�runk el, hogy
k�vetkezetesen az rdf:parseType="Literal"
-t haszn�ljuk, vagy
pedig szoftverrel kezeltetj�k az alkalmaz�sainkban az ilyen tulajdons�gok
�rt�keik�nt megadott t�pus n�lk�li liter�lokat, vagy az
rdf:XMLLiteral
-k�nt megadott k�dr�szeket.
Az RDF lehet�s�get ny�jt er�forr�sokr�l sz�l� kijelent�sek
megfogalmaz�s�ra, n�vvel rendelkez� tulajdons�gok �s �rt�keik seg�ts�g�vel.
Az RDF felhaszn�l�i k�z�ss�geknek azonban sz�ks�g�k van arra is, hogy el�re
defini�lhass�k az olyan sz�k�szleteiket (szakkifejez�seiket), amelyeket majd
ezekben a kijelent�sekben k�v�nnak alkalmazni. Mindenekel�tt sz�ks�g�k van
arra, hogy defini�lhass�k az �ltaluk k�s�bb le�rni k�v�nt er�forr�sok
specifikus fajt�it vagy oszt�lyait, valamint azokat a specifikus
tulajdons�gokat amelyekkel majd ezeknek az oszt�lyoknak az egyedeit
k�v�nj�k jellemezni. P�ld�ul az example.com c�g, amelyet a 3.2 szekci� p�ld�ib�l m�r ismer�nk, nyilv�n szeretne
defini�lni olyan oszt�lyokat, mint pl. S�tor (exterms:Tent
), �s
a k�l�nf�le s�tort�pusok le�r�s�hoz szeretne defini�lni olyan
tulajdons�gokat, mint pl. az exterms:model
,
exterms:weightInKg
, �s exterms:packedSize
. (Az
ilyen oszt�lyok �s tulajdons�gok neveik�nt pedig min�s�tett neveket
haszn�lna, k�l�nb�z� "example" n�vt�rprefixekkel, mintegy eml�keztet��l arra,
hogy az RDF-ben az ilyen nevek val�j�ban URI hivatkoz�sok, ahogyan ezt a 2.1 szekci�ban m�r t�rgyaltuk.) Ugyan�gy, azok az
emberek, akik bibliogr�fiai er�forr�sok le�r�s�ban �rdekeltek, nyilv�n
szeretn�nek defini�lni ilyen oszt�lyokat mint K�nyv vagy Foly�iratcikk
(ex2:Book
vagy ex2:MagazineArticle
) �s olyan
tulajdons�gokat, mint "szerz�", "c�m" �s "t�ma" (ex2:author
,
ex2:title
�s ex2:subject
), amelyekkel k�s�bb a
k�nyveket �s a foly�iratcikeket le�rhatj�k. Megint m�s c�gek szeretn�nek
defini�lni olyan oszt�lyokat, mint Szem�ly �s C�g (ex3:Person
�s
ex3:Company
), valamint olyan tulajdons�gokat, mint "�letkor",
"beoszt�s", "r�szv�ny-jel" �s "az alkalmazottak sz�ma" (
ex3:age
, ex3:jobTitle
, ex3:stockSymbol
�s ex3:numberOfEmployees
). Az RDF, maga, azonban nem ny�jt
eszk�z�ket az ilyen alkalmaz�sf�gg� oszt�lyok �s tulajdons�gok
defini�l�s�hoz. Az ilyen oszt�lyokat �s tulajdons�gokat, egy RDF sz�k�szlet
elemeik�nt, csak az RDF nyelv kiterjeszt�s�nek, az RDF Sz�k�szlet Le�r�
Nyelvnek a seg�ts�g�vel defini�lhatjuk, amelyet r�viden RDF S�m�nak nevez�nk.
Ezt a s�m�t az RDF Sz�k�szlet Le�r�
Nelv 1.0: RDF S�ma, [RDF-SZ�K�SZLET]
dokumentum ismerteti.
Az RDF S�ma term�szetesen nem tartalmazza az eff�le
alkalmaz�s-specifikus oszt�lyokat, mint exterms:Tent
,
ex2:Book
vagy ex3:Person
, vagy az ilyen
tulajdons�gokat, mint exterms:weightInKg
,
ex2:author
vagy ex3:JobTitle
. Ehelyett olyan
eszk�z�ket �s m�dszereket tartalmaz, amelyek sz�ks�gesek az
ilyen oszt�lyok �s tulajdons�gok defini�l�s�hoz, valamint annak jelz�s�hez,
hogy mely oszt�lyokat �s tulajdons�gokat k�v�nunk egy�tt haszn�lni. (Ez
ut�bbira p�lda annak jelz�se, hogy az ex3:jobTitle
tulajdons�got
csakis az ex3:Person
oszt�ly egyedeinek a le�r�s�hoz k�v�njuk
haszn�lni). M�s sz�val, az RDF S�ma egy "t�pus-rendszert" ny�jt az RDF
sz�m�ra. Az RDF S�ma t�pus-rendszere n�h�ny szempontb�l hasonl�t az olyan
objektumortient�lt programoz�si nyelvek t�pus-rendszer�hez, mint pl. a Java.
Az RDF S�ma lehet�v� teszi, p�ld�ul, hogy az er�forr�sokat egy vagy t�bb
oszt�ly egyedek�nt defini�ljuk, s�t azt is lehet�v� teszi, hogy az
oszt�lyokat hierarchi�kba szervezz�k. �gy p�ld�ul egy olyan oszt�lyt, mint a
Kutya, pl. az Eml�s oszt�ly aloszt�lyak�nt defini�lhatunk, ami viszont az
�llat oszt�ly aloszt�lya lehet. Ezzel l�nyeg�ben azt jelentj�k ki, hogy egy
er�forr�s, amelyik a Kutya oszt�lyban szerepel, implicite az �llat oszt�lynak
is tagja. Az RDF oszt�lyok �s tulajdons�gok azonban n�h�ny szempontb�l
jelent�sen k�l�nb�znek a programnyelvekben haszn�latos "t�pusokt�l". Az RDF
oszt�lyok �s tulajdons�gok ugyanis nem jelentenek valamif�le
k�nyszerzubbonyt, amelybe bele kell er�ltetni az inform�ci�t; ezek ink�bb
olyan mechanizmusok, amelyek tov�bbi inform�ci�kat ny�jtanak az �ltaluk le�rt
RDF oszt�lyokr�l. Ez az inform�ci� sokf�lek�ppen felhaszn�lhat�, amint arr�l
r�szletesebben sz�lunk majd az 5.3
szekci�ban.
Az RDF S�ma eszk�zt�ra maga is egy RDF sz�k�szlet
form�j�ban �ll a rendelkez�s�nkre; vagyis olyan, el�re defini�lt RDF
er�forr�sok specializ�lt halmaz�nak form�j�ban, amelyeknek saj�tos jelent�s�k
van. Az RDF S�ma sz�k�szlet�ben szerepl� er�forr�sok URI hivatkoz�sai mind a
http://www.w3.org/2000/01/rdf-schema#
prefixszel �rhet�k el
(amelyet konvencion�lisan az rdfs:
min�s�tettn�v-prefixhez
asszoci�l az RDF). Az RDF S�ma nyelven meg�rt sz�k�szletek (m�s n�ven: s�m�k)
leg�lis RDF gr�fok. Ebb�l k�vetkezik, hogy egy RDF szoftver, amelyet nem �gy
�rtak meg, hogy az RDF S�ma sz�k�szlet�t is fel tudja dolgozni, ennek
ellen�re is k�pes egy s�m�t leg�lis gr�fk�nt �rtelmezni, csakhogy ez nem
fogja "�rteni" az RDF S�ma kifejez�seinek be�p�tett t�bbletjelent�s�t. Ahhoz,
hogy meg�rthesse ezt, �gy kell meg�rni az RDF inform�ci�t feldolgoz�
szoftvert, hogy az a kiterjesztett RDF-et dolgozza fel, amely nemcsak az
rdf:
sz�k�szletb�l �ll, hanem mag�ban foglalja az
rdfs:
sz�k�szletet is, annak be�p�tett jelent�s�vel egy�tt. Ezt
a t�m�t j�rjuk k�r�l a k�vetkez� szekci�kban.
Az al�bb k�vetkez� szekci�k az RDF S�ma alapvet� er�forr�sait �s tulajdons�gait ismertetik.
B�rmilyen le�r�si folyamatban az egyik alapvet� l�p�s a le�rand� dolgok
k�l�nb�z� fajt�inak azonos�t�sa. Az RDF S�ma a "dolgok fajt�it"
oszt�lyoknak nevezi. Az RDF S�m�ban az oszt�ly fogalma nagyj�b�l
megfelel a t�pus vagy a kateg�ria �ltal�nos fogalm�nak, �s
n�mileg hasonl�t az olyan objektumorient�lt nyelvek oszt�lyfogalm�hoz, mint a
Java. Az RDF oszt�lyai a dolgok csaknem minden kateg�ri�j�nak az �br�zol�s�ra
alkalmasak, legyenek azok pl. weblapok, emberek, dokumentumt�pusok,
adatb�zisok, vagy ak�r elvont fogalmak. Az oszt�lyokat az
rdfs:Class
�s az rdfs:Resource
nev� RDF S�ma
er�forr�sok, valamint az rdf:type
�s az
rdfs:subClassOf
nev� tulajdons�gok seg�ts�g�vel �rhatjuk le.
T�telezz�k fel, p�ld�ul, hogy egy szervezet, az example.org, arra szeretn� haszn�lni az RDF-et, hogy inform�ci�kat ny�jtson k�l�nf�le g�pj�rm�vekr�l. Ennek a c�gnek a saj�t RDF s�m�j�ban (priv�t sz�k�szlet�ben) el�sz�r is sz�ks�ge lesz egy olyan oszt�lyra, amelyik a G�pj�rm� kateg�ri�t k�pviseli. Azokat az er�forr�sokat, amelyek valamilyen oszt�lyhoz tartoznak, az oszt�ly p�ld�nyainak (instance) vagy egyedeinek (individual) nevezz�k. Eset�nkben az example.org c�g ennek az oszt�lynak az egyedei alatt olyan er�forr�sokat �rt, amelyek mind g�pj�rm�vek.
Az RDF S�m�ban oszt�lynak tekint�nk minden olyan er�forr�st,
amelyiknek a le�r�s�ban szerepel egy olyan rdf:type
tulajdons�g,
amelynek az �rt�ke az Oszt�ly nev� er�forr�s (rdfs:Class
). �gy
teh�t a g�pj�rm� (motor vehicle) oszt�lyt �gy �rhatjuk le, hogy nevet adunk
neki (pontosabban: hozz� rendel�nk egy URI hivatkoz�st), mondjuk, az
ex:MotorVehicle
min�s�tett nevet (ahol ex:
a
http://www.example.org/schemas/vehicles
URI hivatkoz�s
r�vid�t�se, amely prefixk�nt az example.org sz�k�szlet�t azonos�tja), majd
pedig kijelentj�k az �gy azonos�tott er�forr�sr�l, hogy annak t�pusa
(rdf:type
) = Oszt�ly (rdfs:Class
). Az example.org
teh�t a k�vetkez� RDF kijelent�ssel defini�lhatn� ezt az �j oszt�lyt:
ex:MotorVehicle rdf:type rdfs:Class .
Mint m�r jelezt�k a 3.2 szekci�ban, az
rdf:type
tulajdons�got annak kijelent�s�re haszn�ljuk, hogy a
vele jellemzett er�forr�s valamely oszt�lynak az egyede. �gy, ha az
ex:MotorVehicle
er�forr�st m�r oszt�lyk�nt defini�ltuk, akkor pl
a "c�gaut�" (exthings:companyCar
) nev� egyedi er�forr�st RDF-ben
�gy deklar�lhatn�nk g�pj�rm�nek:
exthings:companyCar rdf:type ex:MotorVehicle .
(Ez a kijelent�s haszn�lja azt az �ltal�nos konvenci�t, hogy az oszt�lyneveket nagy kezd�bet�vel �rjuk, a tulajdons�gok �s az egyedek nev�t pedig kicsivel. Ennek a konvenci�nak a betart�s�t azonban sem az RDF, sem az RDF S�ma nem v�rja el, �s nem is ellen�rzi. A fenti kijelent�s prefixei azt is el�rulj�k, hogy az example.org �gy d�nt�tt, hogy k�l�n-k�l�n sz�k�szletben defini�lja az oszt�lyokat �s az egyedeket.)
Mag�nak az rdfs:Class
er�forr�snak a t�pusa szint�n
rdfs:Class
. Egy er�forr�s t�bb oszt�lynak is lehet az egyede.
Az example.org, miut�n le�rta az ex:MotorVehicle
oszt�lyt,
defini�lhat tov�bbi oszt�lyokat is, amelyek a g�pj�rm�vek k�l�nf�le speci�lis
csoportjait k�pviselik, mint pl. Szem�lyg�pkocsi (Passanger Vehicle),
Teherg�pkocsi (Truck), Van, Mini-Van stb. Ezeket az oszt�lyokat is ugyan�gy
�rja le, mint fentebb a G�pj�rm� oszt�lyt (ex:MotorVehicle
),
vagyis mindegyiknek egy nevet (URI hivatkoz�st) ad, �s egy-egy kijelent�ssel
oszt�lynak deklar�lja �ket, a k�vetkez�k�ppen:
ex:Van rdf:type rdfs:Class . ex:Truck rdf:type rdfs:Class .
�s �gy tov�bb. De ezek a kijelent�sek, �nmagukban, csak az egyes
oszt�lyokat �rj�k le. Az example.org c�g azonban jel�lni akarja ezeknek a
viszony�t a G�pj�rm� (ex:MotorVehicle
) oszt�lyhoz, mondv�n, hogy
ezek nem egyebek, mint a G�pj�rm� specializ�lt fajt�i.
Az ilyen specializ�ci�s viszonyt, k�t oszt�ly k�z�tt, a be�p�tett
rdfs:subClassOf
(aloszt�lya ~nak) tulajdons�ggal �rjuk le. [A tulajdons�gnevek magyar ford�t�s�nak
olvas�sakor a tilde karakter (~) hely�re k�pzelj�k a triplet t�rgy�t. �gy a
magyarra ford�tott tripletekben is fenntarthatjuk a tripletek eredeti
sz�rendj�t – a ford.]. P�ld�ul, ha az example.org
ki akarja jelenteni, hogy a Van
egy speci�lis fajt�ja a
G�pj�rm�nek, akkor az RDF S�ma seg�ts�g�vel ezt �gy �rja le:
ex:Van rdfs:subClassOf ex:MotorVehicle .
Ebben a kijelent�sben az "aloszt�lya ~nak" (rdfs:subClassOf
)
viszony jelent�se az, hogy az ex:Van
oszt�ly b�rmelyik egyede
egyben az ex:MotorVehicle
oszt�lynak is egyede. �gy teh�t, ha
pl. az exthings:companyVan
az ex:Van
oszt�ly egyik
egyede, akkor az olyan szoftver, amelyik �rti az RDF S�ma sz�k�szlet�t, a
fenti rdfs:subClassOf
rel�ci� alapj�n ki tudja k�vetkeztetni ebb�l azt, a mondatban
egy�bk�nt explicite nem szerepl� inform�ci�t is, hogy az
exthings:companyVan
egy G�pj�rm�.
Ez az exthings:companyVan
p�lda j�l
illusztr�lja azt a kor�bbi megjegyz�s�nket, hogy az RDF S�ma az RDF
szemantikai kiterjeszt�s�t defini�lja. Az RDF, maga, ugyanis nem defini�lja
az RDF S�ma sz�k�szlet�b�l val� ilyen kifejez�sek speci�lis jelent�s�t, mint
pl. az rdfs:subClassOf
. �gy, ha a c�g RDF s�m�ja defini�ln� az
rdfs:subClassOf
viszonyt az ex:Van
�s az
ex:MotorVehicle
k�z�tt, akkor az olyan RDF szoftver, amelyik nem
�rti az RDF S�ma kifejez�seit, felismern� ugyan, hogy ez egy triplet,
amelynek az �ll�tm�nya rdfs:subClassOf
, de nem �rten� ennek a
speci�lis "mondanival�j�t", �s �gy nem is tudn� "kitermelni" a mondatb�l azt
a plusz inform�ci�t, hogy az exthings:companyVan
szint�n egy
g�pj�rm� (l�v�n az ex:MotorVehicle
oszt�ly egyede).
Az rdfs:subClassOf
tulajdons�g tranzit�v. Ez azt
jelenti, hogy, ha p�ld�ul adott az al�bbi k�t RDF kijelent�s:
ex:Van rdfs:subClassOf ex:MotorVehicle . ex:MiniVan rdfs:subClassOf ex:Van .
akkor az RDF S�ma a tranzitivit�s elve alapj�n, implicit
m�don, ezt a tripletet is defini�lta: ex:MiniVan rdfs:subClassOf
ex:MotorVehicle
. A tranzivit�s jelent�se alapj�n teh�t az RDF
S�m�t ismer� alkalmaz�s "r�j�het" arra, hogy azok az er�forr�sok, amelyek az
ex:MiniVan
oszt�ly egyedei, nemcsak az ex:Van
oszt�lynak, de az ex:MotorVehicle
oszt�lynak is egyedei. Egy
oszt�ly egyszerre t�bb oszt�lynak is lehet aloszt�lya (pl. a MiniVan oszt�ly
egyszerre lehet aloszt�lya a Van oszt�lynak �s a Szem�lyg�pkocsi oszt�lynak
is). Az RDF S�ma minden oszt�lyt eleve az Er�forr�s
(rdfs:Resource
) oszt�ly aloszt�lyak�nt �rtelmez (minthogy az
�sszes oszt�ly egyedei er�forr�sok).
A 18. �bra a teljes oszt�lyhierarchi�t mutatja, amelyet a fenti p�ld�kban t�rgyaltunk:
(Hogy egyszer�s�ts�k az �br�t, az rdf:type
tulajdons�gokat,
amelyek minden oszt�lyt az rdfs:Class
oszt�lyhoz kapcsoltak,
kihagytuk a 18. �br�b�l. Val�j�ban az RDF S�ma minden
olyan er�forr�st, amelyik megjelenik az rdfs:subClassOf
tulajdons�g alanyak�nt vagy t�rgyak�nt, eleve rdfs:Class
t�pus�
er�forr�snak tekint, ez teh�t k�l�n defin�ci� n�lk�l is kik�vetkeztethet�.
Amikor azonban val�di s�m�kat �runk, a helyes gyakorlat az, hogy m�gis
explicit m�don megadjuk ezt az inform�ci�t.)
A 18. �br�n l�that� s�ma tripletekkel is le�rhat�:
ex:MotorVehicle rdf:type rdfs:Class . ex:PassengerVehicle rdf:type rdfs:Class . ex:Van rdf:type rdfs:Class . ex:Truck rdf:type rdfs:Class . ex:MiniVan rdf:type rdfs:Class . ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle . ex:Van rdfs:subClassOf ex:MotorVehicle . ex:Truck rdfs:subClassOf ex:MotorVehicle . ex:MiniVan rdfs:subClassOf ex:Van . ex:MiniVan rdfs:subClassOf ex:PassengerVehicle .
A 23. p�lda azt mutatja, hogyan �rn�nk le ugyanezt a s�m�t RDF/XML-ben:
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://example.org/schemas/vehicles"> <rdf:Description rdf:ID="MotorVehicle"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Description> <rdf:Description rdf:ID="PassengerVehicle"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description rdf:ID="Truck"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description rdf:ID="Van"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description rdf:ID="MiniVan"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#Van"/> <rdfs:subClassOf rdf:resource="#PassengerVehicle"/> </rdf:Description> </rdf:RDF>
Ahogyan azt m�r a 3.2 szekci�ban, a 13. p�ld�val kapcsolatban is t�rgyaltuk, az RDF
lehet�v� tesz egy r�vid�t�st az olyan er�forr�sok le�r�s�n�l, amelyeknek van
egy rdf:type
tulajdons�guk (vagyis, amelyek tipiz�lt
csom�pontok). Minthogy az RDF S�ma oszt�lyai RDF er�forr�sok, ez a r�vid�t�si
m�dszer alkalmazhat� az oszt�lyok le�r�s�n�l is. Ennek a r�vid�t�snek az
alkalmaz�s�val a fenti s�ma �gy is le�rhat�, ahogyan azt a 24. p�lda mutatja:
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://example.org/schemas/vehicles"> <rdfs:Class rdf:ID="MotorVehicle"/> <rdfs:Class rdf:ID="PassengerVehicle"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="Truck"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="Van"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="MiniVan"> <rdfs:subClassOf rdf:resource="#Van"/> <rdfs:subClassOf rdf:resource="#PassengerVehicle"/> </rdfs:Class> </rdf:RDF>
Ehhez hasonl�, tipiz�lt csom�pontokon alapul� r�vid�t�seket haszn�lunk ennek a szekci�nak a tov�bbi r�sz�ben is.
A 23. �s a 24. p�ld�ban
bemutatott RDF/XML le�r�s neveket vezet be (mint pl.
MotorVehicle
) az er�forr�sok (oszt�lyok) sz�m�ra, amelyeket az
rdf:ID
seg�ts�g�vel rendel az oszt�lyokhoz, jelezve, hogy ezek a
nevek relat�v URI hivatkoz�sok az �ppen le�rt s�madokumentumon
bel�l, ahogyan ezt m�r a 3.2 szekci�ban is
l�ttuk. Az rdf:ID
itt k�tszeresen is hasznos, mert egyr�szt
r�vid�ti a hivatkoz�st, �s emellett ellen�rzi azt is, hogy a seg�ts�g�vel
megadott n�v egyedi-e az aktu�lis b�zis-URI-vel azonos�tott dokumentumon
bel�l. Ez seg�t �szrevenni, ha v�letlen�l egyn�l t�bbsz�r defini�lunk egy
oszt�lynevet az adott RDF s�m�ban. Az ilyen neveken alapul� relat�v URI-kkel
azut�n a s�madokumentumon bel�l m�s oszt�lyokb�l, ak�rh�nyszor hivatkozhatunk
ezekre az oszt�lyokra, ahogyan pl. a #MotorVehicle
relat�v
hivatkoz�st haszn�ltuk n�h�ny oszt�ly defin�ci�j�ban. Ha az aktu�lis s�m�nk
pl. a http://example.org/schemas/vehicles
dokumentum lenne,
akkor ennek az oszt�lynak a teljes URI hivatkoz�sa �gy n�zne ki:
http://example.org/schemas/vehicles#MotorVehicle
(ahogy a 18. �bra legfels� er�forr�s�n�l is l�that�). Mint a 3.2. szekci�ban m�r megjegyezt�k: ahhoz, hogy a
s�m�ban szerepl� oszt�lyokra t�rt�n� hivatkoz�s akkor is konzisztens
maradjon, ha esetleg ugyanezt a s�m�t valamilyen okb�l k�t webhelyen is
hozz�f�rhet�v� kell tenni, vagy ha v�rhat�, hogy a r�szeit elosztva kell
t�rolni, akkor a s�m�t alkot� dokumentumok alkalmazhatnak egy explicit
b�zis-URI deklar�ci�t, ami eset�nkben
xml:base="http://example.org/schemas/vehicles"
lenne. (Az
xml:base
haszn�lata helyes gyakorlatnak tekinthet�, ez�rt mi is
haszn�ltuk ezt mindk�t p�ld�nkban.)
Ha az example.org c�g helyesen akar hivatkozni ezekre az oszt�lyokra az
egyedek RDF-ben t�rt�n� le�r�s�n�l (pl. a fenti g�pj�rm�-oszt�lyokhoz tartoz�
egyedi j�rm�vek jellemz�s�n�l) abban az esetben is, ha ezeket az oszt�lyokat
el�z�leg m�s dokumentumban defini�lta, akkor vagy teljesen ki�rt abszol�t (az
aktu�lis b�zis URI-n alapul�) URI hivatkoz�sokat kell haszn�lnia, vagy pedig
olyan min�s�tett nevekkel kell az oszt�lyokra hivatkoznia, amelyek egy
megfelel� n�vt�rprefix-deklar�ci� r�v�n ugyanezt az abszol�t URI hivatkoz�st
eredm�nyezik. A 25. p�ld�nkban a "c�gaut�"
(companyCar) nev� er�forr�st a 24. p�ld�ban
defini�lt ex:MotorVehicle
oszt�ly
egyed�nek deklar�ljuk:
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/schemas/vehicles#" xml:base="http://example.org/things"> <ex:MotorVehicle rdf:ID="companyCar"/> </rdf:RDF>
Vegy�k �szre, hogy amikor az RDF kiterjeszti az
ex:MotorVehicle
min�s�tett nevet, akkor az
xmlns:ex="http://example.org/schemas/vehicles#"
n�vt�r-deklar�ci�t haszn�lja, �s �gy az adott oszt�lyra hivatkoz� teljes
abszol�t URIref a
http://example.org/schemas/vehicles#MotorVehicle
lesz, ami
pontosan megfelel a 18. �bra tetej�n megadott
er�forr�snak. A p�ld�ban szerepl�
xml:base="http://example.org/things"
b�zis-URI-deklar�ci�t az�rt
adtuk meg, hogy az rdf:ID="companyCar"
attrib�tumban relat�v
form�ban adhassuk meg az egyed nev�t, tekintve, hogy az rdf:ID
(mint attrib�tum) �rt�ke nem lehet min�s�tett n�v, �s ez�rt itt nem
haszn�lhatn�nk pl. az exthings:companyCar
nevet egy hozz�tartoz�
xmlns:exthings
n�vt�r-deklar�ci�val.
Amellett, hogy el�re defini�lni tudj�k azoknak a dolgoknak az oszt�lyait,
amelyeket majd k�s�bb jellemezni szeretn�nek, a felhaszn�l�i
k�z�ss�geknek sz�ks�g�k van olyan lehet�s�gre is, hogy el�re defini�lhass�k
azokat a specifikus tulajdons�gokat is, amelyekkel ezeket az
oszt�lyokat jellemezhetik. (Ilyen tulajdons�g lehet pl. a Szem�lyg�pkocsi
oszt�lyban a h�ts� �l�sek el�tt, az utasok l�bai sz�m�ra fenntartott ter�let
nagys�ga, amelyr�l rearSeatLegRoom
n�ven m�g t�bbsz�r lesz sz� a
tov�bbi p�ld�inkban). Az RDF S�m�ban a tulajdons�gokat a Tulajdons�g
(rdf:Property
) nev� RDF oszt�ly, valamint az "�rv�nyess�gi k�r"
(rdfs:domain
) az "�rt�ktartom�ny" (rdfs:range
) �s
az "altulajdons�ga ~nak" (rdfs:subPropertyOf
) nev� RDF S�ma
tulajdons�gok (m�s sz�val: tulajdons�gkorl�toz�sok) haszn�lat�val �rjuk le.
[A tulajdons�gnevek magyar
ford�t�s�nak olvas�sakor a tilde karakter (~) hely�re k�pzelj�k a triplet
t�rgy�t. �gy a magyarra ford�tott tripletekben is fenntarthatjuk a tripletek
eredeti sz�rendj�t – a ford.]
Az RDF-ben minden tulajdons�got az rdf:Property
oszt�ly
egyedek�nt �runk le. �gy, ha egy olyan �j tulajdons�got defini�lunk, mint pl.
"kilogrammban m�rt s�ly" (exterms:weightInKg
), akkor el�sz�r is
adunk neki egy ilyen nevet (pontosabban: hozz� rendel�nk a fogalomhoz egy
ilyen URI hivatkoz�st), majd pedig egy olyan rdf:type
megad�s�val, amelynek �rt�ke az rdf:Property
oszt�ly,
tulajdons�gk�nt defini�ljuk ezt az egyedet. A "kilogrammban m�rt s�ly" egyedi
tulajdons�g pl. az al�bbi kijelent�ssel defini�lhat�:
exterms:weightInKg rdf:type rdf:Property .
Az RDF S�ma egy olyan sz�k�szletet is tartalmaz, amellyel le�rhatjuk, hogy
mely tulajdons�gokat, mely oszt�lyokkal �sszef�gg�sben k�v�nunk haszn�lni az
RDF adatok le�r�sakor. A legfontosabb ilyen jelleg� inform�ci�t az
"�rv�nyess�gi k�re" (rdfs:domain
) illetve az "�rt�ktartom�nya"
(rdfs:range
) RDF S�ma tulajdons�gokkal adhatjuk meg (ezeket
tulajdons�gkorl�toz�soknak is nevezz�k) .
Az rdfs:range
tulajdons�got annak jelz�s�re haszn�ljuk, hogy
egy adott tulajdons�g �rt�ke csak a megjel�lt oszt�ly valamelyik egyede
lehet. P�ld�ul, ha az example.org c�g azt akarn� jelezni, hogy a "szerz�je"
(ex:author
) tulajdons�g csak a Szem�ly (ex:Person
)
oszt�ly egyedei k�z�l ker�lhet ki, akkor az al�bbi RDF kijelent�seket �rn�
le:
ex:Person rdf:type rdfs:Class . ex:author rdf:type rdf:Property . ex:author rdfs:range ex:Person .
Ezek a kijelent�sek azt mondj�k, hogy az ex:Person
egy
oszt�ly, az ex:author
egy tulajdons�g, valamint, hogy egy olyan
j�v�beli RDF kijelent�s, amelyik majd az ex:author
tulajdons�got
haszn�lja, ennek �rt�kek�nt (azaz, a mondat t�rgyak�nt) csak az
ex:Person
oszt�ly valamelyik egyed�t jel�lheti meg.
Egy olyan tulajdons�ghoz, mint pl. "anyja" (ex:hasMother
),
hozz�rendelhet�nk z�r�, egy, vagy t�bb "�rt�ktartom�nya"
tulajdons�gkorl�toz�st. Ha nem adunk meg egyet sem, akkor ez azt jelenti,
hogy nem k�v�njuk korl�tozni az "anyja" tulajdons�g lehets�ges �rt�keit. Ha
megadunk egyet, mondjuk az ex:Person
oszt�lyt, akkor ezzel azt
deklar�ljuk, hogy az ex:hasMother
tulajdons�g lehets�ges �rt�kei
az ex:Person
oszt�ly egyedei. Ha t�bb �rt�ktartom�nyt adunk meg
az ex:hasMother
tulajdons�g sz�m�ra, mondjuk az
ex:Person
oszt�ly mellett m�g az ex:Female
(N�nem�L�ny) oszt�lyt is, akkor ezzel azt fejezz�k ki, hogy az "anyja"
tulajdons�g �rt�ke lehet b�rmi, ami Szem�ly �s ugyanakkor N�nem�L�ny
is.
Lehet, hogy ez ut�bbi �ll�t�sunk nem azonnal bel�that�, hiszen nem lehet
egyetlen rdfs:range
tulajdons�gnak k�t k�l�nb�z� �rt�ket adni.
Azonban ez nem is sz�ks�ges, minthogy az ex:hasMother
alanyra
megadhatunk kett� vagy t�bb "�rt�ktartom�nya" (rdfs:range
)
kijelent�st is, k�l�nb�z� �rt�kekkel:
ex:hasMother rdfs:range ex:Female . ex:hasMother rdfs:range ex:Person .
E deklar�ci�k alapj�n, az al�bbi kijelent�sb�l:
exstaff:frank ex:hasMother exstaff:frances .
amelynek �ll�tm�ny�ban az im�nt defini�lt ex:hasMother
tulajdons�got haszn�ljuk, nemcsak az �llap�that� meg, hogy "Frank anyja
Frances", hanem az is, hogy Frances szem�ly �s n�nem�. (Ha Frances nem lenne
mind az
mind
ex:Person
,pedig
az ex:Female
oszt�ly egyedek�nt
deklar�lva, akkor ezt a mondatot az RDF elemz� hib�sk�nt visszadobn�.)
Az rdfs:range
�rt�ke nemcsak valamilyen felhaszn�l� �ltal
defini�lt oszt�ly lehet, hanem egy XML S�ma adatt�pus is, mint pl.
xsd:integer
, mely t�rt�netesen az eg�sz sz�mok oszt�ly�t
reprezent�lja. (Az ilyen adatt�pusokat a 2.4.
szekci�ban a tipiz�lt liter�lok �br�zol�s�val kapcsolatban m�r
t�rgyaltuk). Ha p�ld�ul az example.org c�g azt akarn� jelezni, hogy az
"�letkora" (ex:age
) tulajdons�g �rt�ke csakis eg�sz sz�m (vagyis
az XML S�ma adatt�pus xsd:integer
oszt�ly�nak egyik egyede)
lehet, akkor az ex:age
tulajdons�got �gy defini�ln� RDF-ben:
ex:age rdf:type rdf:Property . ex:age rdfs:range xsd:integer .
Az xsd:integer
adatt�pust az URI hivatkoz�s�val azonos�tjuk,
amelynek teljes v�ltozata:
http://www.w3.org/2001/XMLSchema#integer
. Ez az URIref an�lk�l
haszn�lhat�, hogy explicit m�don kijelenten�nk a s�m�ban, hogy egy adatt�pust
reprezent�l. M�gis, gyakran hasznos explicit m�don kijelenteni, hogy egy
adott URIref valamilyen adatt�pust azonos�t. Ezt az
rdfs:Datatype
nev� RDF S�ma oszt�ly haszn�lat�val tehetj�k meg.
Ha az example.org ki akarn� jelenteni, hogy az xsd:integer
egy
adatt�pus, akkor a k�vetkez� RDF mondatot �rhatn�:
xsd:integer rdf:type rdfs:Datatype .
Ez a kijelent�s azt mondja, hogy az xsd:integer
egy olyan
adatt�pus URI hivatkoz�sa, amelyr�l felt�telezz�k, hogy megfelel az [RDF-FOGALMAK] dokumentum�ban le�rt
k�vetelm�nyeknek. Egy ilyen kijelent�s nem jelent adatt�pus-defin�ci�t (abban
az �rtelemben, hogy az example.com egy �j adatt�pust defini�l). Az RDF
S�m�ban nincs is lehet�s�g arra, hogy adatt�pusokat defini�ljunk. Amint a 2.4 szekci�ban m�r jelezt�k, az adatt�pusok
defini�l�sa az RDF-en �s az RDF S�m�n k�v�l t�rt�nik. Az RDF mondatokb�l csak
hivatkozhatunk ezekre, az URIref-jeik seg�ts�g�vel. A fenti mondat
puszt�n csak arra szolg�l, hogy dokument�lja az adatt�pus l�tez�s�t, �s
jelezze, hogy ebben a s�m�ban haszn�lni fogjuk azt.
Az "�rv�nyess�gi k�re" (rdfs:domain
) RDF S�ma tulajdons�got
(m�s sz�val: tulajdons�gkorl�toz�st) annak jelz�s�re haszn�ljuk, hogy egy
adott tulajdons�g a megjel�lt oszt�lyra vonatkozik (vagyis, csak arra
�rv�nyes). Ha pl. az example.org c�g azt szeretn� jelezni, hogy a "szerz�je"
(ex:author
) tulajdons�g csak a K�nyv (ex:Book
)
oszt�ly egyedeire legyen �rv�nyes, akkor a k�vetkez� RDF kijelent�seket
tenn�:
ex:Book rdf:type rdfs:Class . ex:author rdf:type rdf:Property . ex:author rdfs:domain ex:Book .
Ezek a mondatok azt jelentik, hogy az ex:Book
egy oszt�ly, az
ex:author
egy tulajdons�g, valamint, hogy az
ex:author
tulajdons�g alanya csak az ex:Book
oszt�ly valamelyik egyede lehet (vagy m�sk�nt kifejezve: az
ex:author
tulajdons�g �rv�nyess�gi k�re az ex:Book
oszt�ly egyedeinek halmaza).
Egy adott tulajdons�g, pl. a "s�lya" ( exterms:weight
),
rendelkezhet z�r�, egy, vagy t�bb "�rv�nyess�gi k�re"
(rdfs:domain
) tulajdons�gkorl�toz�ssal. Ha egyetlen ilyent sem
adunk meg, akkor ez azt jelenti, hogy nem akarjuk korl�tozni a tulajdons�g
�rv�nyess�gi k�r�t, teh�t b�rmelyik er�forr�snak lehet "s�lya" tulajdons�ga.
Ha csak egyetlen ilyen korl�toz�st adunk meg, amelyik pl. a K�nyv oszt�lyt
jel�li meg e tulajdons�g �rv�nyess�gi k�r�nek, akkor ez a tulajdons�g
kiz�r�lag a K�nyv oszt�ly egyedeire lesz alkalmazhat�. Ha azonban t�bb
korl�toz�st adn�nk meg a
"s�lya" tulajdons�gra, amelyek k�z�l az
egyik pl. a K�nyv oszt�lyt, a m�sik pedig a G�pj�rm�
oszt�lyt
nevezn� meg �rv�nyess�gi k�rnek, akkor ezzel azt jelenten�nk ki, hogy b�rmely
er�forr�s, amelynek lehet olyan tulajdons�ga, hogy "s�lya", az a G�pj�rm�
oszt�lynak, �s a K�nyv oszt�lynak egyar�nt egyede kell hogy
legyen. (Ez ut�bbi p�lda azt is illusztr�lja, hogy mennyire �vatosnak kell
lenn�nk az ilyen t�bbsz�r�s korl�toz�sokkal.)
Ugyan�gy mint az "�rt�ktartom�nya" (rdfs:range
)
tulajdons�gkorl�toz�s haszn�lat�n�l, itt is els�re neh�z lehet elk�pzelni,
mik�nt adhatunk k�t k�l�nb�z� �rt�ket az rdfs:domain
tulajdons�gnak, hogy deklar�ljuk a kett�s korl�toz�st. A magyar�zat azonban
itt is hasonl�: k�t k�l�n mondatban rendelj�k az
exterms:weight
tulajdons�ghoz a k�t rdfs:domain
�rt�ket:
exterms:weight rdfs:domain ex:Book . exterms:weight rdfs:domain ex:MotorVehicle .
Ezt k�vet�en minden olyan kijelent�s, amelyik az
exterms:weight
tulajdons�got haszn�lja, mint pl. ez:
exthings:companyCar exterms:weight "2500"^^xsd:integer .
csak akkor lehet korrekt, ha az alanyak�nt haszn�lt er�forr�s (eset�nkben
az exthings:companyCar
) mind az ex:Book
oszt�lynak,
mind az ex:MotorVehicle
oszt�lynak egyede.
Az rdfs:range
�s az rdfs:domain
tulajdons�gkorl�toz�sok le�r�sa j�l illusztr�lhat� a "G�pj�rm�" s�m�nk olyan
kiterjeszt�s�vel, hogy megadunk k�t g�pj�rm�-tulajdons�got: a "tulajdonosa"
�s a "h�ts��l�sEl�ttiT�rNagys�ga" (a p�ld�kban: ex:registeredTo
,
illetve ex:rearSeatLegRoom
n�ven), valamint bevezet�nk egy �j
oszt�lyt "Szem�ly" (ex:Person
) n�ven, �s le�rjuk, hogy az
xsd:integer
-t mint adatt�pust fogjuk haszn�lni ebben a s�m�ban.
A "tulajdonosa" (ex:registeredTo
) tulajdons�got �gy defini�ljuk,
hogy alanya csak az ex:MotorVehicle
oszt�lyb�l, �rt�ke pedig
csak az ex:Person
oszt�lyb�l sz�rmaz� er�forr�s lehessen. Ebben
p�ld�ban az ex:rearSeatLegRoom
tulajdons�got az
ex:PassengerVehicle
(Szem�lyg�pkocsi) oszt�ly egyedeire
korl�tozzuk, �s ennek �rt�ke egy eg�sz sz�m (xsd:integer
) t�pus�
adat lesz, mely a "h�ts��l�sEl�ttiT�rNagys�ga" tulajdons�got centim�terekben
adja meg. Ezek a le�r�sok a 26. p�ld�ban
l�that�k.
<rdf:Property rdf:ID="registeredTo"> <rdfs:domain rdf:resource="#MotorVehicle"/> <rdfs:range rdf:resource="#Person"/> </rdf:Property> <rdf:Property rdf:ID="rearSeatLegRoom"> <rdfs:domain rdf:resource="#PassengerVehicle"/> <rdfs:range rdf:resource="&xsd;integer"/> </rdf:Property> <rdfs:Class rdf:ID="Person"/> <rdfs:Datatype rdf:about="&xsd;integer"/>
Figyelj�k meg, hogy a 26. p�ld�ban nem haszn�lunk
<rdf:RDF> elemet, mert �gy tekintj�k ezt a kis k�dr�szletet, hogy
k�s�bb beillesztj�k a 24. p�ld�ban szerepl�
G�pj�rm� s�ma sz�veg�be. Ugyanilyen alapon haszn�lunk relat�v URI hivatkoz�st
a s�m�ban defini�lt ilyen oszt�lyokra is, mint pl. a G�pj�rm�
(MotorVehicle
).
Az RDF S�ma az oszt�lyok mellett a tulajdons�gok eset�ben is lehet�v�
teszi a specializ�ci�t. A specializ�ci�s viszonyt k�t tulajdons�g k�z�tt az
el�re defini�lt "altulajdons�ga ~nak" (rdfs:subPropertyOf
) RDF
S�ma tulajdons�ggal �rjuk le. Ha pl. a "seg�dvezet�je"
(ex:secondaryDriver
) �s a "vezet�je" (ex:driver
)
egyar�nt tulajdons�gok, akkor az example.org c�g a k�vetkez�k�ppen defini�ln�
ezt a k�t tulajdons�got �s a kettej�k k�z�tti specializ�ci�s viszonyt (vagyis
azt, hogy a "seg�dvezet�je" tulajdons�g a "vezet�je" tulajdons�g speci�lis
esete):
ex:driver rdf:type rdf:Property . ex:secondaryDriver rdf:type rdf:Property . ex:secondaryDriver rdfs:subPropertyOf ex:driver .
Az rdfs:subPropertyOf
viszony k�vetkezm�nye itt az, hogy ha
pl. azt mondjuk, hogy az exstaff:fred
szem�ly egyed az
ex:companyVan
g�pj�rm� egyed "seg�dvezet�je", akkor az RDF S�ma
implicit m�don azt a kijelent�st is gener�lja, hogy Fred "vezet�je" is ennek
a g�pj�rm�nek. Azt az RDF/XML k�dot, mely le�rja ezeket a tulajdons�gokat
(ism�t felt�telezve, hogy ezt majd be�p�tj�k a 24.
p�ld�ban l�that� s�m�ba) a 27. p�lda mutatja:
<rdf:Property rdf:ID="driver"> <rdfs:domain rdf:resource="#MotorVehicle"/> </rdf:Property> <rdf:Property rdf:ID="secondaryDriver"> <rdfs:subPropertyOf rdf:resource="#driver"/> </rdf:Property>
Egy tulajdons�g z�r�, egy, vagy t�bb tulajdons�gnak is altulajdons�ga
lehet. Minden rdfs:range
�s rdfs:domain
tulajdons�gkorl�toz�s, amelyet valamely tulajdons�gra megadunk, �rv�nyes
annak �sszes altulajdons�g�ra is. Ezen �sszef�gg�s r�v�n a fenti p�lda
(implicit m�don) azt is defini�lja, hogy az ex:secondaryDriver
tulajdons�g �rv�nyess�gi k�r�be (rdfs:domain
) az
ex:MotorVehicle
is beletartozik, hiszen az
ex:secondaryDriver
tulajdons�g az aloszt�ly-rel�ci� r�v�n �r�kli
az ex:driver
tulajdons�g korl�toz�sait.
A 28. p�lda mutatja azt az RDF/XML k�dot, mely tartalmazza a G�pj�rm� s�m�nkhoz eddig megadott �sszes le�r�st:
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://example.org/schemas/vehicles"> <rdfs:Class rdf:ID="MotorVehicle"/> <rdfs:Class rdf:ID="PassengerVehicle"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="Truck"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="Van"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="MiniVan"> <rdfs:subClassOf rdf:resource="#Van"/> <rdfs:subClassOf rdf:resource="#PassengerVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="Person"/> <rdfs:Datatype rdf:about="&xsd;integer"/> <rdf:Property rdf:ID="registeredTo"> <rdfs:domain rdf:resource="#MotorVehicle"/> <rdfs:range rdf:resource="#Person"/> </rdf:Property> <rdf:Property rdf:ID="rearSeatLegRoom"> <rdfs:domain rdf:resource="#PassengerVehicle"/> <rdfs:range rdf:resource="&xsd;integer"/> </rdf:Property> <rdf:Property rdf:ID="driver"> <rdfs:domain rdf:resource="#MotorVehicle"/> </rdf:Property> <rdf:Property rdf:ID="secondaryDriver"> <rdfs:subPropertyOf rdf:resource="#driver"/> </rdf:Property> </rdf:RDF>
Miut�n l�ttuk, hogy hogyan �rjuk le az oszt�lyokat �s tulajdons�gokat az
RDF S�ma seg�ts�g�vel, most m�r illusztr�lhatjuk azokat az egyedeket is,
amelyek az �gy defini�lt oszt�lyokat �s tulajdons�gokat haszn�lj�k. A 29. p�lda le�rja a 28.
p�ld�b�l ismert Szem�lyg�pkocsi oszt�ly
(ex:PassengerVehicle
) egyik egyed�t, n�h�ny tulajdons�g�val
egy�tt, amelyeknek itt most csak hipotetikus �rt�keket adunk.
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/schemas/vehicles#" xml:base="http://example.org/things"> <ex:PassengerVehicle rdf:ID="johnSmithsCar"> <ex:registeredTo rdf:resource="http://www.example.org/staffid/85740"/> <ex:rearSeatLegRoom rdf:datatype="&xsd;integer">127</ex:rearSeatLegRoom> <ex:secondaryDriver rdf:resource="http://www.example.org/staffid/85740"/> </ex:PassengerVehicle> </rdf:RDF>
Ez a p�lda felt�telezi, hogy ezt az egyedet (John Smith aut�j�t) nem
ugyanabban a dokumentumban �rjuk le, mint amelyikben a s�m�t le�rtuk.
Minthogy a s�ma b�zis-URI-je
http://example.org/schemas/vehicles
, ez�rt ebben a le�r�sban az
xmlns:ex="http://example.org/schemas/vehicles#"
n�vt�r-deklar�ci�val teremtj�k meg annak a lehet�s�g�t, hogy olyan
ex:
prefixszel min�s�tett nevekkel hivatkozhassunk a 28. p�lda s�m�j�ban deklar�lt oszt�lyokra �s
tulajdons�gokra (mint pl. az ex:registeredTo
), amelyeket korrekt
m�don, az ott defini�lt oszt�lyok �s tulajdons�gok abszol�t URI
hivatkoz�saira terjeszt ki az RDF. Az
xml:base="http://example.org/things"
deklar�ci�t pedig az�rt
adtuk meg ebben az k�dr�szletben, hogy lehet�v� tegy�k az itt le�rt egyed
relat�v azonos�t�j�nak (rdf:ID="johnSmithsCar"
) egy olyan URI
hivatkoz�ss� t�rt�n� kiterjeszt�s�t, mely a k�v�natos m�don, mindig az ebben
a dokumentumban szerepl� egyedre mutasson (akkor is, ha net�n k�t p�ld�nyban,
k�t k�l�nb�z� webhelyen l�tezne ugyanez a dokumentum).
Vegy�k �szre, hogy a "tulajdonosa" (ex:registeredTo
)
tulajdons�g nyugodtan haszn�lhat� a Szem�lyg�pkocsi oszt�lynak erre az
egyed�re (johnSmithsCar), mert a 28. p�lda s�m�j�ban
a Szem�lyg�pkocsi oszt�lyt a G�pj�rm� oszt�ly aloszt�ly�nak defini�ltuk, s
ez�rt �r�kli a G�pj�rm� oszt�ly tulajdons�gkorl�tait. Figyelj�k meg azt is,
hogy egy tipiz�lt liter�lt haszn�lunk az egyed "h�ts��l�sEl�ttiT�rNagys�ga"
(ex:rearSetLegRoom
) tulajdons�g�nak �rt�kek�nt, ahelyett, hogy
ezt az �rt�ket az
<ex:rearSeatLegRoom>127</ex:rearSeatLegRoom>
t�pus
n�lk�li liter�llal adtuk volna meg. Mivel a s�ma ennek a tulajdons�gnak az
�rt�ktartom�ny�t xsd:integer
-k�nt defini�lta, ez�rt e
tulajdons�g �rt�kek�nt csakis egy ennek az adatt�pusnak megfelel�
tipiz�lt liter�lt fogad el az RDF. Egy�b inform�ci�t is megadhatn�nk
(ak�r a s�m�ban, ak�r az egyedet le�r� dokumentumban) ennek az �rt�knek a
tov�bbi pontos�t�s�ra: pl. az adat m�rt�kegys�g�t (centim�ter), ahogyan azt a
4.4.szekci�ban m�r r�szletezt�k.
Mint m�r kor�bban megjegyezt�k, az RDF S�ma t�pus-rendszere n�mely tekintetben hasonl�t az olyan objektumorient�lt programoz�si nyelvek t�pus-rendszer�re, mint pl. a Java. Az RDF azonban t�bb l�nyeges k�rd�sben elt�r a programoz�si nyelvek t�pus-rendszer�t�l.
Az egyik fontos elt�r�s, hogy ahelyett, hogy �gy �rn�nk le egy oszt�lyt, mint amelyik rendelkezik egy sor tulajdons�ggal, az RDF s�ma a tulajdons�gokat �rja le �gy (az �rv�nyess�gi k�r�k �s az �rt�ktartom�nyuk seg�ts�g�vel), hogy azok az egyedek meghat�rozott oszt�lyaira vonatkoznak. Egy tipikus objektumorient�lt rendszer p�ld�ul defini�lna egy K�nyv oszt�lyt egy olyan attrib�tummal, mint pl. "szerz�je", amelynek az �rt�ke Szem�ly t�pus�. Az ennek megfelel� RDF s�ma viszont el�bb defini�lna egy K�nyv oszt�lyt, majd egy k�l�n le�r�sban defini�lna egy "szerz�je" tulajdons�got �gy, hogy ennek "�rv�nyess�gi k�re" a K�nyv oszt�ly, az "�rt�ktartom�nya" pedig a Szem�ly oszt�ly lenne.
A k�t k�zel�t�s k�z�tti k�l�nbs�g els� pillant�sra csak szintaktikai jelleg�nek t�nik, �m val�j�ban jelent�s k�l�nbs�gr�l van sz�. Egy programoz�si nyelv oszt�lyle�r�s�ban a "szerz�je" attrib�tum a K�nyv oszt�ly le�r�s�nak a r�sze, �s csak a K�nyv oszt�ly egyedeire �rv�nyes. Egy m�sik oszt�lynak (mondjuk, a Szoftver Modulnak) szint�n lehetne egy "szerz�je" attrib�tuma, de ezt m�r k�l�nb�z� attrib�tumnak tekinten�nk. M�s sz�val: egy attrib�tum-le�r�s szk�pja (hat�k�re) a legt�bb programoz�si nyelvben arra az oszt�lyra korl�toz�dik, amelyikben defini�lt�k. Ugyanakkor az RDF-ben a tulajdons�gok eleve f�ggetlenek az oszt�lydefin�ci�kt�l, �s a hat�k�r�k alap�rtelmez�sben glob�lis (sz�ks�g eset�n azonban meghat�rozott oszt�ly(ok)ra korl�tozhatjuk ezeket az "�rv�nyess�gi k�re" �s az "�rt�ktartom�nya" RDF S�ma tulajdons�gok seg�ts�g�vel.)
Ennek megfelel�en egy RDF s�ma le�rhatna egy olyan tulajdons�got, mint pl. "s�ly" an�lk�l, hogy �rv�nyess�gi k�rt defini�lna a sz�m�ra. Ezt a tulajdons�g�t azut�n haszn�lhatn�nk b�rmelyik oszt�ly egyed�nek a le�r�s�hoz, amelyikr�l �gy gondoljuk, hogy van s�lya. Az RDF tulajdons�g alap� k�zel�t�s�nek egyik el�nye az, hogy ezzel k�nnyebb� v�lik valamely tulajdons�g haszn�lat�nak a kiterjeszt�se olyan helyzetekre is, amelyeket nem lehetett el�re l�tni a tulajdons�g eredeti deklar�ci�ja idej�n. Ugyanakkor ez egy olyan el�ny, amelyet csak k�r�ltekint�en szabad kihaszn�lni, hogy elker�lj�k a nem megfelel� esetekre t�rt�n� alkalmaz�s�t.
Tov�bbi k�vetkezm�nye az RDF tulajdons�gok glob�lis hat�k�r�nek az, hogy egy RDF s�m�ban nem lehet �gy defini�lni egy adott tulajdons�got, hogy helyileg k�l�nb�z� �rt�ktartom�nya legyen att�l f�gg�en, hogy melyik oszt�lyhoz tartozik az egyed, amelyre alkalmazzuk. P�ld�ul a "sz�l�je" tulajdons�g defini�l�s�n�l k�v�natos lenne, ha azt tudn�nk deklar�lni, hogy amikor ezt az Ember oszt�lyhoz tartoz� er�forr�s le�r�s�ra haszn�ljuk, akkor az �rt�ktartom�nya is az Ember oszt�ly legyen, amikor pedig egy Tigris oszt�ly� egyed le�r�s�ra haszn�ljuk, akkor az �rt�ktartom�nya automatikusan a Tigris oszt�ly legyen. Egy ilyenfajta defin�ci� nem lehets�ges az RDF S�m�ban. Ehelyett minden �rt�ktartom�ny, amelyet egy RDF tulajdons�gra megadunk, �rv�nyes a tulajdons�g minden egyes haszn�lat�n�l, s ez�rt az �rt�ktartom�nyok defini�l�sa �vatoss�got ig�nyel. Noha az RDF S�m�ban nem lehet ilyen, helyileg k�l�nb�z� �rt�ktartom�nyokat defini�lni, ez megval�s�that� a gazdagabb s�manyelvekben, amelyeket az 5.5. szekci�ban ismertet�nk.
Ugyancsak fontos k�l�nbs�g, hogy az RDF S�ma le�r�sai nem felt�tlen�l el��r�s jelleg�ek, abban az �rtelemben, ahogy a programoz�si nyelvek t�pusdeklar�ci�i jellemz�en azok. Ha p�ld�ul egy programoz�si nyelv defini�l egy K�nyv oszt�lyt egy "szerz�je" attrib�tummal, amelynek �rt�kei Szem�ly t�pus�ak, akkor ezeket tipikusan szigor� korl�toz�soknak �rtelmezi. Ez�rt az ilyen nyelv nem engedi meg, hogy �gy kre�ljuk a K�nyv oszt�ly valamelyik p�ld�ny�t, hogy az ne rendelkezz�k a "szerz�je" attrib�tummal, �s azt sem engedi meg, hogy egy ilyen p�ld�ny "szerz�je" attrib�tum�nak �rt�ke ne Szem�ly t�pus� legyen. S�t, ha a "szerz�je" az egyetlen attrib�tum, amelyet ehhez az oszt�lyhoz deklar�ltunk, akkor a nyelv azt sem engedi meg, hogy az oszt�lynak egy m�s attrib�tummal is rendelkez� egyed�t kre�ljuk.
Az RDF S�ma viszont lehet�v� teszi, hogy a s�mainform�ci�k tov�bbi adatokkal pontos�ts�k az er�forr�sok le�r�s�t, de nem �rja el�, hogy ezeket a le�r�sokat hogyan kell haszn�lnia egy alkalmaz�snak. Tegy�k fel, p�ld�ul, hogy egy RDF s�ma azt defini�lja, hogy a "szerz�je" tulajdons�g �rt�ktartom�nya a Szem�ly oszt�ly. Ez az RDF kijelent�s nem mond t�bbet, csak annyit, hogy az olyan RDF �ll�t�sokban, ahol a "szerz�je" tulajdons�g az �ll�tm�ny, a kijelent�s t�rgya Szem�ly t�pus�.
Ezt a s�mainform�ci�t k�l�nb�z� m�dokon lehet felhaszn�lni. Az egyik alkalmaz�s �rtelmezheti a fenti �ll�t�st �gy, mint egy olyan RDF adatminta r�sz�t, amelynek megfelel� adatokat az alkalmaz�snak el� kell �ll�tania, �s annak biztos�t�s�ra haszn�lja az inform�ci�t, hogy "szerz�je" tulajdons�g �rt�ke mindig a Szem�ly oszt�lyb�l sz�rmazz�k. Vagyis, ez az alkalmaz�s a s�male�r�st korl�toz�sk�nt �rtelmezi, ahogyan ezt egy programoz�si nyelv is tenn�. Egy m�sik RDF alkalmaz�s azonban interpret�lhatja ezt az �ll�t�st �gy is, hogy az plusz inform�ci�t ny�jt arr�l az adatr�l amit kap: olyan inform�ci�t, mely explicit m�don nem szerepel az eredeti adatban. Ez a m�sodik alkalmaz�s p�ld�ul kaphat egy olyan adatot, amelyben szerepel egy "szerz�je" tulajdons�g, amelynek �rt�ke egy ismeretlen oszt�lyhoz tartoz� egyed, �s ilyenkor a s�mainform�ci� alapj�n kik�vetkeztetheti, hogy ez a Szem�ly oszt�lyhoz tartozik. Egy harmadik alkalmaz�s kaphat egy olyan RDF adatot, amelyben a "szerz�je" tulajdons�g t�rgya a Test�let oszt�lyhoz tartozik, �s ilyenkor arra haszn�lja a fenti �ll�t�st, hogy annak alapj�n kiad egy figyelmeztet�st: "Ebben az adatban lehet, hogy inkonzisztencia van, de lehet, hogy nem". M�sutt l�tezhet esetleg egy olyan tov�bbi deklar�ci�, mely feloldja ezt k�ts�get az�ltal, hogy kik�vetkeztethet� bel�le: a Test�let a szerz�s�g tekintet�ben a Szem�ly oszt�lyhoz tartozik (pl. azon az alapon, hogy a test�let jogi szem�ly).
Tov�bb�, att�l f�gg�en, hogy mik�nt interpret�lja az alkalmaz�s a tulajdons�gok le�r�sait, egy egyed le�r�sa �rv�nyesnek tekinthet� ak�r n�h�ny s�ma specifik�lta tulajdons�g n�lk�l is (pl. l�tezhet egy K�nyv oszt�ly� egyed "szerz�je" tulajdons�g n�lk�l akkor is, ha a "szerz�je" tulajdons�gra azt adt�k meg, hogy az "�rv�nyess�gi k�re" a K�nyv oszt�ly), de �rv�nyesnek tekinthet� az egyed le�r�sa akkor is, ha hozz�adott tulajdons�gokkal rendelkezik (l�tezhet pl. egy K�nyv oszt�ly� egyednek egy "szerkeszt�je" tulajdons�ga akkor is, ha a K�nyv oszt�lyt eredetileg le�r� s�ma m�g nem adott meg az oszt�ly sz�m�ra ilyen tulajdons�got).
M�s szavakkal �sszefoglalva: az RDF S�ma kijelent�sei mindig le�r�sok. Ezek tekinthet�k el��r�s jelleg�eknek (azaz korl�toz�soknak), de csak akkor, ha az ezeket �rtelmez� alkalmaz�s ilyenk�nt k�v�nja kezelni �ket. Amit az RDF S�ma ny�jt, az nem m�s, mint egy lehet�s�g arra, hogy megadjuk ezeket a t�bbletinform�ci�kat. Annak meg�llap�t�sa, hogy ez az �j inform�ci� �tk�zik-e az explicit m�don specifik�lt egyedi adatokkal, kiz�r�lag az adott alkalmaz�st�l f�gg (mint ahogy az is, hogy az alkalmaz�s mik�nt reag�l erre a meg�llap�t�sra).
Az RDF S�ma rendelkezik t�bb m�s, be�p�tett tulajdons�ggal, amelyek
dokument�lj�k, vagy komment�lj�k az RDF s�m�nkat, vagy az abban defini�lt
egyedeket. P�ld�ul a "komment�rja" (rdfs:comment
) tulajdons�g
ember �ltal olvashat� m�don �rhatja le az er�forr�st. A "c�mk�je"
(rdfs:label
) tulajdons�g egy er�forr�s nev�nek ember �ltal
olvashat�bb v�ltozat�t adhatja meg. A "l�sd tov�bb�"
(rdfs:seeAlso
) tulajdons�g utal�st jelent egy m�sik er�forr�sra,
mely tov�bbi inform�ci�t ny�jthat az alanyk�nt megadott er�forr�sr�l. A
"defini�lja" (rdfs:isDefinedBy
) tulajdons�g a "l�sd tov�bb�"
(rdfs:seeAlso
) tulajdons�g altulajdons�ga, �s egy olyan
er�forr�s megjel�l�s�re haszn�lhat�, amely valamilyen form�ban defini�lja az
alanyk�nt megadott er�forr�st. Az�rt haszn�ltuk itt a "valamilyen form�ban"
kifejez�st, mert el�fordulhat, hogy az rdfs:isDefinedBy
seg�ts�g�vel megnevezett er�forr�s valamilyen RDF �ltal nem specifik�lt
�rtelemben defini�lja az alanyt (pl. a megadott er�forr�s esetleg nem egy RDF
s�ma). Az RDF Sz�k�szlet Le�r� Nyelv
1.0: RDF S�ma [RDF-SZ�K�SZLET]
dokumentum t�rgyalja r�szletesen ezeket a tulajdons�gokat.
Mik�nt t�bb be�p�tett RDF tulajdons�g
(rdf:value
stb.) haszn�lati le�r�sa, ugyan�gy az RDF S�ma
tulajdons�gok haszn�lati le�r�sa is csup�n ezek sz�nd�kolt
haszn�lat�t adja meg. Az [RDF-SZEMANTIKA]
nem tulajdon�t speci�lis jelent�st ezeknek a tulajdons�goknak, �s az RDF S�ma
sem defini�l semmilyen korl�toz�st ezekre a tulajdons�gokra a sz�nd�kolt
haszn�lat alapj�n. Semmilyen szab�ly nem �rja el�, p�ld�ul, hogy egy "l�sd
tov�bb�" tulajdons�g k�teles tov�bbi inform�ci�t ny�jtani annak a
kijelent�snek az alany�r�l, amelyben megjelenik.
Az RDF S�ma biztos�tja az alapvet� eszk�z�ket az RDF sz�k�szletek le�r�s�ra, de l�teznek tov�bbi olyan eszk�z�k is, amelyek szint�n hasznosak lehetnek. Ilyen eszk�z�kh�z juthatunk az RDF S�ma tov�bbfejleszt�s�vel, vagy m�s olyan nyelvek alkalmaz�s�val, amelyek az RDF-en alapulnak. Azok a tov�bbi, gazdagabb s�male�r� lehet�s�gek, amelyekr�l tudjuk, hogy hasznosak, de amelyek nem szerepelnek az RDF S�m�ban, egyebek k�z�tt az al�bbiak lehetnek:
Az itt eml�tett fejlettebb k�pess�geket, sok m�s hasznos k�pess�ggel egy�tt, az olyan ontol�gianyelvek c�lozz�k meg, mint a DAML+OIL [DAML+OIL] �s az OWL [OWL]. E k�t nyelv mindegyike az RDF-en �s az RDF S�m�n alapszik (�s jelenleg mindegyik tartalmazza a fentebb le�rt plusz k�pess�geket). Az ontol�gianyelvek c�lja, hogy tov�bbi, g�ppel feldolgozhat� szemantikai inform�ci�t kapcsoljanak az er�forr�sokhoz, �s ez�ltal az er�forr�sok g�pi �br�zol�s�t jobban k�zel�ts�k azok val� vil�gbeli megfelel�ihez. Noha az ilyen k�pess�gek nem felt�tlen�l sz�ks�gesek ahhoz, hogy hasznos alkalmaz�sokat k�sz�ts�nk RDF-ben (a 6. fejezet bemutat egy sor l�tez� RDF alkalmaz�st), m�gis, az ilyen nyelvek fejleszt�se nagyon akt�v munkater�let a Szemantikus Web fejleszt�s�ben.
Az el�z� fejezetek megismertett�k az olvas�t az RDF �s az RDF S�ma �ltal�nos k�pess�geivel. Ezekben a fejezetekben olyan p�ld�kkal is illusztr�ltuk ezeket a k�pess�geket, amelyek n�melyike ak�r lehets�ges RDF alkalmaz�sokat is sejtethetett, azonban ezek m�gsem val�di alkalmaz�sok voltak. A jelen fejezetben le�runk n�h�ny igazi, gyakorlati RDF alkalmaz�st, hogy bemutassuk, mik�nt t�mogatja az RDF a val� vil�g k�vetelm�nyeit a legk�l�nf�l�bb dolgokr�l sz�l� inform�ci�k �br�zol�s�ban �s manipul�l�s�ban.
A meta-adat nem m�s, mint adat az adatr�l. Konkr�tabban ez a kifejez�s olyan adatokat jelent, amelyeket er�forr�sok azonos�t�s�ra, le�r�s�ra �s megkeres�s�re haszn�lunk, legyenek ezek az er�forr�sok ak�r fizikaiak, ak�r elektronikusak. J�llehet, a sz�m�t�g�ppel feldolgozhat� struktur�lt meta-adatok viszonylag �jak, a meta-adat alapkoncepci�j�t m�r sok �ve haszn�ljuk a nagy inform�ci�gy�jtem�nyek kezel�s�nek �s haszn�lat�nak seg�t�s�re. (A k�nyvt�rak k�rtyakatal�gusai ismert p�ld�i a meta-adatoknak.)
A Dublin Core ("a dublini mag") tulajdonk�ppen "elemek" (tulajdons�gok)
egy halmaza, dokumentumok le�r�sa, vagyis meta-adatok r�gz�t�se c�lj�ra. Az
elemek halmaz�t eredetileg az Ohio �llambeli Dublin-ban, 1995-ben
megrendezett els� Meta-adat M�helykonferenci�n fejlesztett�k ki, majd k�s�bbi
ilyenek rendezv�nyek sor�n tov�bb t�k�letes�tett�k, jelenleg pedig a Dublin Core Metadata Initiative nev�
szervezet tartja karban. A Dublin Core c�lja szabv�nyos adatle�r� elemek egy
olyan minim�lis halmaz�nak a biztos�t�sa, amely lehet�v� teszi az Interneten
t�rolt, dokumentum jelleg� objektumok le�r�s�t �s automatikus indexel�s�t, a
k�nyvt�ri k�rtyakatal�gusok anal�gi�j�ra. A Dublin Core meta-adathalmazt �gy
alak�tott�k ki, hogy alkalmas legyen az Internet olyan er�forr�s felfedez�
eszk�zeivel t�rt�n� feldolgoz�sra, mint a n�pszer� World Wide Web
keres�rendszerek �ltal alkalmazott "webcrawlerek". Emellett a Dublin Core-t
igyekeztek �gy �ssze�ll�tani, hogy a legk�l�nb�z�bb szerz�k �s eseti
publik�l�k, akik a weben adj�k k�zre az anyagaikat, k�nnyen meg�rthess�k �s
egyszer� m�don haszn�lhass�k azt. A Dublin Core (dc
) elemeket ma
m�r sz�les k�rben haszn�lj�k az internetes er�forr�sok dokument�l�s�ban (ezek
k�z�l a creator
elemet m�r a kor�bbi p�ld�inkban is haszn�ltuk).
A Dublin Core jelenlegi elemeit a DC Meta-adat Elemhalmaz defini�lja, amelyet
a Dublin Core
Metadata Element Set, Version 1.1: Reference Description [DC], hipertext
hivatkoz�son kereszt�l �rhet�nk el, �s az al�bbi tulajdons�gok defin�ci�it
tartalmazza:
A Dublin Core (DC) elemeket haszn�l� inform�ci�kat b�rmilyen alkalmas
nyelven (pl. HTML meta
elemek seg�ts�g�vel is) megadhatjuk. Az
RDF mindenesetre ide�lis eszk�z a DC inform�ci� �br�zol�s�ra. Az al�bbi
p�ld�k egy sor er�forr�s egyszer� le�r�s�t mutatj�k be a DC sz�k�szlet
felhaszn�l�s�val (megjegyzend� azonban, hogy az itt bemutatott DC sz�k�szlet
nem a hivatalos v�ltozat. A hivatalos v�ltozatot a DC referencia-anyag
(Dublin Core Reference Description [DC] )
tartalmazza.
Az els� DC p�ld�nk (a 30. p�lda ), egy webhely honlapj�t �rja le a DC elemeinek seg�ts�g�vel:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.dlib.org"> <dc:title>D-Lib Program - Research in Digital Libraries</dc:title> <dc:description>The D-Lib program supports the community of people with research interests in digital libraries and electronic publishing.</dc:description> <dc:publisher>Corporation For National Research Initiatives</dc:publisher> <dc:date>1995-01-07</dc:date> <dc:subject> <rdf:Bag> <rdf:li>Research; statistical methods</rdf:li> <rdf:li>Education, research, related topics</rdf:li> <rdf:li>Library use Studies</rdf:li> </rdf:Bag> </dc:subject> <dc:type>World Wide Web Home Page</dc:type> <dc:format>text/html</dc:format> <dc:language>en</dc:language> </rdf:Description> </rdf:RDF>
Figyelj�k meg, hogy az RDF, ugyan�gy, mint a Dublin Core, haszn�l egy XML
elemet, amelyet "le�r�snak" (Description) nevez, b�r a DC eset�n ezt
kisbet�vel �rj�k. (De m�g ha nagy kezd�bet�vel is �rn�k a DC "description"
tegj�t, az XML n�vt�r-mechanizmusa akkor is lehet�v� tenn� a k�t elem
megk�l�nb�ztet�s�t, hiszen az egyiket rdf:Description
, a m�sikat
dc:description
form�ban �rjuk. Ha az olvas�t �rdekli, egy
Web-b�ng�sz� seg�ts�g�vel el�rheti a [DC]
RDF-es deklar�ci�j�t a http://purl.org/dc/elements/1.1/
hivatkoz�son kereszt�l, mely egyben a p�ld�nkban haszn�lt DC sz�k�szlet
n�vt�r URI-je is. – Mindenesetre, a k�nyv�nk �r�sakor ez m�g el�rhet�
volt ezen a webhelyen).
M�sodik DC p�ld�nk, a 31. p�lda, le�r egy rendszeresen publik�lt magazint:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"> <rdf:Description rdf:about="http://www.dlib.org/dlib/may98/05contents.html"> <dc:title>DLIB Magazine - The Magazine for Digital Library Research - May 1998</dc:title> <dc:description>D-LIB magazine is a monthly compilation of contributed stories, commentary, and briefings.</dc:description> <dc:contributor>Amy Friedlander</dc:contributor> <dc:publisher>Corporation for National Research Initiatives</dc:publisher> <dc:date>1998-01-05</dc:date> <dc:type>electronic journal</dc:type> <dc:subject> <rdf:Bag> <rdf:li>library use studies</rdf:li> <rdf:li>magazines and newspapers</rdf:li> </rdf:Bag> </dc:subject> <dc:format>text/html</dc:format> <dc:identifier rdf:resource="urn:issn:1082-9873"/> <dcterms:isPartOf rdf:resource="http://www.dlib.org"/> </rdf:Description> </rdf:RDF>
A 31. p�ld�ban, alulr�l a harmadik sorban
megadtunk egy min�s�t� tulajdons�got (qualifier-t) egy k�l�n
sz�k�szletb�l, isPartOf
n�ven, annak jel�l�s�re, hogy a jelen
magazin az el�z� p�ld�ban defini�lt webhely "r�sze".
A harmadik DC p�ld�nk, a 32. p�lda, le�r egy konkr�t cikket a 31. p�ld�ban meta-adatolt magazinb�l:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"> <rdf:Description rdf:about="http://www.dlib.org/dlib/may98/miller/05miller.html"> <dc:title>An Introduction to the Resource Description Framework</dc:title> <dc:creator>Eric J. Miller</dc:creator> <dc:description>The Resource Description Framework (RDF) is an infrastructure that enables the encoding, exchange and reuse of structured metadata. rdf is an application of xml that imposes needed structural constraints to provide unambiguous methods of expressing semantics. rdf additionally provides a means for publishing both human-readable and machine-processable vocabularies designed to encourage the reuse and extension of metadata semantics among disparate information communities. the structural constraints rdf imposes to support the consistent encoding and exchange of standardized metadata provides for the interchangeability of separate packages of metadata defined by different resource description communities. </dc:description> <dc:publisher>Corporation for National Research Initiatives</dc:publisher> <dc:subject> <rdf:Bag> <rdf:li>machine-readable catalog record formats</rdf:li> <rdf:li>applications of computer file organization and access methods</rdf:li> </rdf:Bag> </dc:subject> <dc:rights>Copyright � 1998 Eric Miller</dc:rights> <dc:type>Electronic Document</dc:type> <dc:format>text/html</dc:format> <dc:language>en</dc:language> <dcterms:isPartOf rdf:resource="http://www.dlib.org/dlib/may98/05contents.html"/> </rdf:Description> </rdf:RDF>
A 32. p�lda is haszn�lja az isPartOf
qualifier-t, de ez alkalommal azt jelezz�k vele, hogy a cikk a fentebb le�rt
magazin r�sze ("part of").
A sz�m�t�g�p-nyelvek �s f�jlform�tumok nem mindig teszik lehet�v� meta-adatok be�p�t�s�t azokba az adatokba, amelyeket le�rnak. Sok esetben a meta-adatokat egy k�l�n er�forr�s keret�ben kell specifik�lni, majd pedig explicit m�don az adatokhoz kell kapcsolni (ugyanezt tett�k azokkal az RDF meta-adatokkal is, amelyek a jelen tank�nyv�nket �rj�k le; a k�nyv v�g�n tal�lhat� egy explicit hiperlink erre a meta-adatra). Ma m�r azonban egyre t�bb sz�m�t�g�p-nyelv �s alkalmaz�s haszn�l k�zvetlen�l az adataiba be�p�tett meta-adatokat. P�ld�ul a W3C sk�l�zhat� vektorgrafikai nyelve (Scalable Vector Graphics language [SVG]), mely egy �jabb XML alap� nyelv, szint�n tartalmaz egy explicit metaadat-elemet, meta-adatoknak az SVG adatokkal egy�tt t�rt�n� r�gz�t�s�re. B�rmilyen XML alap� metaadat-nyelv haszn�lhat� ezen az elemen bel�l. Az [SVG] dokumentumb�l sz�rmazik a 33. p�ld�nkban bemutatott SVG metaadat-le�r�s, mely azt mutatja meg, hogyan �p�tj�k be az er�forr�st le�r� meta-adatokat mag�ba az SVG dokumentumba. A p�lda a Dublin Core sz�k�szletet �s az RDF/XML-t haszn�lja a meta-adatok r�gz�t�s�re.
<?xml version="1.0"?> <svg width="4in" height="3in" version="1.1" xmlns = 'http://www.w3.org/2000/svg'> <desc xmlns:myfoo="http://example.org/myfoo"> <myfoo:title>This is a financial report</myfoo:title> <myfoo:descr>The global description uses markup from the <myfoo:emph>myfoo</myfoo:emph> namespace.</myfoo:descr> <myfoo:scene><myfoo:what>widget $growth</myfoo:what> <myfoo:contains>$three $graph-bar</myfoo:contains> <myfoo:when>1998 $through 2000</myfoo:when> </myfoo:scene> </desc> <metadata> <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#" xmlns:dc = "http://purl.org/dc/elements/1.1/" > <rdf:Description rdf:about="http://example.org/myfoo" dc:title="MyFoo Financial Report" dc:description="$three $bar $thousands $dollars $from 1998 $through 2000" dc:publisher="Example Organization" dc:date="2000-04-11" dc:format="image/svg+xml" dc:language="en" > <dc:creator> <rdf:Bag> <rdf:li>Irving Bird</rdf:li> <rdf:li>Mary Lambert</rdf:li> </rdf:Bag> </dc:creator> </rdf:Description> </rdf:RDF> </metadata> </svg>
Az Adobe c�g B�v�thet� meta-adat platformja (Extensible Metadata Platform (XMP)) szint�n j� p�lda egy olyan technol�gi�ra, mely lehet�v� teszi egy f�jl le�r�s�ra haszn�lt meta-adatok be�p�t�s�t mag�ba a f�jlba. Az XMP a meta-adatok �br�zol�s�nak alapj�ul az RDF/XML-t haszn�lja. Ma m�r sz�mos Adobe term�k t�mogatja az XMP-t.
A foly�iratok kiad�s�val foglalkoz� szervezetek is kidolgozt�k a maguk metaadat-specifik�ci�j�t PRISM: Publishing Requirements for Industry Standard Metadata [PRISM] n�ven. A foly�irat-kiad� c�gek �s a term�keik forgalmaz�i megalap�tott�k a PRISM munkacsoportot (PRISM Working Group), hogy felm�rj�k a szakma metaadat-r�gz�t�si ig�nyeit, �s egy olyan specifik�ci�t defini�ljanak, mely megfelel ezeknek az ig�nyeknek. A kiad�k sokf�le m�don szeretn�k felhaszn�lni a megl�v� tartalmat annak �rdek�ben, hogy jobban megt�r�ljenek a befektet�seik. Egyik p�ld�ja ennek a magazinok cikkeinek HTML-re t�rt�n� konvert�l�sa abb�l a c�lb�l, hogy azok az Interneten kereszt�l is publik�lhat�k legyenek. Egy m�sik p�lda a cikkek publik�ci�s licenceinek elad�sa tematikus cikkgy�jtem�lyeket kiad�, olyan c�gek sz�m�ra, mint pl. a LexisNexis. Ezek mind "els� publik�l�i" a tartalomnak, hiszen tipikusan az eredeti magazinok megjelen�s�vel egy id�ben publik�lj�k a megv�s�rolt cikkeket. A kiad�k azt is szeretn�k, hogy az �ltaluk egyszer m�r publik�lt tartalom "�r�kz�ld" maradna, vagyis ha �j kiad�sokban is haszn�lni lehetne azt, pl. retrospekt�v cikkek form�j�ban. Emellett a r�gi tartalmat a kiad�k szeretn�k �jra felhaszn�lni m�s �zleti ter�leteiken is, p�ld�ul olyan anyagok k�nyv form�ban t�rt�n� megjelentet�s�n�l, mint pl. fot�k, receptek stb. Egy m�sik lehets�ges alkalmaz�s az, amikor valamilyen korl�tozott licenck�nt kiadj�k az anyagaikat k�v�l�ll�knak, pl. reprint kiad�si vagy recenz�l�si c�lokra, esetleg egy m�sik kiad�n�l t�rt�n� retrospekt�v megjelentet�sre. Ezek az �ltal�nos c�lok egy olyan meta-adat rendszert ig�nyelnek, amelyek a hangs�lyt az er�forr�sok felfedez�s�re, a jogok nyomon k�vet�s�re, valamint a meta-adatok folyamatos meg�rz�s�re fekteti. Ezeket a c�lokat az al�bbiakban r�viden ismertetj�k:
Az er�forr�sok felfedez�se: Ez egy �ltal�nos kifejez�s a tartalom megtal�l�s�nak folyamat�ra, mely mag�ban foglalja a keres�st, a b�ng�sz�st, a tartalom ir�ny�t�s�t �s m�s technik�kat is. Amikor a felfedez�s k�rd�se ker�l sz�ba, els�sorban a nyilv�nos webhelyeknek a fogyaszt�k �ltali megtal�l�s�ra gondolunk. A tartalom felfedez�se azonban enn�l j�val sz�lesebb fogalmat takar. A k�z�ns�g ugyanis a fogyaszt�k mellett olyan bels� felhaszn�l�kat is mag�ban foglal, mint a kutat�k, a tervez�k, a fot�szerkeszt�k, a licenc-�gyn�k�k stb. A PRISM, hogy n�velje a felfedez�s val�sz�n�s�g�t, olyan tulajdons�gokat defini�l, amelyekkel le�rhat� az er�forr�sok t�m�ja, form�tuma, jellege, eredete �s kontextusa. De eszk�z�ket biztos�t az er�forr�sok kategoriz�l�s�ra is, tematikus taxon�mi�k form�j�ban.
A jogok nyomon k�vet�se: A magazinok gyakran vesznek �t anyagokat m�s magazinokt�l, kiad�i licencek alapj�n. Ennek leggyakoribb form�ja fot��gyn�ks�gek, fot�arch�vumok anyagainak licencel�se, de el�fordulhat cikkek, mell�kcikkek �s m�s hasonl� tartalom licenc alapj�n t�rt�n� publik�l�sa is. Azonban n�ha szinte rem�nytelen megtudni, hogy pl. egy bizonyos tartalmat egyszeri haszn�latra licenceltek-e, hogy kell e ut�na szerz�i jogd�jat fizetni, vagy hogy fenntart-e minden jogot az els�dleges kiad� stb. Ez�rt a PRISM rendszer olyan elemeket tartalmaz, amelyekkel nyomon k�vethet�k az eff�le jogok. A RRISM specifik�ci�ja egy k�l�n sz�k�szletet defini�l azoknak a helyeknek, id�pontoknak �s kiad�i szakm�knak a le�r�s�ra, ahol az adott tartalom felhaszn�lhat�, illetve, ahol nem felhaszn�lhat�.
A meta-adatok meg�rz�se: A legt�bb publik�lt tartalom m�r ma is el van l�tva meta-adatokkal. Azonban, ahogy a tartalom mozog a rendszerek k�z�tt, a meta-adatokat gyakran eldobj�k, hogy azut�n a produkci�s folyamat sor�n, jelent�s k�lts�ggel �jra el��ll�ts�k azokat. A PRISM megpr�b�lja cs�kkenteni ezt a probl�m�t azzal, hogy olyan metaadat-specifik�ci�t k�sz�t, amelyik haszn�lhat� a tartalom el��ll�t�si folyamat�nak minden f�zis�ban. A PRISM specifik�ci�j�nak fontos jellemz�je a megl�v� specifik�ci�k alkalmaz�sa. A PRISM Munkacsoport ahelyett, hogy elkezdett volna el�lr�l kidolgozni egy teljesen �j dolgot, elhat�rozta, hogy amennyire lehet, felhaszn�lja a m�r l�tez� specifik�ci�kat, �s csak ott defini�l �j dolgokat, ahol az felt�tlen�l sz�ks�ges. Ebb�l a c�lb�l kiindulva, a PRISM specifik�ci� felhaszn�lja az XML, az RDF, a Dublin Core specifik�ci�it, valamint a k�l�nb�z� ISO szabv�ny� form�tumokat �s sz�k�szleteket.
Egy PRISM le�r�s olyan egyszer�, mint n�h�ny Dublin Core tulajdons�g megad�sa t�pus n�lk�li liter�l-�rt�kekkel. A 34. p�lda egy f�nyk�pfelv�tel meta-adatait �rja le alapvet� inform�ci�kkal a felv�tel c�m�r�l, a fot�sr�l, a form�tumr�l stb.
<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en-US"> <rdf:Description rdf:about="http://travel.example.com/2000/08/Corfu.jpg"> <dc:title>Walking on the Beach in Corfu</dc:title> <dc:description>Photograph taken at 6:00 am on Corfu with two models </dc:description> <dc:creator>John Peterson</dc:creator> <dc:contributor>Sally Smith, lighting</dc:contributor> <dc:format>image/jpeg</dc:format> </rdf:Description> </rdf:RDF>
A PRISM tov�bb b�v�ti a Dublin Core-t is abb�l a c�lb�l, hogy m�g
r�szletesebb le�r�sokat lehessen k�sz�teni vele. A b�v�tm�nyeket h�rom �j sz�k�szletben defini�lja, amelyeket a
n�vt�r-prefixeik alapj�n �ltal�ban prism:
,
pcv:
�s prl:
n�ven emlegetnek. Ezek szerepe a
k�vetkez�:
A prism:
min�s�tettn�v-prefix a PRISM f� sz�k�szlet�t
azonos�tja, amelyben a kifejez�sek a
http://prismstandard.org/namespaces/basic/1.0/
URI-prefixet haszn�lj�k. Ebben a sz�k�szletben a legt�bb tulajdons�g a Dublin
Core tulajdons�gok specifikusabb v�ltozata. P�ld�ul a "d�tum"
(dc:date
) tulajdons�g specifikusabb v�ltozatai: "a publik�l�s
ideje", "a kiad�s ideje" �s "az el�v�l�s ideje" (prism:publicationTime,
prism:releaseTime
, prism:expirationTime) stb.
A pcv:
prefix a PRISM Controlled Vocabulary kifejez�s
r�vid�t�se, mely a PRISM "szab�lyozott" (controlled) sz�k�szlet�t azonos�tja.
Ennek a sz�k�szletnek a kifejez�sei mind a
http://prismstandard.org/namespaces/pcv/1.0/
URI prefixet
haszn�lj�k. A jelenlegi gyakorlat egy cikk t�rgy�nak vagy t�rgyainak
le�r�s�ra a kulcsszavak megad�sa. Sajnos azonban, az egyszer� kulcsszavak nem
n�velik jelent�sen a tal�lat val�sz�n�s�g�t, f�leg amiatt, hogy az emberek
n�ha k�l�nb�z� kulcsszavakat haszn�lnak azonos fogalmak megnevez�s�re [BATES96]. A legjobb m�dszer az lenne, ha a cikkek
t�m�it egy "szab�lyozott" (controlled) sz�k�szletb�l venn�k a cikk tartalm�t
le�r�k. Ennek a sz�k�szletnek min�l t�bb szinonim�t kellene megadnia a benne
szerepl� fogalmakra, hogy a keres�k �s az indexel�k �ltal haszn�lt
kifejez�sek min�l nagyobb val�sz�n�s�ggel tal�lkozhassanak. A
pcv:
sz�k�szlet olyan tulajdons�gokat tartalmaz, amelyekkel
kifejez�seket defini�lhatunk, le�rhatjuk a k�zt�k l�v� viszonyokat, �s
alternat�v v�ltozatokat is kapcsolhatunk hozz�juk.
A prl:
prefix a PRISM Rights Language (PRISM jogok nyelve) nev� sz�k�szlet r�vid�t�se, amelynek a
kifejez�sei mind a http://prismstandard.org/namespaces/prl/1.0/
URI prefixet haszn�lj�k. A digit�lis jogok kezel�se napjainkban egy
lend�letesen fejl�d� ter�let. Sz�mos javaslat l�tott napvil�got jogkezel�
nyelvekre vonatkoz�an, de eddig egyik�k sem nyerte el a szakma egy�rtelm�
tetsz�s�t. Mivel nem volt mib�l v�lasztani, �tmeneti megold�sk�nt a PRL
nyelvet defini�lt�k erre a c�lra. Ez olyan tulajdons�gokat tartalmaz,
amelyekkel kijelenthetj�k, hogy egy er�forr�s haszn�lhat�-e, vagy nem
haszn�lhat�, az id�t�l a helyt�l �s a szakm�t�l f�gg�en. Ezt egy 80/20
sz�zal�kos ar�ny� kompromisszumnak tekintik, amely bizonyos megtakar�t�sokat
eredm�nyezhet a kiad�knak, ha elkezdik nyomon k�vetni a jogaik
�rv�nyes�l�s�t. A PRL-t nem sz�nt�k sem egy �ltal�nos jogkezel� nyelvnek, sem
pedig egy olyan automatikus mechanizmusnak, amellyel a kiad�k korl�tozhatj�k
a tartalom fogyaszt�k �ltali felhaszn�l�s�t.
A PRISM rendszer az�rt haszn�lja az RDF-et, mert ez lehet�v� teszi a legk�l�nb�z�bb komplexit�s� le�r�sok kezel�s�t is. Jelenleg nagyon sok meta-adat csup�n egyszer� karakterl�ncokat haszn�l (t�bbnyire t�pus n�lk�li liter�l-�rt�kek le�r�s�ra), mint pl a k�vetkez� p�lda is:
<dc:coverage>Greece</dc:coverage>
A PRISM rendszer fejleszt�i rem�lik, hogy id�vel a PRISM specifik�ci�i
egyre kifinomultabbak lesznek, �s az egyszer� adat�rt�kekt�l a
struktur�ltabbak fel� haladnak. Ezeknek az �rt�knek a k�re az a k�rd�s, amely
most v�laszra v�r. N�h�ny kiad� m�r kifinomult, �n. "szab�lyozott"
sz�k�szleteket haszn�l, m�g m�sok csak egyszer�, manu�lisan megadott
kulcsszavakat haszn�lnak. Ennek illusztr�l�s�ra bemutatunk n�h�ny p�ld�t a
dc:coverage
tulajdons�g k�l�nb�z� lehets�ges �rt�keire:
<dc:coverage>Greece</dc:coverage> <dc:coverage rdf:resource="http://prismstandard.org/vocabs/ISO-3166/GR"/>
Itt el�bb egy t�pus n�lk�li liter�l haszn�lat�val, majd egy URIref seg�ts�g�vel azonos�tottuk G�r�gorsz�got (Greece). Az al�bbi p�ld�ban pedig m�r egy struktur�lt �rt�ket adunk meg a Coverage tulajdons�g �rt�kek�nt, amelyben szerepel az el�bbi URIref, valamint G�r�gorsz�g neve k�t tov�bbi nyelven.
<dc:coverage> <pcv:Descriptor rdf:about="http://prismstandard.org/vocabs/ISO-3166/GR"> <pcv:label xml:lang="en">Greece</pcv:label> <pcv:label xml:lang="fr">Gr�ce</pcv:label> </pcv:Descriptor> </dc:coverage>
Figyelj�k meg azt is, hogy l�teznek olyan tulajdons�gok, amelyeknek a jelent�se hasonl�, vagy amelyek m�s tulajdons�gok altulajdons�gai. P�ld�ul egy er�forr�s geogr�fiai t�rgy�t megadhatn�nk a k�vetkez� tulajdons�gokkal:
<prism:subject>Greece</prism:subject> <dc:coverage>Greece</dc:coverage>
de megadhatjuk egy harmadik tulajdons�ggal is:
<prism:location>Greece</prism:location>
E tulajdons�gok b�rmelyike haszn�lhat� ak�r egyszer� liter�l-�rt�kkel, ak�r egy komplex struktur�lt �rt�kkel. Az ilyen sz�ls�s�ges hat�rok k�z�tt mozg� �rt�ktartom�nyokat azonban m�r nem lehet megfelel�en le�rni DTD-kkel, de m�g az �jabb XML s�m�kkal sem. Erre sokkal alkalmasabb az RDF, b�r igaz, hogy enn�l a le�r�sok t�bbf�le szintaktikai v�ltozatban is megjelenhetnek. Az RDF gr�fmodellje azonban egyszer� szerkezet�: l�nyeg�ben tripletek halmaza. Ez�rt a meta-adatok tripletek szintj�n t�rt�n� kezel�se megk�nny�theti a szoftverek sz�m�ra a folyton b�v�l� tartalomhoz val� alkalmazkod�st.
Ezt a szekci�t k�t p�ld�val z�rjuk: a 35. p�lda
azt mondja, hogy a .../Corfu.jpg
k�p nem felhaszn�lhat�
(#none
) a doh�nyiparban, amelynek a k�dsz�ma 21 az ipari
tev�kenys�gek (USA-beli) szabv�nyos oszt�lyoz�si rendszer�ben (SIC):
<rdf:RDF xmlns:prism="http://prismstandard.org/namespaces/basic/1.0/" xmlns:prl="http://prismstandard.org/namespaces/prl/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://travel.example.com/2000/08/Corfu.jpg"> <dc:rights rdf:parseType="Resource" xml:base="http://prismstandard.org/vocabularies/1.0/usage.xml"> <prl:usage rdf:resource="#none"/> <prl:industry rdf:resource="http://prismstandard.org/vocabs/SIC/21"/> </dc:rights> </rdf:Description> </rdf:RDF>
A 36. p�lda azt mondja, hogy a Corfuban k�sz�lt
felv�tel fotogr�fusa a 3845. sz�m� alkalmazott, akit John Peterson n�ven
ismernek. A le�r�sb�l az is kider�l, hogy a fot� f�ldrajzi ter�lete
(coverage) G�r�gorsz�g. Figyelj�k meg, hogy itt egy szab�lyozott
sz�k�szletb�l (pcv) vessz�k a kifejez�seket, amelyeknek m�g a verzi�j�r�l is
van inform�ci� a le�r�sban (az xmlns:
pcv
n�vt�r-deklar�ci� URI-j�ben).
<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:pcv="http://prismstandard.org/namespaces/pcv/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="http://travel.example.com/"> <rdf:Description rdf:about="/2000/08/Corfu.jpg"> <dc:identifier rdf:resource="/content/2357845" /> <dc:creator> <pcv:Descriptor rdf:about="/emp3845"> <pcv:label>John Peterson</pcv:label> </pcv:Descriptor> </dc:creator> <dc:coverage> <pcv:Descriptor rdf:about="http://prismstandard.org/vocabs/ISO-3166/GR"> <pcv:label xml:lang="en">Greece</pcv:label> <pcv:label xml:lang="fr">Grece</pcv:label> </pcv:Descriptor> </dc:coverage> </rdf:Description> </rdf:RDF>
Sok esetben sz�ks�g van arra, hogy inform�ci�kat r�gz�ts�nk er�forr�sok olyan struktur�lt csoportos�t�s�r�l, illetve ezek kapcsolatair�l, amelyeket adott esetben egys�gk�nt kell kezeln�nk. Az XML Csomag specifik�ci� (XML Package (XPackage) specification, [XPACKAGE]) egy keretet biztos�t az ilyen, csomagoknak nevezett csoportos�t�sok defini�l�s�hoz, �s a benn�k szerepl� er�forr�sok le�r�s�hoz: pontosabban az er�forr�sok tulajdons�gainak, a be�p�t�s�k m�dj�nak �s egym�shoz val� viszony�nak a le�r�s�hoz. Az XPackage alkalmaz�sai fel�lelik az egy dokumentum �ltal haszn�lt st�luslapok (style sheets) specifik�l�s�t, a t�bb dokumentum �ltal haszn�lt k�pek �s �br�k deklar�l�s�t, a dokumentumok szerz�j�nek �s m�s meta-adatainak jelz�s�t, tov�bb� annak le�r�s�t, hogy mik�nt haszn�lj�k a n�vtereket az XML er�forr�sok, �s v�g�l, olyan "csomagjegyz�k" el��ll�t�s�t, amely le�rja, hogy milyen er�forr�sokat csomagoltunk �ssze egyetlen arch�v-f�jlba.
Az XPackage keretrendszer az XML-re, az RDF-re �s az XML �sszekapcsol� Nyelvre (XML Linking Language, [XLINK]) �p�l, �s t�bb RDF sz�k�szletet tartalmaz: egy sz�k�szletet az �ltal�nos �sszecsomagol�si le�r�sok sz�m�ra, �s t�bb sz�k�szletet az er�forr�sokr�l sz�l� kieg�sz�t� inform�ci�k megad�s�hoz, amelyek a csomagot feldolgoz� szoftver sz�m�ra lehetnek hasznosak.
Az XPackage egyik alkalmaz�sa az XHTML dokumentumok �s t�mogat� er�forr�saik le�r�sa. Egy XHTML dokumentum, amelyet let�lt�nk egy webhelyr�l, �ltal�ban t�bb m�s er�forr�sra t�maszkodik (ilyenekre, mint pl. st�luslapok �s k�pf�jlok), amelyeket ugyancsak le kell t�lten�nk. Ezeknek a t�mogat� er�forr�soknak az azonos�t� inform�ci�ja azonban nem der�l ki az eg�sz dokumentum feldolgoz�sa n�lk�l. M�s inform�ci�khoz, mint pl. a szerz� neve, szint�n csak a dokumentum feldolgoz�s�val lehet hozz�jutni. Az XPackage lehet�v� teszi, hogy az ilyen le�r� inform�ci�kat szabv�nyos m�don, egy RDF alap� csomagle�r� dokumentumban t�roljuk. Egy ilyen XHTML f�jlhoz k�sz�tett csomagle�r� dokumentum k�ls� elemei kb. �gy n�znek ki, mint a 37. p�ld�ban bemutatott le�r�s� (itt az egyszer�s�t�s kedv��rt a n�vt�r-deklar�ci�kat mell�zt�k):
<?xml version="1.0"?> <xpackage:description> <rdf:RDF> (description of individual resources go here) </rdf:RDF> </xpackage:description>
Az er�forr�sok (mint pl. egy XHTML dokumentum, a st�luslapok �s a k�pek/�br�k) le�r�sa a csomagle�r� dokumentumokban szabv�nyos RDF/XML szintaxissal t�rt�nik. Minden er�forr�s-le�r� elem haszn�lhat k�l�nf�le RDF sz�k�szletekb�l sz�rmaz� tulajdons�gokat (az XPackage az "ontol�gia" kifejez�st haszn�lja ott, ahol az RDF "sz�k�szletet" mond). A f� csomagol�si sz�k�szlet mellett az XPackage t�bb kieg�sz�t� sz�k�szletet is specifik�l, amelyek a k�vetkez�k:
file:
prefixet haszn�l� sz�k�szlet f�jlok le�r�s�ra,
ilyen tulajdons�gokkal, mint pl. "f�jlm�ret" (file:size
)mime:
prefixet haszn�l� sz�k�szlet MIME inform�ci�k
le�r�s�ra, mint pl. "tartalomt�pus" (mime:contentType
).unicode:
prefixet haszn�l� sz�k�szlet a
karakterhaszn�lati inform�ci�k megad�s�ra, ilyen tulajdons�gokkal, mint
pl. unicode:script
x:
prefixet haszn�l� sz�k�szlet XML alap� er�forr�sok
le�r�s�ra, ilyen tulajdons�gokkal, mint pl. x:namespace
�s
x:style
A 38. p�ld�ban, egy dokumentum MIME
tartalomt�pus�t ("application/xhtml+xml") defini�ljuk egy szabv�nyos XPackage
tulajdons�g (mime:contentType
) haszn�lat�val, amely az XPackage
MIME sz�k�szlet r�sze. Emellett egy m�sik tulajdons�got, a dokumentum
szerz�j�t (ebben az esetben Garret Wilson-t) is le�rjuk a m�r ismert
dc:creator
tulajdons�ggal, mely az XPackage-en k�v�lr�l, a
Dublin Core sz�k�szletb�l val�:
<?xml version="1.0"?> <xpackage:description xmlns:xpackage="http://xpackage.org/namespaces/2003/xpackage#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:mime="http://xpackage.org/namespaces/2003/mime#" xmlns:x="http://xpackage.org/namespaces/2003/xml#" xmlns:xlink="http://www.w3.org/1999/xlink"> <rdf:RDF> <!--doc.html--> <rdf:Description rdf:about="urn:example:xhtmldocument-doc"> <rdfs:comment>The XHTML document.</rdfs:comment> <xpackage:location xlink:href="doc.html"/> <mime:contentType>application/xhtml+xml</mime:contentType> <x:namespace rdf:resource="http://www.w3.org/1999/xhtml"/> <x:style rdf:resource="urn:example:xhtmldocument-stylesheet"/> <dc:creator>Garret Wilson</dc:creator> <xpackage:manifest rdf:parseType="Collection"> <rdf:Description rdf:about="urn:example:xhtmldocument-stylesheet"/> <rdf:Description rdf:about="urn:example:xhtmldocument-image"/> </xpackage:manifest> </rdf:Description> </rdf:RDF> </xpackage:description>
A fenti p�ld�ban a "csomagjegyz�k" (xpackage:manifest
)
tulajdons�g azt jelzi, hogy mind a st�luslap, mind pedig a k�pf�jl sz�ks�ges
a feldolgoz�shoz; ezeket az er�forr�sokat k�l�n �rjuk le a csomagle�r�
dokumentumban.
A 39. p�ld�ban megadott st�luslap le�r�sa megadja
ennek az er�forr�snak a hely�t a csomagon bel�l (stylesheet.css
)
az �ltal�nos XPackage sz�k�szlet "helye" (xpackage:location
)
tulajdons�ga seg�ts�g�vel (mely kompatibilis az XLink-kel). A le�r�s azt is
megmutatja az XPackage MIME sz�k�szlet "tartalomt�pus"
(mime:contentType
) tulajdons�ga seg�ts�g�vel, hogy ez egy CSS
st�luslap ("text/css").
<?xml version="1.0"?> <xpackage:description xmlns:xpackage="http://xpackage.org/namespaces/2003/xpackage#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:mime="http://xpackage.org/namespaces/2003/mime#" xmlns:x="http://xpackage.org/namespaces/2003/xml#" xmlns:xlink="http://www.w3.org/1999/xlink"> <rdf:RDF> <!--stylesheet.css--> <rdf:Description rdf:about="urn:example:xhtmldocument-css"> <rdfs:comment>The document style sheet.</rdfs:comment> <xpackage:location xlink:href="stylesheet.css"/> <mime:contentType>text/css</mime:contentType> </rdf:Description> </rdf:RDF> </xpackage:description>
(Ennek a p�ld�nak a komplettebb v�ltozata megtal�lhat� az [XPACKAGE] dokumentumban.)
N�ha sz�ks�g�nk van arra, hogy napi rendszeress�ggel hozz�f�rhess�nk sokf�le inform�ci�hoz a weben (pl. ilyenekhez, mint menetrendek, teend�k list�ja, keres�s�i eredm�nyek, "Mi az �j a webhelyen?" t�pus� inform�ci�k stb.). Ahogy az er�forr�sok mennyis�ge �s v�ltozatoss�ga n�vekszik a weben, egyre nehezebb lesz kezelni �s koherens eg�ssz� integr�lni az ilyen inform�ci�kat. Az RDF Webhely-�sszefoglal� (RDF Site Summary: RSS 1.0) egy olyan RDF sz�k�szlet, mely egy k�nny�, de hat�kony lehet�s�get ad az olyan inform�ci�k le�r�s�ra �s �jrafelhaszn�l�s�ra, amelyeket meghat�rozott id�ben, nagy t�megben kell az �rdekeltekhez eljuttatni. Ez�rt az RSS 1.0 tal�n a legsz�lesebb k�rben haszn�lt RDF alkalmaz�s a weben.
Hogy egy egyszer� p�ld�t eml�ts�nk, maga a W3C honlapja is egy els�dleges tal�lkoz�si pont a k�z�ns�ggel, mely r�szben arra szolg�l, hogy sz�tk�ldje a Konzorcium �ltal produk�lt anyagokr�l sz�l� inform�ci�kat az �rdekeltek sz�m�ra. A W3C honlapnak egy meghat�rozott napon megjelent �llapot�t mutatja a 19. �bra. A h�rek k�z�ps� has�bja gyakran v�ltozik. Hogy t�mogassa ennek az inform�ci�nak az id�z�tett sz�toszt�s�t, a W3C k�sz�tett egy RSS 1.0 alap� h�rtov�bb�t� alkalmaz�st, mely a k�z�ps� has�b tartalm�t m�sok sz�m�ra is hozz�f�rhet�v� teszi, hogy tetsz�s�k szerint felhaszn�lhass�k azt. Az RSS haszn�lat�val a h�rcsoportos�t� webhelyek �sszefoglal�t k�sz�thetnek a napok legfontosabb h�reib�l, m�g m�sok, az olvas�ik kiszolg�l�sa �rdek�ben, hipersz�veg hivatkoz�sok form�j�ban ki�rhatj�k a c�meket a saj�t honlapjukra. Az is egyre gyakoribb, hogy egy�nek el�fizetnek egyes h�rcsomagok automatikus tov�bb�t�s�ra �s v�tel�re, egy erre alkalmas asztalisz�m�t�g�p-szoftver seg�ts�g�vel. Az ilyen asztali RSS olvas� programok lehet�v� teszik a felhaszn�l�knak, hogy ak�r webhelyek sz�zait is figyelemmel k�vess�k an�lk�l, hogy ak�rcsak egyet is fel kellene keresni�k a b�ng�sz�j�k seg�ts�g�vel.
Sz�mtalan webhely ny�jt RSS 1.0 alap� inform�ci� tov�bb�t� szolg�ltat�st. A 40. p�lda a W3C feed egyik k�ldem�ny�t mutatja (ez egy m�sik d�tumr�l sz�rmazik):
<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <channel rdf:about="http://www.w3.org/2000/08/w3c-synd/home.rss"> <title>The World Wide Web Consortium</title> <description>Leading the Web to its Full Potential...</description> <link>http://www.w3.org/</link> <dc:date>2002-10-28T08:07:21Z</dc:date> <items> <rdf:Seq> <rdf:li rdf:resource="http://www.w3.org/News/2002#item164"/> <rdf:li rdf:resource="http://www.w3.org/News/2002#item168"/> <rdf:li rdf:resource="http://www.w3.org/News/2002#item167"/> </rdf:Seq> </items> </channel> <item rdf:about="http://www.w3.org/News/2002#item164"> <title>User Agent Accessibility Guidelines Become a W3C Proposed Recommendation</title> <description>17 October 2002: W3C is pleased to announce the advancement of User Agent Accessibility Guidelines 1.0 to Proposed Recommendation. Comments are welcome through 14 November. Written for developers of user agents, the guidelines lower barriers to Web accessibility for people with disabilities (visual, hearing, physical, cognitive, and neurological). The companion Techniques Working Draft is updated. Read about the Web Accessibility Initiative. (News archive)</description> <link>http://www.w3.org/News/2002#item164</link> <dc:date>2002-10-17</dc:date> </item> <item rdf:about="http://www.w3.org/News/2002#item168"> <title>Working Draft of Authoring Challenges for Device Independence Published</title> <description>25 October 2002: The Device Independence Working Group has released the first public Working Draft of Authoring Challenges for Device Independence. The draft describes the considerations that Web authors face in supporting access to their sites from a variety of different devices. It is written for authors, language developers, device experts and developers of Web applications and authoring systems. Read about the Device Independence Activity (News archive)</description> <link>http://www.w3.org/News/2002#item168</link> <dc:date>2002-10-25</dc:date> </item> <item rdf:about="http://www.w3.org/News/2002#item167"> <title>CSS3 Last Call Working Drafts Published</title> <description>24 October 2002: The CSS Working Group has released two Last Call Working Drafts and welcomes comments on them through 27 November. CSS3 module: text is a set of text formatting properties and addresses international contexts. CSS3 module: Ruby is properties for ruby, a short run of text alongside base text typically used in East Asia. CSS3 module: The box model for the layout of textual documents in visual media is also updated. Cascading Style Sheets (CSS) is a language used to render structured documents like HTML and XML on screen, on paper, and in speech. Visit the CSS home page. (News archive)</description> <link>http://www.w3.org/News/2002#item167</link> <dc:date>2002-10-24</dc:date> </item> </rdf:RDF>
Mint a 40. p�lda mutatja, a form�tumot �gy tervezt�k meg, hogy a tartalmat k�nnyen megk�l�nb�ztethet� szekci�kba lehessen csomagolni. A h�rport�lok, a webnapl�k, a sporteredm�nyek, a t�zsdei h�rek, �s ehhez hasonl� inform�ci�k�ld� szolg�ltat�sok az RSS 1.0. tipikus alkalmaz�si esetei.
Az RSS inform�ci�k�ld�s b�rmelyik alkalmaz�son kereszt�l ig�nyelhet�, amelyik haszn�lja a HTTP protokollt. Az ut�bbi id�ben azonban az RSS 1.0 alkalmaz�sok kezdenek h�rom k�l�nb�z� kateg�ri�ra bomlani:
Az RSS 1.0 tervez�s �tj�n b�v�thet�. Tov�bbi RDF sz�k�szletek (vagy modulok – ahogy az RSS k�z�ss�gekben h�vj�k �ket) import�l�s�val az RSS 1.0 fejleszt� nagy mennyis�g� meta-adatot �s kezel�si instrukci�t adhat �t a f�jlt fogad� alkalmaz�s sz�m�ra. Modulokat b�rki �rhat, ugyan�gy, ahogy �ltal�nosabb RDF sz�k�szleteket. Jelenleg 3 hivatalos modul �s 19 javasolt modul ismeretes; ezeket sz�les k�rben elfogadja az RSS alkalmaz�i k�z�ss�g. Ezek a modulok a komplett Dublin Core module-t�l a specializ�ltabb RSS-centrikus modulokig terjednek, mint pl. az inform�ci�egyes�t�si modul (Aggregation module).
Bizonyos �vatoss�gra van sz�ks�g, amikor RDF �rtelemben besz�l�nk az RSS-r�l, ugyanis jelenleg k�t sz�lon fut az RSS specifik�ci�s tev�kenys�g: az egyik sz�l (RSS 0.91, 0.92, 0.93, 0.94 �s 2.0) nem haszn�lja az RDF-et, m�g a m�sik (RSS 0.9 �s 1.0) haszn�lja.
Az elektromos k�zm�h�l�zatok t�bbf�le c�lra haszn�lnak energiaell�t�rendszer-modelleket. Az ilyen rendszerek szimul�ci�ja elengedhetetlen mind a tervez�shez, mind pedig a biztons�gi elemz�sekhez, de ilyen modelleket haszn�lnak az �zemeltet�s sor�n is pl. a tehereloszt�-k�zpontok energiagazd�lkod�si rendszereiben (Energy Management Systems – EMS). Egy �zemeltet�si c�l� energiaell�t�rendszer-modell ak�r inform�ci�-oszt�lyok ezreit is tartalmazhatja. �s ezeket a modelleket nemcsak "h�zon bel�l" haszn�lj�k, de az elektromos k�zm�vek ki is cser�lik egym�s k�z�tt a modell-inform�ci�kat, mind tervez�si, mind �zemeltet�si c�lokra (pl. az energiatov�bb�t�s koordin�l�s�ra �s a megb�zhat� �zemeltet�s biztos�t�s�ra). Az egyes elektromos k�zm�h�l�zatok azonban k�l�nb�z� szoftvereket haszn�lnak erre, �s emiatt a rendszermodelleket k�l�nb�z� form�tumokban t�rolj�k, megnehez�tve ezzel a modellek cser�j�t.
Hogy t�mogass�k a rendszermodellek hordozhat�s�g�t, az energiaszolg�ltat�knak meg kellett egyezni�k a rendszerek entit�sainak �s a k�zt�k l�v� viszonyoknak a k�z�s defin�ci�j�ban. Ebb�l a c�lb�l az EPRI, (Electric Power Research Institute, egy kaliforniai, nonprofit energiakutat� konzorcium), kifejlesztett egy k�z�s inform�ci�s modellt (Common Information Model [CIM] n�ven). A CIM egy k�z�s szemantik�t defini�l a villamosenergia-h�l�zatok er�forr�sai, ezek jellemz�i �s kapcsolatai sz�m�ra. Emellett, hogy t�mogass�k a CIM modellek elektronikus tov�bb�t�s�t is, a villamosenergia-ipari szakma kifejlesztett egy nyelvet a CIM modellek le�r�s�ra, CIM/XML n�ven. A CIM/XML egy RDF alkalmaz�s, mely az RDF-et �s az RDF S�m�t haszn�lja az XML strukt�r�k szervez�s�re. A North American Electric Reliability Council (egy ipari h�tter�, �szak-amerikai nonprofit szervezet, amelyet az elektromos energia sz�ll�t�s�nak biztons�gosabb� t�tele c�lj�b�l alap�tottak) ipari szabv�nyk�nt adopt�lta a CIM/XML-t az energiasz�ll�t� rendszerek �zemeltet�i k�z�tti modellcsere c�lj�ra. A CIM/XML nemzetk�zi IEC szabv�nyos�t�sa is folyamatban van. A CIM/XML nyelv egy kit�n� ismertet�s�t adja a [DWZ01]. [Nota bene: ez a villamosenergia-ipari CIM nem t�vesztend� �ssze a Distributed Management Task Force �ltal kifejlesztett hasonl� nev� (DMTF CIM) produktummal, mely v�llalatir�ny�t�si inform�ci� �br�zol�s�ra szolg�l elosztott szoftverek, h�l�zatok �s v�llalatok k�rnyezet�ben. A DMTF CIM-nek is van egy XML reprezent�ci�ja, b�r ez m�g nem haszn�l RDF-et, de m�r folynak f�ggetlen kutat�sok ez ir�nyban is.]
A CIM seg�ts�g�vel �br�zolhat�k az elektromos k�zm�vek �ltal haszn�lt objektumoszt�lyok, valamint ezek attrib�tumainak �s viszonyainak t�lnyom� t�bbs�ge. A CIM arra haszn�lja ezeket az objektumoszt�lyokat �s attrib�tumaikat, hogy t�mogassa az egym�st�l f�ggetlen�l fejlesztett alkalmaz�sok integr�l�s�t (p�ld�ul: gy�rt�-specifikus energiagazd�lkod�si rendszerek (EMS-ek) egym�s k�z�tti integr�ci�j�t, vagy EMS-eknek olyan rendszerekkel val� integr�ci�j�t, amelyek az energiarendszerek egy�b aspektusaival foglalkoznak, mint pl. a villamos energia el��ll�t�s�nak �s sz�ll�t�s�nak ir�ny�t�sa).
A CIM-et oszt�lydiagramok halmazak�nt specifik�lt�k az Egys�ges Modellez�
Nyelv (Unified Modeling Language –
UML) seg�ts�g�vel. A CIM b�zis-oszt�lya az Energiarendszer-er�forr�s
(PowerSystemResource
) oszt�ly, mely tov�bbi, egyre
specializ�ltabb oszt�lyokra bomlik, mint pl. Al�llom�s (Substation), Kapcsol�
(Switch
) �s Megszak�t� (Breaker
), amelyeket egym�s
aloszt�lyaik�nt defini�ltak. A CIM/XML a CIM sz�k�szlet�t RDF S�ma
sz�k�szletk�nt �br�zolja, az RDF/XML nyelvet pedig a specifikus
rendszermodellek adatcsere-nyelvek�nt haszn�lja. A 41.
p�lda CIM/XML alap� oszt�ly- �s tulajdons�gdefin�ci�kat mutat be:
<rdfs:Class rdf:ID="PowerSystemResource"> <rdfs:label xml:lang="en">PowerSystemResource</rdfs:label> <rdfs:comment>"A power system component that can be either an individual element such as a switch or a set of elements such as a substation. PowerSystemResources that are sets could be members of other sets. For example a Switch is a member of a Substation and a Substation could be a member of a division of a Company"</rdfs:comment> </rdfs:Class> <rdfs:Class rdf:ID="Breaker"> <rdfs:label xml:lang="en">Breaker</rdfs:label> <rdfs:subClassOf rdf:resource="#Switch" /> <rdfs:comment>"A mechanical switching device capable of making, carrying, and breaking currents under normal circuit conditions and also making, carrying for a specified time, and breaking currents under specified abnormal circuit conditions e.g. those of short circuit. The typeName is the type of breaker, e.g., oil, air blast, vacuum, SF6."</rdfs:comment> </rdfs:Class> <rdf:Property rdf:ID="Breaker.ampRating"> <rdfs:label xml:lang="en">ampRating</rdfs:label> <rdfs:domain rdf:resource="#Breaker" /> <rdfs:range rdf:resource="#CurrentFlow" /> <rdfs:comment>"Fault interrupting rating in amperes"</rdfs:comment> </rdf:Property>
A CIM/XML a teljes RDF/XML szintaxisnak csak egy r�szhalmaz�t haszn�lja,
hogy egyszer�s�tse a modell-alkot�st. Ugyanakkor a CIM/XML implement�l n�h�ny
tov�bbi b�v�tm�nyt is az RDF S�ma sz�k�szlet�hez. Ezek a b�v�tm�nyek az
inverz szerepet �s a multiplicit�s (RDF terminol�gi�val: kardinalit�s)
korl�toz�s�t t�mogatj�k. Ez ut�bbi korl�toz�s azt jelenti, hogy egy adott
tulajdons�g h�ny k�l�nb�z� �rt�kkel alkalmazhat� egy adott er�forr�s
jellemz�s�re (ennek megengedett �rt�kei itt: z�r�-vagy-egy, pontosan-egy,
z�r�-vagy-t�bb, egy-vagy-t�bb). A 42. p�ld�ban
l�that� tulajdons�gok ezeket a b�v�tm�nyeket illusztr�lj�k. (Ezeket a
p�ld�ban a cims:
min�s�tettn�v-prefixszel azonos�tjuk):
<rdf:Property rdf:ID="Breaker.OperatedBy"> <rdfs:label xml:lang="en">OperatedBy</rdfs:label> <rdfs:domain rdf:resource="#Breaker" /> <rdfs:range rdf:resource="#ProtectionEquipment" /> <cims:inverseRoleName rdf:resource="#ProtectionEquipment.Operates" /> <cims:multiplicity rdf:resource="http://www.cim-logic.com/schema/990530#M:0..n" /> <rdfs:comment>"Circuit breakers may be operated by protection relays."</rdfs:comment> </rdf:Property> <rdf:Property rdf:ID="ProtectionEquipment.Operates"> <rdfs:label xml:lang="en">Operates</rdfs:label> <rdfs:domain rdf:resource="#ProtectionEquipment" /> <rdfs:range rdf:resource="#Breaker" /> <cims:inverseRoleName rdf:resource="#Breaker.OperatedBy" /> <cims:multiplicity rdf:resource="http://www.cim-logic.com/schema/990530#M:0..n" /> <rdfs:comment>"Circuit breakers may be operated by protection relays."</rdfs:comment> </rdf:Property>
Az EPRI sikeres egy�ttm�k�d�k�pess�g-teszteket hajtott v�gre a CIM/XML felhaszn�l�s�val gyakorlati c�l�, nagy m�ret� modellek k�l�nb�z� gy�rt�kt�l sz�rmaz� produktumok k�z�tti cser�je �tj�n, ahol az egyik tesztben t�bb, mint 2000 al�llom�s le�r�s�t tartalmaz� adat is szerepelt. Ezek a tesztek meger�s�tett�k, hogy a modelleket korrekt m�don interpret�ln�k a tipikus alkalmaz�sok. Annak ellen�re, hogy a CIM-et eredetileg EMS rendszerek c�ljaira sz�nt�k, siker�lt azt oly m�don kib�v�teni, hogy t�mogatni tudja az energiaeloszt�st �s m�s alkalmaz�sokat is.
Az Object Management Group (OMG) elfogadott egy objektum-interf�sz szabv�nyt a CIM energiarendszer-modellek el�r�s�re, amelyet Adatel�r�si eszk�znek (Data Access Facility [DAF]) nevezett el. Ugyan�gy, mint a CIM/XML nyelv, a DAF is az RDF modellen alapszik, �s ugyanazt a CIM s�m�t haszn�lja. De am�g a CIM/XML dokumentumok form�j�ban teszi lehet�v� a modellek cser�j�t, addig a DAF objektumhalmazok form�j�ban biztos�tja ugyanezt.
A CIM/XML j�l illusztr�lja azt a hasznos szerepet, amelyet az RDF j�tszhat az olyan inform�ci�k XML alap� cser�j�ben, amelyek term�szetes m�don kifejezhet�k entit�sok k�z�tti viszonyok, vagy pedig objektumorient�lt oszt�lyok, attrib�tumok �s a k�z�tt�k l�v� viszonyok seg�ts�g�vel (akkor is, ha ezek az inform�ci�k nem sz�ks�gszer�en el�rhet�k a weben kereszt�l). Ezekben az esetekben az RDF egy alapvet� strukt�r�t biztos�t az XML sz�m�ra az objektumok azonos�t�s�nak, �s struktur�lt viszonyokban val� alkalmaz�s�nak t�mogat�s�ra. Ezt az �sszef�gg�st j�l illusztr�lja az a sok alkalmaz�s, mely az RDF/XML-t haszn�lja inform�ci�csere c�lj�ra, de j�l illusztr�lja az a sz�mos projekt is, amelyik keresi a kapcsolatot az RDF (vagy az ontol�gianyelvek, mint pl. az OWL) �s az UML (vagy annak XML reprezent�ci�ja) k�z�tt. A CIM/XML-nek az a sz�ks�glete, amely miatt ki kellett b�v�tenie az RDF S�m�t a multiplicit�skorl�zoz�s (kardinalit�skorl�toz�s) �s az inverz viszonyok t�mogat�s�hoz sz�ks�ges elemekkel, ugyanazokat az ig�nyt�pusokat jelzi, amelyek az olyan, nagyobb teljes�tm�ny� RDF alap� s�ma- vagy ontol�gianyelvek kifejleszt�s�hez vezettek, mint milyen az 5.5 szekci�ban m�r ismertetett DAML+OIL �s OWL. Ezek a nyelvek teh�t alkalmasak lehetnek sok hasonl� modellez� alkalmaz�s t�mogat�s�ra.
�s v�g�l, a CIM/XML egy m�sik fontos t�nyt is illusztr�l azok sz�m�ra, akik tov�bbi "RDF a gyakorlatban" t�pus� p�ld�kat keresnek: az RDF alkalmaz�sokhoz haszn�lt nyelveket sokszor csak �gy emlegetik, mint "XML" nyelveket, vagy egyes rendszerekre �gy hivatkoznak, mint amelyek "XML"-t haszn�lnak, mik�zben t�nylegesen RDF/XML-r�l van sz�, teh�t val�j�ban RDF alkalmaz�sokr�l kellene besz�ln�nk. N�ha meglehet�sen m�lyen bele kell �snunk magunkat az ilyen nyelvek le�r�s�ba, hogy ezt �szrevegy�k (n�h�ny �ltalunk felfedezett alkalmaz�si esetn�l egyszer sem eml�tett�k meg explicit m�don az RDF nev�t, de a mintak�nt megvizsg�lt adatok vil�gosan kimutatt�k, hogy RDF/XML-r�l van sz�). S�t, egyes alkalmaz�sokban, mint pl. a CIM/XML, az el��ll�tott RDF k�d nem is jelenik meg a weben, minthogy ezt lok�lis szoftverkomponensek k�z�tti inform�ci�csere c�lj�ra sz�nj�k, nem pedig �ltal�nos hozz�f�r�s c�lj�ra (hab�r elk�pzelhet�k olyan j�v�beli alkalmaz�si vari�nsok is, amelyekben az ilyen t�pus� RDF adatok is hozz�f�rhet�v� v�lnak a weben).
Az olyan struktur�lt meta-adatok, amelyek szab�lyozott (controlled) sz�k�szleteket haszn�lnak, mint p�ld�ul az orvostudom�nyi terminol�gi�t le�r� SNOMED RT (Systematized Nomenclature of Medicine Reference Terminology), vagy az orvostudom�ny c�mszavait rendszerez� sz�t�r MeSH (Medical Subject Headings) fontos szerepet j�tszanak az orvostudom�nyban az�ltal, hogy lehet�v� teszik a hat�konyabb irodalomkutat�st, �s seg�tik az orvostani ismeretek terjeszt�s�t �s cser�j�t [COWAN]. Az orvostudom�ny azonban gyorsan fejl�dik, �s ez sz�ks�gess� teszi egyre �jabb sz�k�szletek kifejleszt�s�t.
A G�n-ontol�giai Konzorcium (Gene Ontology (GO) Consortium,[GO]) c�lja olyan sz�k�szletek rendelkez�sre bocs�t�sa, amelyek le�rj�k a g�nproduktumok specifikus aspektusait. Az egy�ttm�k�d� adatb�zisok GO kifejez�sekkel c�mk�zik (annot�lj�k) a g�nproduktumokat (vagy a g�neket), �s ez�ltal k�lcs�n�s hivatkoz�si lehet�s�geket teremtenek, valamint jelzik azt is, hogy milyen bizony�t�kok t�masztj�k al� ezeket az annot�ci�kat. A k�z�s GO kifejez�sek haszn�lata ezekben az adatb�zisokban megk�nny�ti az egys�ges lek�rdez�st. A GO-f�le ontol�gi�k struktur�ltak, hogy mind a jellemz�st, mind pedig a lek�rdez�st el lehessen v�gezni a r�szletess�g (granularit�s) k�l�nb�z� szintjein. A GO sz�k�szletek dinamikusak, hiszen a g�nek �s proteinek sejtbeli szerep�vel kapcsolatos ismeretek folyamatosan szaporodnak �s v�ltoznak.
A GO h�rom szervez�si alapelve a molekul�ris funkci�, a biol�giai folyamat �s a sejtkomponens. Egy g�nproduktumnak egy vagy t�bb molekul�ris funkci�ja van, �s egy vagy t�bb biol�giai folyamatban haszn�lj�k fel; ez esetleg kapcsolatban lehet egy vagy t�bb sejtkomponenssel. A kifejez�sek defin�ci�j�t e h�rom ontol�gi�ban egy-egy sz�vegf�jl tartalmazza. Mindh�rom sz�vegf�jlb�l havonta gener�lnak egy-egy XML form�tum� v�ltozatot, amelyek tartalmazz�k az �sszes rendelkez�sre �ll� GO kifejez�st.
A funkci�kat, folyamatokat �s komponenseket nemciklikus ir�ny�tott gr�fok vagy h�l�k form�j�ban �br�zolj�k. Itt egy gyermekfogalom k�tf�le viszonyban lehet a sz�l�fogalm�val: lehet annak egyik "esete" (ez az aloszt�ly-oszt�ly, vagy "is a" [isa] rel�ci�), vagy lehet annak egyik "komponense" (ez a r�sz-eg�sz, vagy "part of" rel�ci�). Egy gyermekfogalomnak lehet egyn�l t�bb sz�l�fogalma, �s a gyermek lehet k�l�nb�z� t�pus� viszonyban a k�l�nb�z� sz�l�ivel. A GO ontol�gi�k �br�zolj�k a szinonim�kat �s az adatb�zisok k�z�tti kereszthivatkoz�sokat is. A GO rendszer RDF/XML-t haszn�l a fogalmak k�z�tti viszonyok �br�zol�s�ra az ontol�gi�k XML v�ltozat�ban, mivel ez kell�k�ppen flexibilis az ilyen gr�fstrukt�r�k �br�zol�s�ban, �s sz�lesk�r� eszk�zt�mogat�ssal is rendelkezik. Ugyanakkor a GO jelenleg nem-RDF t�pus� be�gyazott strukt�r�kat haszn�l a kifejez�sek le�r�s�ban, teh�t a haszn�lt nyelv nem teljesen tiszta RDF/XML.
A 43. p�lda n�h�ny minta jelleg� GO inform�ci�t mutat be, amelyek a GO dokument�ci�j�b�l sz�rmaznak:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE go:go> <go:go xmlns:go="http://www.geneontology.org/xml-dtd/go.dtd#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <go:version timestamp="Wed May 9 23:55:02 2001" /> <rdf:RDF> <go:term rdf:about="http://www.geneontology.org/go#GO:0003673"> <go:accession>GO:0003673</go:accession> <go:name>Gene_Ontology</go:name> <go:definition></go:definition> </go:term> <go:term rdf:about="http://www.geneontology.org/go#GO:0003674"> <go:accession>GO:0003674</go:accession> <go:name>molecular_function</go:name> <go:definition>The action characteristic of a gene product.</go:definition> <go:part-of rdf:resource="http://www.geneontology.org/go#GO:0003673" /> <go:dbxref> <go:database_symbol>go</go:database_symbol> <go:reference>curators</go:reference> </go:dbxref> </go:term> <go:term rdf:about="http://www.geneontology.org/go#GO:0016209"> <go:accession>GO:0016209</go:accession> <go:name>antioxidant</go:name> <go:definition></go:definition> <go:isa rdf:resource="http://www.geneontology.org/go#GO:0003674" /> <go:association> <go:evidence evidence_code="ISS"> <go:dbxref> <go:database_symbol>fb</go:database_symbol> <go:reference>fbrf0105495</go:reference> </go:dbxref> </go:evidence> <go:gene_product> <go:name>CG7217</go:name> <go:dbxref> <go:database_symbol>fb</go:database_symbol> <go:reference>FBgn0038570</go:reference> </go:dbxref> </go:gene_product> </go:association> <go:association> <go:evidence evidence_code="ISS"> <go:dbxref> <go:database_symbol>fb</go:database_symbol> <go:reference>fbrf0105495</go:reference> </go:dbxref> </go:evidence> <go:gene_product> <go:name>Jafrac1</go:name> <go:dbxref> <go:database_symbol>fb</go:database_symbol> <go:reference>FBgn0040309</go:reference> </go:dbxref> </go:gene_product> </go:association> </go:term> </rdf:RDF> </go:go>
A 43. p�ld�b�l l�that�, hogy a
go:term
kifejez�s az alapvet� elem. Egyes esetekre a GO saj�t
kifejez�seket defini�lt ahelyett, hogy az RDF S�m�t haszn�lta volna. P�ld�ul
a GO:0016209
kifejez�snek van egy ilyen eleme: <go:isa
rdf:resource="http://www.geneontology.org/go#GO:0003674" />
. Ez a
teg a "GO:0016209
isa GO:0003674
" �sszef�gg�st
reprezent�lja, amelynek a jelent�se itt: "Antioxidant is
a molecular function" (az antioxid�ns egy molekul�ris funkci�).
Egy m�sik saj�tos GO viszony a "r�sze ~nak" (part of) rel�ci�. P�ld�ul a
GO:0003674-nek van egy ilyen eleme: <go:part-of
rdf:resource="http://www.geneontology.org/go#GO:0003673" />
. Ennek
a jelent�se: "Molecular function is part of the Gene Ontology" (a
molekul�ris funkci� r�sze a g�n-ontol�gi�nak).
Minden annot�ci�t (c�mk�z�st, hozz�f�z�tt megjegyz�st) valamilyen forr�shoz kell kapcsolni, mely lehet egy szakirodalmi hivatkoz�s, egy m�sik adatb�zis, vagy egy sz�m�t�g�pes elemz�s. Az annot�ci�nak jeleznie kell, milyen bizony�t�k tal�lhat� az id�zett forr�sban, mely al�t�masztja az asszoci�ci�t a g�nproduktum �s a GO kifejez�s k�z�tt. Egy egyszer� szab�lyozott sz�k�szletet haszn�lnak a bizony�t�kok r�gz�t�s�re. N�h�ny p�lda a bizony�t�k t�pusokra:
A go:dbxref
elem �br�zolja valamely k�ls� adatb�zis egyik
kifejez�s�t, a go:association
pedig egy kifejez�s asszoci�ci�j�t
egy g�nhez. A go:association
elemben lehet mind
go:evidence
elem (amelynek van egy go:dbxref
kereszthivatkoz�sa az asszoci�ci�t indokol� bizony�t�kra), mind pedig
go:gene_product
elem, mely tartalmazza a g�n szimb�lum�t �s egy
g�n hivatkoz�st (go:reference
). Ezek az elemek is mutatj�k, hogy
a GO XML szintaxisa nem "tiszta" RDF/XML, hiszen m�s elemek be�gyaz�sa ezekbe
az elemekbe nem felel meg a v�ltakoz� csom�pont-�l-csom�pont-�l
"cs�koz�snak", ahogy ez az [RDF-SZINTAXIS]
dokumentum 2.1 �s 2.2 szekci�j�ban szerepel.
A GO t�bb �rdekes k�rd�sre is r�vil�g�t. El�sz�r is megmutatja, hogy az XML haszn�lati �rt�ke az inform�ci�cser�ben n�velhet� az�ltal, hogy RDF alapon struktur�ljuk az XML k�dot. Ez k�l�n�sen igaz az olyan adatokra, amelyek egy �tfog� gr�f- vagy h�l�strukt�r�t, nem pedig szigor� hierarchi�t alkotnak. A GO szint�n egyik p�ld�ja az olyan eseteknek, ahol az RDF-et haszn�l� adatok nem sz�ks�gszer�en jelennek meg az Interneten (k�zvetlen�l haszn�lhat� form�ban), b�r a f�jlok, maguk, el�rhet�k a weben. Tov�bb�, a GO adatstrukt�r�i p�ld�nak tekinthet�k arra a jelens�gre is, hogy a fel�leten "XML"-nek l�tszanak, de egy m�lyebb elemz�s kimutatja, hogy val�j�ban RDF/XML eszk�z�ket haszn�lnak (m�g ha nem is "tiszta" RDF/XML form�ban). �s v�g�l, a GO j�l mutatja, hogy az RDF milyen szerepet j�tszhat az ontol�gi�k �br�zol�s�ban. Ez a szerep egyre jelent�sebb lesz, ahogy a gazdagabb RDF alap� ontol�gianyelvek egyre sz�lesebb k�rben elterjednek (ilyen ontol�gianyelv a DAML+OIL vagy az OWL, amelyek l�nyeg�t az 5.5 szekci�ban t�m�ren ismertett�k). Ennek l�that� jele az is, hogy a k�vetkez� gener�ci�s GO projekt (Gene Ontology Next Generation) m�r az ilyen, gazdagabb nyelvek seg�ts�g�vel k�v�nja �br�zolni a GO ontol�gi�kat.
Az ut�bbi �vekben nagysz�m�, olyan mobil k�sz�l�k jelent meg a forgalomban, amellyel b�ng�szni lehet a webet. Ezek k�z�l sok k�sz�l�k nagyon k�l�nb�z� k�pess�gekkel rendelkezik az input-output opci�k �s a nyelvt�mogat�s szintje tekintet�ben. A mobil k�sz�l�kek a h�l�zati csatlakoz�si lehet�s�geiket tekintve is el�g sz�les sk�l�n mozogatnak. Ezeknek az �j k�sz�l�keknek a haszn�l�i a k�sz�l�k k�pess�geire �s a h�l�zat pillanatnyi �llapot�ra val� tekintet n�lk�l elv�rj�k a haszn�lhat� min�s�g� tartalomkijelz�st. Hasonl�k�ppen elv�rj�k azt is, hogy amikor egy alkalmaz�s vagy egy webtartalom megjelenik a k�sz�l�ken, akkor az vegye figyelembe a felhaszn�l� dinamikusan v�ltoz� preferenci�it (pl. kapcsolja ki, vagy be a hangot). A realit�s azonban az, hogy a k�sz�l�kek k�l�nb�z�s�ge, �s egy olyan szabv�nyos m�dszer hi�nya, amellyel k�zvet�teni lehetne a felhaszn�l� preferenci�it a kiszolg�l� fel�, oda vezet, hogy olyan tartalom is megjelenik, amelyik vagy nem t�rolhat�, vagy nem megjelen�thet� a k�sz�l�ken, vagy esetleg s�rti a felhaszn�l� �rdekeit. S�t, az ilyen tartalom �tvitele a h�l�zaton kereszt�l az el�fizet� k�sz�l�k�re m�g t�l hossz� id�t is ig�nyelhet.
Egy olyan megold�s, mely ezeket a probl�m�kat megsz�ntetn�, az lehetne, ha a felhaszn�l� valahogy k�dolhatn� a saj�t v�teli k�rnyezet�t – a k�sz�l�k k�pess�geit, a felhaszn�l�i preferenci�it, a h�l�zat jellemz�it stb. – �gy, hogy a kiszolg�l� felhaszn�lhatn� ezt a k�rnyezeti inform�ci�t a tartalomnak a k�sz�l�k k�pess�gei �s a felhaszn�l� k�v�ns�gai szerinti "konfekcion�l�s�ra" (l�sd [DIPRINC]-n�l a v�teli k�rnyezet [delivery context] defin�ci�j�t). A W3C �sszetett K�pess�g/Preferencia Profil c�m� specifik�ci�ja (Composite Capabilities/Preferences Profile specification [CC/PP]) seg�t megoldani ezt a probl�m�t az�ltal, hogy defini�l egy generikus keretet a v�teli k�rnyezet le�r�s�ra.
A CC/PP-keret egy viszonylag egyszer� szerkezetet defini�l, mely a komponensek �s attrib�tum-�rt�k p�rok k�tszint� hierarchi�j�b�l �ll. Egy-egy komponenst haszn�lhatunk a v�teli k�rnyezet egy-egy r�sz�nek (mint. pl. h�l�zati jellemz�k, a k�sz�l�k szoftverkonfigur�ci�ja, vagy a k�sz�l�k hardver jellemz�i) specifik�l�s�ra. Egy komponens egy vagy t�bb attrib�tumot tartalmazhat. P�ld�ul egy olyan komponens, mely a felhaszn�l� preferenci�it k�dolja, tartalmazhat egy attrib�tumot, mely azt adja meg, hogy k�v�natos-e a hang megjelen�t�se is.
A CC/PP az im�nt felv�zolt strukt�r�it az RDF S�ma seg�ts�g�vel defini�lja (a strukt�ra s�m�j�nak r�szleteit l�sd a [CC/PP]-n�l). A CC/PP-vel defini�lhatjuk az egyes komponenseket, �s az ezek attrib�tumait le�r� sz�k�szletet, de a CC/PP, maga, nem defini�l el�re ilyen sz�k�szleteket. A sz�k�szleteket m�s szervezetek vagy alkalmaz�sok defini�lj�k (ahogy azt al�bb bemutatjuk). A CC/PP nem defini�l olyan protokollt sem, amely az ilyen sz�k�szlet-p�ld�nyok �tvitel�t szab�lyozn�.
A CC/PP sz�k�szlet egy p�ld�ny�t profilnak nevezz�k. A CC/PP attrib�tumait RDF tulajdons�gok form�j�ban k�doljuk a profilban. A 44. p�lda egy olyan profilr�szletet mutat be, amelyben az a felhaszn�l�i preferencia van k�dolva, hogy k�v�natos a hang kijelz�se:
<ccpp:component> <rdf:Description rdf:ID="UserPreferences"> <rdf:type rdf:resource="http://www.example.org/profiles/prefs/v1_0#UserPreferences"/> <ex:AudioOutput>Yes</ex:AudioOutput> <ex:Graphics>No</ex:Graphics> <ex:Languages> <rdf:Seq> <rdf:li>en-cockney</rdf:li> <rdf:li>en</rdf:li> </rdf:Seq> </ex:Languages> </rdf:Description> </ccpp:component>
Ebben az alkalmaz�sban t�bb el�nye is van az RDF haszn�lat�nak. Az egyik ilyen, hogy egy CC/PP-vel k�dolt profil olyan attrib�tumokat tartalmazhat, amelyek k�l�nb�z� szervezetek �ltal defini�lt s�m�kb�l sz�rmaznak. Az RDF haszn�lata az ilyen profilok k�sz�t�s�re nagyon is k�zenfekv�, hiszen nehezen elk�pzelhet�, hogy egyetlen szervezet el��ll�tana egy olyan szupers�m�t, mely egyes�tett adatk�nt tartalmazn� az �sszes profilt. Az RDF m�sik nagy el�nye, hogy gr�f alap� adatmodellj�n�l fogva megk�nny�ti b�rmilyen �jabb attrib�tum (RDF tulajdons�g) be�p�t�s�t a profilba. Ez k�l�n�sen hasznos az olyan profilokn�l, amelyek gyakran v�ltoz� adatokat tartalmaznak (mint pl. a helysz�nnel kapcsolatos inform�ci�k).
A Ny�lt Mobil Sz�vets�g (Open Mobile Alliance) defini�lt egy Felhaszn�l�i �gyn�k Profilt (User Agent Profile, UAProf, l�sd: [UAPROF]) – egy CC/PP alap� keretet, mely tartalmaz egy sz�k�szletet a k�sz�l�k k�pess�geinek, a felhaszn�l� oldali �gens k�pess�geinek, a h�l�zati jellemz�knek �s m�s hasonl� komponenseknek a le�r�s�ra, tov�bb� tartalmaz egy protokollt is a profilok �tvitel�re. Ez az UAProf hat komponenst defini�l, k�zt�k pl. a HardwarePlatform, a SoftwarePlatform, a NetworkCharacteristics �s a BrowserUA komponenst. Az UAProf minden egyes komponens sz�m�ra t�bb attrib�tumot is defini�l, de ezek az attrib�tumok nem r�gz�tettek, azokat fel�l lehet �rni, vagy ki lehet eg�sz�teni. A 45. p�lda az UAProf "HardwarePlatform" komponens�nek egy r�szlet�t mutatja be:
<prf:component> <rdf:Description rdf:ID="HardwarePlatform"> <rdf:type rdf:resource="http://www.openmobilealliance.org/profiles/UAPROF/ccppschema-20021113#HardwarePlatform"/> <prf:ScreenSizeChar>15x6</prf:ScreenSizeChar> <prf:BitsPerPixel>2</prf:BitsPerPixel> <prf:ColorCapable>No</prf:ColorCapable> <prf:BluetoothProfile> <rdf:Bag> <rdf:li>headset</rdf:li> <rdf:li>dialup</rdf:li> <rdf:li>lanaccess</rdf:li> </rdf:Bag> </prf:BluetoothProfile> </rdf:Description> </prf:component>
Az UAProf protokoll t�mogatja mind a statikus, mind a dinamikus profilokat. A statikus profil egy URI seg�ts�g�vel �rhet� el. Ennek t�bb el�nye is van: a kliensnek a kiszolg�l�hoz k�ld�tt lek�rdez�se csup�n egy URI lead�s�t ig�nyli egy b�besz�d� XML dokumentum helyett, s ezzel cs�kkenthet� a r�di�forgalom; a felhaszn�l� k�sz�l�k�n nem sz�ks�ges t�rolni �s/vagy el��ll�tani a profilt; a k�sz�l�k oldali szoftver implement�ci�ja egyszer�bb lehet. A dinamikus profilok el��ll�t�sa menetk�zben t�rt�nik, s ez�rt nem kapcsol�dik hozz�juk egy URI. Ez �llhat egy r�szprofilb�l is, mely csup�n a statikus profilhoz viszony�tott k�l�nbs�get tartalmazza, de tartalmazhat olyan egyed�l�ll� adatot is, mely nem szerepel a kliens statikus profilj�ban. A lek�rdez�s tetsz�leges sz�m� statikus �s dinamikus profilt tartalmazhat, de nem k�z�mb�s a profilok lead�si sorrendje, mert a k�s�bbiek fel�l�rj�k a kor�bbiakat a lek�rdez�sben. (Az UAProf protokollr�l, �s ezen bel�l a t�bbsz�r�s protokoll probl�m�j�nak felold�s�r�l tov�bbi inform�ci�k tal�lhat�k a [UAPROF] dokumentumban.)
T�bb m�s k�z�ss�g is defini�lt CC/PP alap� sz�k�szleteket (ilyen pl. a 3GPP TS 26.234 specifik�ci�ja [3GPP] �s a WAP F�rum "Multimedia Messaging Service Client Transactions Specification" [MMS-CTR] nev� sz�k�szlete). A CC/PP haszn�lat�nak eredm�nyek�ppen egy profil �lvezheti az RDF elosztott jelleg�nek el�nyeit, �s mag�ba olvaszthat k�l�nb�z� sz�k�szletekb�l sz�rmaz� komponenseket. A 46. p�lda egy ilyen profilt mutat be:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:prf="http://www.wapforum.org/profiles/UAPROF/ccppschema-20010330#" xmlns:mms="http://www.wapforum.org/profiles/MMS/ccppschema-20010111#" xmlns:pss="http://www.3gpp.org/profiles/PSS/ccppschema-YYYYMMDD#"> <rdf:Description rdf:ID="SomeDevice"> <prf:component> <rdf:Description rdf:ID="Streaming"> <rdf:type rdf:resource="http://www.3gpp.org/profiles/PSS/ccppschema-PSS5#Streaming"/> <pss:AudioChannels>Stereo</pss:AudioChannels> <pss:VideoPreDecoderBufferSize>30720</pss:VideoPreDecoderBufferSize> <pss:VideoInitialPostDecoderBufferingPeriod>0</pss:VideoInitialPostDecoderBufferingPeriod> <pss:VideoDecodingByteRate>16000</pss:VideoDecodingByteRate> </rdf:Description> </prf:component> <prf:component> <rdf:Description rdf:ID="MmsCharacteristics"> <rdf:type rdf:resource="http://www.wapforum.org/profiles/MMS/ccppschema-20010111#Streaming"/> <mms:MmsMaxMessageSize>2048</mms:MmsMaxMessageSize> <mms:MmsMaxImageResolution>80x60</mms:MmsMaxImageResolution> <mms:MmsVersion>2.0</mms:MmsVersion> </rdf:Description> </prf:component> <prf:component> <rdf:Description rdf:ID="PushCharacteristics"> <rdf:type rdf:resource="http://www.openmobilealliance.org/profiles/UAPROF/ccppschema-20010330#PushCharacteristics"/> <prf:Push-MsgSize>1024</prf:Push-MsgSize> <prf:Push-MaxPushReq>5</prf:Push-MaxPushReq> <prf:Push-Accept> <rdf:Bag> <rdf:li>text/html</rdf:li> <rdf:li>text/plain</rdf:li> <rdf:li>image/gif</rdf:li> </rdf:Bag> </prf:Push-Accept> </rdf:Description> </prf:component> </rdf:Description> </rdf:RDF>
Egy v�teli k�rnyezet defin�ci�ja, valamint a k�rnyezeten bel�li adatok fokozatosan alakulnak ki, �s �lland�an v�ltoznak. Ez�rt az RDF term�szetes b�v�thet�s�ge, �s ez�ltal a dinamikusan v�ltoz� sz�k�szletek t�mogat�sa megfelel� keretet biztos�t a v�teli k�rnyezet k�dol�s�ra.
Az 1. fejezet m�r jelezte, hogy az RDF specifik�ci�ja a Bevezet� tank�nyv mellett tov�bbi �t dokumentumot tartalmaz, amelyek a k�vetkez�k:
Bevezet� tank�nyv�nk m�r t�rgyalta e dokumentumok n�melyik�nek a t�mak�r�t: �gy pl az alapvet� RDF fogalmakat (a 2. fejezetben), az RDF/XML szintaxist (a 3. fejezetben), az RDF S�m�t (az 5. fejezetben). Ebben a fejezetben pedig r�viden ismertetj�k az eddig m�g nem t�rgyalt k�t dokumentum tartalm�t, hogy tiszt�zzuk az RDF specifik�ci�j�ban bet�lt�tt szerep�ket (hab�r eddig is sz�mtalan alkalommal utaltunk pl. az [RDF-SZEMANTIKA] dokumentum tartalm�ra).
Mint ahogy azt m�r t�rgyaltuk az el�z� fejezetekben, az RDF-et arra tervezt�k, hogy a seg�ts�g�vel kijelent�seket, meg�llap�t�sokat fogalmazhassunk meg az er�forr�sokr�l, gr�fok form�j�ban, olyan specifikus sz�k�szletek felhaszn�l�s�val, amelyek az er�forr�sok, tulajdons�gok, oszt�lyok �s hasonl� komponensek neveit tartalmazz�k. Emellett az RDF-et tov�bbi olyan, fejlettebb le�r�nyelvek kiindul�si alapj�nak is sz�nt�k, mint amilyeneket az 5.5 szekci�ban felsoroltunk. Hogy a nyelv megfeleljen ezeknek a k�vetelm�nyeknek, az RDF "jelent�s�t" rendk�v�l prec�zen sz�ks�ges defini�lni.
Hogy – k�znapi �rtelemben v�ve – pontosan mi k�pezi egy RDF gr�f "jelent�s�t", az sok t�nyez�t�l f�gghet, amelyek k�z�l a legl�nyegesebb a konvenci�, vagyis az, hogy egy adott k�z�ss�g milyen specifikus m�don �rtelmezi a felhaszn�l�k �ltal defini�lt RDF oszt�lyokat �s tulajdons�gokat, a term�szetes nyelv� komment�rokat, �s azokat a hivatkoz�sokat, amelyek m�s tartalomhordoz� dokumentumokra mutatnak. Mint m�r r�viden utaltunk r� a 2.2 szekci�ban, azoknak a jelent�seknek a z�me, amelyeket ilyen m�don �rtelmez�nk, a g�pi feldolgoz�s sz�m�ra k�zvetlen�l nem hozz�f�rhet�. Hozz�f�rhet� azonban ez a jelent�s az emberi �rtelmez�s sz�m�ra, s �gy azon programoz�k sz�m�ra is, akik olyan szoftvert fejlesztenek, amelyek k�l�nb�z� m�don feldolgozz�k majd az ilyen RDF inform�ci�t. Az RDF inform�ci�nak azonban van egy form�lis jelent�se is, mely matematikai pontoss�ggal meghat�rozza azokat a konkl�zi�kat (vagy k�vetkezm�nyeket), amelyeket a g�p le tud vonni egy RDF gr�fb�l. Az RDF szemantik�ja – [RDF-SZEMANTIKA] dokumentum defini�lja ezt a form�lis jelent�st, m�gpedig egy olyan technika seg�ts�g�vel, amelyet modell-elm�letnek (model theory) nevez�nk, �s amely arra szolg�l, hogy specifik�ljuk �ltala egy form�lis nyelv szemantik�j�t. Az [RDF-SZEMANTIKA] defini�lja az RDF nyelv szemantikai b�v�tm�nyeit is, amelyeket az RDF S�ma �s az egyedi adatt�pusok reprezent�lnak. M�s sz�val, az RDF modell-elm�lete szolg�ltatja az RDF fogalmak form�lis al�t�maszt�s�t. A modell-elm�letben defini�lt szemantika alapj�n egy RDF gr�f k�nnyen leford�that� egy olyan logikai kifejez�sre (matematikai formul�ra), amelynek l�nyeg�ben a gr�ffal azonos marad a jelent�se.
Az RDF tesztsorozata – [RDF-TESZTEK] dokumentum kieg�sz�ti az RDF sz�veges specifik�ci�j�t olyan teszt-p�ld�kkal, amelyekkel tesztelhet�k az RDF-mag Munkacsoport (RDF Core Working Group) �ltal meghat�rozott technikai probl�m�k �s szitu�ci�k. Hogy seg�tse ezeknek a p�ld�knak a le�r�s�t, a Tesztsorozat dokumentum bevezeti az N-tripletek (N-Triples) fogalm�t, amelyek a b�zis�t k�pezik annak a tripletes �r�sm�dnak, amelyet tank�nyv�nkben is v�gig alkalmazunk.
A teszt-esetek p�ld�it g�ppel olvashat� form�ban is publik�lj�k olyan webhelyeken, amelyekre Az RDF tesztsorozata dokumentum hivatkozik, �gy a fejleszt�k ezeket az RDF szoftvereik automatikus tesztel�s�re is felhaszn�lhatj�k.
A teszt-eseteket az al�bbi kateg�ri�kba sorolt�k:
A tesztsorozat nem reprezent�lja az RDF teljes specifik�ci�j�t, �s a fontoss�g tekintet�ben sem el�zi meg a t�bbi specifik�ci�s dokumentumot. Az RDF-mag Munkacsoport ezzel a tesztsorozattal l�nyeg�ben az RDF konstrukci�j�val kapcsolatos sz�nd�kait k�v�nta illusztr�lni, de a fejleszt�k sz�m�ra abban a tekintetben is hasznosak lehetnek ezek a tesztek, hogy eligaz�t�st adhatnak, ha valamilyen r�szletk�rd�sben a t�bbi dokumentum megfogalmaz�sai esetleg nem lenn�nek el�g vil�gosak.
application/rdf+xml
is archived at
http://www.w3.org/2001/sw/RDFCore/mediatype-registration .Ez dokumentum az RDF-mag Munkacsoport (RDF Core Working Group) sok tagj�t�l sz�rmaz� anyagokb�l �p�l fel. K�l�n�s k�sz�net illeti Art Barstow, Dave Beckett, Dan Brickley, Ron Daniel, Ben Hammersley, Martyn Horner, Graham Klyne, Sean Palmer, Patrick Stickler, Aaron Swartz, Ralph Swick, �s Garret Wilson munkat�rsunkat. �k sok m�s seg�t�nkkel egy�tt – akik komment�lt�k tank�nyv�nk el�z� v�ltozatait – �rt�kes munk�jukkal nagyban hozz�j�rultak ennek a v�ltozatnak a l�trej�tt�hez.
Ennek a tartalomnak a megsz�let�s�hez jelent�s m�rt�kben hozz�j�rult tov�bb� Pat Hayes, Sergey Melnik �s Patrick Stickler, akik az RDF adatt�pus-kezel� eszk�z�k fejleszt�s�t vezett�k; ezeket az RDF specifik�ci�csal�d m�s dokumentumai �rj�k le r�szletesebben.
Frank Manola k�l�n k�sz�net�t tolm�csolja a The MITRE Corporation-nek – mely Frank munk�ltat�ja volt e dokumentum elk�sz�t�se idej�n – az�rt a t�mogat�s�rt, amely egy "MITRE Sponsored Research" kutat�i �szt�nd�j form�j�ban lehet�v� tette Frank RDF-mag Munkacsoportbeli munk�j�t.
Megjegyz�s: Ez a szekci� csak egy r�vid bevezet�st k�v�n adni az URI-khez. Ezek definit�v specifik�ci�j�t megtal�lhatja az olvas� az RFC 2396 – [URIS] dokumentumban, amely tartalmazza a r�szleteket is. A t�ma tov�bbi t�rgyal�s�t ny�jtja a Naming and Addressing: URIs, URLs, ... [NAMEADDRESS] dokumentum.
Mint m�r a 2.1 szekci�ban is fejtegett�k, a webnek van egy �ltal�nos form�tum� azonos�t�ja, amelyet Egys�ges Er�forr�s-azonos�t�nak (Uniform Resource Identifier-nek, r�viden URI-nek) nevez�nk, �s amelyet arra haszn�lunk, hogy tipikusan webes er�forr�sokat azonos�tunk �s nevez�nk meg vele. Szemben az URL-ekkel, az URI-k nemcsak olyan er�forr�sokat azonos�thatnak, amelyek megtal�lhat�k a Web egy bizonyos hely�n, vagy amelyek m�sfajta sz�m�t�g�pes hozz�f�r�si mechanizmusokat haszn�lnak. K�l�nb�z� c�lokra, sz�mos k�l�nb�z� URI s�m�t (URI form�t) defini�ltak m�r. Al�bb felsorolunk n�h�nyat ezekb�l:
http:
(Hypertext Transfer Protocol), weblapok let�lt�se
sz�m�ramailto:
(p�ld�ul: mailto:[email protected]), e-mail c�mek
megjel�l�s�reftp:
(File Transfer Protocol), let�lthet� f�jlokat t�rol�
webhelyek azonos�t�s�raurn:
(Uniform Resource Names), helyt�l f�ggetlen
er�forr�sok tart�s azonos�t�s�ra (pl: az
urn:isbn:0-520-02356-0
egy k�nyv r�gz�tett azonos�t�ja)A l�tez� URI s�m�k list�ja megtal�lhat� a C�mz�si S�m�k (Addressing Schemes – [ADDRESS-SCHEMES]) dokumentumban. Helyesebb gyakorlat el�bb v�gign�zni ezt a list�t, �s adopt�lni bel�le egy l�tez� s�m�t, ha sz�ks�g�nk van egy specializ�lt azonos�t�ra, semmint megpr�b�lni egy �jabbat kital�lni.
Egyetlen szem�ly vagy szervezet sem ellen�rzi, hogy ki k�sz�t URI-ket, �s
hogyan haszn�lj�k ezeket. Am�g egyes URI s�m�k, mint pl. az URL-ek
http:
-je, egy olyan k�zponti rendszert�l f�ggenek, mint a DNS
(Domain-n�v Szerver), addig m�s s�m�k, mint pl. a freenet:
,
teljes m�rt�kben decentraliz�ltak. Ez azt jelenti, hogy – ugyan�gy,
mint m�s nevek eset�n – , senkinek sincs sz�ks�ge valamif�le hivatalos
int�zm�nyre, vagy ilyennek az enged�ly�re, hogy kre�ljon egy URI-t valaminek
a sz�m�ra. B�rki kre�lhat olyan URI-t is, amellyel olyan dologra hivatkozik,
ami nem a tulajdona, mint ahogy a term�szetes nyelvekben is haszn�lhatunk
b�rmilyen nevet valaminek a megnevez�s�re, akkor is, ha az a valami nem a
mi�nk.
Azt is eml�tett�k a 2.1 szekci�ban, hogy az
RDF URI hivatkoz�sokat [URIS] (r�vid�tve:
URIref-eket) haszn�l az RDF kijelent�sek alanyainak, �ll�tm�nyainak
�s t�rgyainak megnevez�s�re. Az URI hivatkoz�sok olyan URI-k, amelyek v�g�re
opcion�lisan odailleszthet�nk egy er�forr�sr�sz-azonos�t�t is. P�ld�ul a
http://www.example.org/index.html#section2
URI hivatkoz�s
tartalmazza a http://www.example.org/index.html
URI-t, valamint
(egy "#" karakterrel elv�lasztva az URI-t�l) tartalmazza a
Section2
er�forr�sr�sz-azonos�t�t. Az RDF URI hivatkoz�sai
alkalmazhatnak [UNICODE] karaktereket (l�sd [RDF-FOGALMAK]), s ennek eredm�nyek�nt az URI
hivatkoz�sokat sok nyelven meg lehet fogalmazni.
Az URI hivatkoz�sok lehetnek abszol�tak vagy relat�vak.
Egy abszol�t URIref a saj�t kontextus�t�l f�ggetlen�l hivatkozik egy
er�forr�sra, mint p�ld�ul ez az URI-ref:
http://www.example.org/index.html
. A relat�v URIref egy abszol�t
URIref r�vid�tett v�ltozata, ahol az URIref el�t�t-neve (prefixe) hi�nyzik, s
ez�rt egy olyan inform�ci�ra van sz�ks�g az abszol�t hivatkoz�s
el��ll�t�s�hoz, mely azonos�tja az URI-ref kontextus�t (azaz, a dokumentumot,
amelyben ezt defini�lt�k). P�ld�ul, amikor az otherpage.html
relat�v URIref megjelenik a http://www.example.org/index.html
er�forr�sban (mert t�rt�netesen ebben a dokumentumban defini�lt�k), akkor a
relat�v URI hivatkoz�st �gy kell kib�v�teni, hogy az abszol�t v�ltozata
�lljon el�: http://www.example.org/
.
Egy URIref, az URI r�sz n�lk�l, mindig arra a dokumentumra hivatkozik,
amelyben �ppen el�fordul. �gy teh�t egy �res URIref a dokumentumon bel�l
egyen�rt�k�nek tekintend� mag�nak a dokumentumnak az URIref-j�vel. Egy olyan
URIref, amelyik csup�n egy er�forr�sr�sz-azonos�t�t tartalmaz, egyen�rt�k�nek
tekintend� egy olyan URIref-fel, mely az adott dokumentum URI-j�b�l �s a
v�g�hez csatolt er�forr�sr�sz-azonos�t�b�l �ll. Ha a otherpage.html
#section2
relat�v azonos�t� megjelenne pl. a
http://www.example.org/index.html
dokumentumban, akkor ez az
azonos�t� a http://www.example.org/index.html#section2
abszol�t
URIref-nek felelne meg.
Az [RDF-FOGALMAK] dokumentuma megjegyzi, hogy az RDF gr�fok (az absztrakt modellek) nem haszn�lnak relat�v URI hivatkoz�sokat, vagyis az alanyt, az �ll�tm�nyt �s a t�rgyat (valamint a tipiz�lt liter�lok adatt�pusait) az RDF kijelent�sekben mindig a kontextust�l f�ggetlen�l kell azonos�tani. Azonban egy specifikus RDF szintaxis, mint pl. az RDF/XML, bizonyos esetekben, r�vid�t�si c�lokb�l megengedheti relat�v URI hivatkoz�sok haszn�lat�t azok abszol�t v�ltozata helyett. Az RDF/XML val�ban meg is engedi a relat�v hivatkoz�sokat, s ezek haszn�lat�t k�nyv�nk t�bb p�ld�j�ban be is mutattuk. (A tov�bbi r�szletek�rt �rdemes felkeresni az [RDF-SZINTAXIS] dokumentumot.)
Mind az RDF, mind a Web-b�ng�sz�k URI hivatkoz�sokat haszn�lnak a dolgok azonos�t�s�ra. Az RDF �s a b�ng�sz�k azonban n�mileg elt�r� m�don interpret�lj�k az ilyen hivatkoz�sokat. Ugyanis, az RDF csak a dolgok azonos�t�s�ra haszn�lja az URI hivatkoz�sokat, m�g a b�ng�sz�k a visszakeres�s�re is. A hat�s tekintet�ben a k�l�nbs�g gyakran nem l�nyeges, de vannak olyan esetek, amelyekben ez a megk�l�nb�ztet�s szignifik�ns. Az egyik nyilv�nval� k�l�nbs�g az, hogy amikor egy URI hivatkoz�st haszn�lunk egy b�ng�sz�ben, akkor azt v�rjuk, hogy ez egy olyan er�forr�st azonos�t, amelyik visszakereshet�: azaz, valami t�nylegesen tal�lhat� az URIref �ltal azonos�tott helyen. Ugyanakkor az RDF-ben egy URIref haszn�lhat� olyan dolog azonos�t�s�ra is (mint pl. egy szem�ly), ami/aki nem visszakereshet� a weben. N�ha az RDF-et azzal a konvenci�val egy�tt haszn�ljuk, hogy amikor egy URI hivatkoz�st kijel�l�nk egy RDF er�forr�s azonos�t�s�ra, akkor egy�ttal egy olyan weblapot is elhelyez�nk az �ltala azonos�tott webhelyen, amelyben le�r� inform�ci�t t�rolunk az adott er�forr�sr�l �gy, hogy ez az URIref felhaszn�lhat� egy Web-b�ng�sz�ben ennek a weblapnak az el�r�s�re. Ez a konvenci� hasznos lehet bizonyos k�r�lm�nyek k�z�tt, azonban ez neh�zs�get okoz, amikor meg kell k�l�nb�ztetn�nk az eredeti er�forr�s identit�s�t az �t le�r� weblap identit�s�t�l (ahogy ezt a probl�m�t a 2.3 szekci�ban m�r b�vebben t�rgyaltuk). Egy ilyen konvenci� azonban nem explicit r�sze az RDF defin�ci�j�nak, hiszen az RDF, maga, nem felt�telezi, hogy egy URIref olyan valamit azonos�t, ami visszakereshet�.
Egy m�sik k�l�nbs�g abban �ll, ahogyan az er�forr�sr�sz-azonos�t�t tartalmaz� URI hivatkoz�sokat kezeli az RDF �s a b�ng�sz�. Gyakran l�thatunk er�forr�sr�sz-azonos�t�t olyan URL-ekben, amelyek HTML dokumentumokat azonos�tanak, �s amelyekben ezek egy meghat�rozott r�szt jel�lnek meg a dokumentumon bel�l. A szok�sos HTML haszn�latban, ahol URI hivatkoz�sokat haszn�lnak a megjel�lt er�forr�sok visszakeres�s�re, az al�bbi k�t URIref:
http://www.example.org/index.html
http://www.example.org/index.html#Section2
�sszef�gg egym�ssal (mindkett� ugyanarra a dokumentumra hivatkozik �gy, hogy a m�sodik egy helyet azonos�t az els�n bel�l). Az RDF azonban, mint m�r jelezt�k, puszt�n csak az er�forr�sok azonos�t�sra haszn�lja az URI hivatkoz�sokat, de nem a visszakeres�s�kre, �s �gy nem is t�telez fel semmilyen konkr�t �sszef�gg�st e k�t URIref k�z�tt. Az RDF szempontj�b�l ezek szintaktikalag k�l�nb�z� URI hivatkoz�sok, azaz teljesen f�ggetlen dolgokra hivatkozhatnak. Ez nem jelenti azt, hogy a HTML �ltal defini�lt tartalmaz�si rel�ci� nem l�tezhet k�z�tt�k, hanem csak azt, hogy az RDF nem felt�telezi, hogy l�tezik ilyen �sszef�gg�s, csak mert a k�t hivatkoz�s URI r�sze megegyezik.
M�g tov�bb m�ly�tve ezt a t�m�t, az RDF nem felt�telezi, hogy b�rmilyen �sszef�gg�s van az olyan URI hivatkoz�sok k�z�tt, amelyek ugyanazzal a karakterl�nccal kezd�dnek, ak�r van benn�k er�forr�sr�sz-azonos�t�, ak�r nincs. P�ld�ul az RDF szempontj�b�l az al�bbi k�t URIref:
http://www.example.org/foo.html
http://www.example.org/bar.html
nem �ll semmilyen konkr�t �sszef�gg�sben egym�ssal, annak ellen�re sem,
hogy mindkett� a http://www.example.org/
karakterl�nccal
kezd�dik. Az RDF sz�m�ra ez csup�n k�t k�l�nb�z� er�forr�s, minthogy az URI
hivatkoz�suk k�l�nb�z�. (T�nylegesen, ez a k�t f�jl lehet ak�r ugyanabban a
mapp�ban is, de az RDF nem felt�telezi ezt, �s azt sem, hogy b�rmi m�s
�sszef�gg�s lenne k�z�tt�k.)
Megjegyz�s: ez a szekci� csup�n egy r�vid bevezet�st k�v�n ny�jtani az XML-hez. Az XML definit�v specifik�ci�j�t az [XML] dokumentum tartalmazza, mely a r�szletek tekintet�ben tov�bbi felvil�gos�t�ssal szolg�l.
Az XML-t, a B�v�thet� Jel�l�nyelvet (Extensible Markup
Language – [XML]) arra tervezt�k, hogy
b�rkinek lehet�v� tegy�k saj�t dokumentumform�tumok tervez�s�t, majd pedig
ilyen form�tum� dokumentumok �r�s�t. Ugyan�gy, mint a HTML dokumentumok
(weblapok), az XML dokumentumok is sz�veget tartalmaznak. Ez a sz�veg
els�sorban ny�lt sz�vegr�szekb�l �s tegek form�j�ban megadott
jel�l�sekb�l �ll. Az ilyen jel�l�sek lehet�v� teszik a feldolgoz�
programoknak, hogy �rtelmezz�k a tartalom k�l�nb�z� darabjait, amelyeket
elemeknek h�vunk. Mind az XML tartalom, mind pedig a tegek (ez
ut�bbiak csak bizonyos kiv�telekkel) tartalmazhatnak [UNICODE] karaktereket, s ez lehet�v� teszi, hogy sok
nyelven k�zvetlen�l is le�rhassuk az inform�ci�inkat. A HTML eset�ben a
megengedett tegeket �s ezek interpret�ci�j�t a HTML specifik�ci� tartalmazza.
Ezzel szemben az XML lehet�v� teszi a felhaszn�l�knak, hogy (tegek �s ezek
strukt�r�i form�j�ban) olyan, saj�t jel�l�nyelvet defini�lhassanak, mely
alkalmazkodik a saj�t ig�nyeikhez (a 3. fejezetben
le�rt RDF/XML is egy ilyen jel�l�nyelv). P�ld�ul a k�vetkez� egyszer� mondat:
I just got a pet dog
("�ppen az im�nt kaptam egy kiskuty�t")
egyes r�szeihez (I
�s dog
) XML alap� jel�l�nyelv
seg�ts�g�vel csatoltunk g�ppel �rtelmezhet� jelent�st:
<sentence><person webid="http://example.com/#johnsmith">I</person> just got a new pet <animal>dog</animal>.</sentence>
A tegek �ltal hat�rolt elemeket (<sentence>
,
<person>
stb.) az�rt vezett�k be, hogy egy meghat�rozott
strukt�r�t alkossanak a mondaton bel�l. Ezek a tegek lehet�v� teszik, hogy
egy program – amelyet �gy �rtak meg, hogy �rtse ezeknek a jelent�s�t,
valamint felismerje azt a strukt�r�t, amelyben megjelennek – helyesen
�rtelmezze ezt a mondatot. Ebben az elemek egyike az
<animal>dog</animal>
. Ez tartalmaz egy
nyit�teget: <animal>
(�llat) az elem
tartalm�t: dog
(kutya) �s egy, a nyit�teggel azonos
nev� z�r�teget (</animal>
). Ez az
animal
elem a person
(szem�ly) elemmel egy�tt bele
van �gyazva a sentence
(mondat) elem tartalm�ba, annak
r�szek�nt. Ez a be�gyaz�s j�val �tl�that�bb lenne (�s k�zelebb lenne a
tank�nyv�nkben haszn�lt struktur�ltabb �br�zol�sokhoz is), ha �gy �rn�nk
fel:
<sentence> <person webid="http://example.com/#johnsmith">I</person> just got a new pet <animal>dog</animal>. </sentence>
Lehetnek olyan esetek, amikor egy elemnek nincs tartalma. Ezt jel�lhetj�k
�gy, hogy nem �runk semmit az elem nyit�- �s z�r�tegje k�z� (pl.
<animal></animal>
), vagy jel�lhetj�k �gy is, hogy a
tegnek egy r�vid�tett form�j�t haszn�ljuk, amelyet �res elem tegnek
nevez�nk (pl. <animal/>
).
Egyes esetekben a nyit�teg (vagy az �res elem teg) tartalmazhat min�s�t�
inform�ci�t is a teg neve mellett. Ezt attrib�tumnak nevezz�k.
P�ld�ul a <person>
elem nyit�tegje a
webid="http://example.com/#johnsmith"
attrib�tumot tartalmazza
(nyilv�n annak a konkr�t szem�lynek az azonos�t�j�t, akire hivatkozik). Az
attrib�tum egy n�vb�l, egy egyenl�s�gjelb�l �s egy �rt�kb�l �ll (ez ut�bit
id�z�jelek k�z� �rjuk).
Ez a konkr�t jel�l�nyelv a "sentence", a "person" �s az "animal" szavakat
haszn�lja tegn�vk�nt, amelyekkel megpr�b�lja �tvinni az egyes elemek
specifikus jelent�s�t vagy egy angolul besz�l� szem�lynek, aki olvassa, vagy
egy olyan programnak, amelyet kifejezetten �gy �rtak meg, hogy �rtelmezni
tudja ezt a kis sz�k�szletet. Azonban m�gsem besz�lhet�nk itt be�p�tett
jelent�sr�l. Ugyanis, egy angolul nem tud� szem�lynek, vagy egy olyan
programnak, amelyet nem �gy �rtak meg, hogy �rtse ezt a jel�l�nyelvet, semmit
sem mond pl. a <person>
elem. Tekints�k p�ld�nak a
k�vetkez� XML r�szletet:
<dfgre><reghh bjhbw="http://example.com/#johnsmith">I</reghh> just got a new pet <yudis>dog</yudis>.</dfgre>
Egy g�p sz�m�ra ez a r�szlet sem t�bbet, sem kevesebbet nem mond ann�l, amit az el�bbi p�lda mondott. Most m�r azonban egy angolul besz�l� sz�m�ra sem vil�gos, hogy ez mit k�z�l, mivel a tegek itt nem angol nyelv� szavak. De lehetn�nek ebben a mondatban ak�r ugyanazok az angol szavak is, mint az el�z� p�ld�ban; ha egy m�sik jel�l�nyelvben eg�szen m�s jelent�st tulajdon�tan�nak nekik, a mondat akkor is �rthetetlen lenne a sz�munkra. P�ld�ul a "sentence" kifejez�s egy m�sik jel�l�nyelvben (mondjuk, egy b�rt�n k�rnyezet�ben) jel�lhetn� azt az id�tartamot, amelyet egy b�n�z�nek le kell �lnie (minthogy a sz� m�sik jelent�se: "b�ntet�s"). Ez�rt teh�t tov�bbi kiseg�t� mechanizmusokra van sz�ks�g�nk ahhoz, hogy egy XML sz�k�szlet egy�rtelm�s�g�t biztosan fenntarthassuk.
Hogy megel�zz�k a f�lre�rt�seket, sz�ks�ges, hogy egy�rtelm�en azonos�tsuk a jel�l�elemeket. Ezt az XML n�vterek (XML Namespaces – [XML-NS]) seg�ts�g�vel val�s�thatjuk meg. A n�vt�r egy olyan m�dszer, amellyel azonos�thatjuk a Web (inform�ci�ter�nek) egy r�sz�t, a n�vt�r neve pedig egy olyan min�s�t� n�v, mely megjel�li a nevek egy meghat�rozott halmaz�t (a n�vt�r elemeit). A n�vteret �gy �ll�tjuk el� egy XML jel�l�nyelv sz�m�ra, hogy hozz�rendel�nk egy URI-t. B�rki kre�lhat mag�nak saj�t tegeket, ha ezeket a saj�t n�vter�nek a nev�vel min�s�ti (prefixeli), hiszen ezeket �gy m�r egy�rtelm�en meg lehet k�l�nb�ztetni azokt�l nevekt�l, amelyeket m�sok haszn�lnak, akkor is, ha net�n azokkal homonim nevek lenn�nek (vagyis, azonos szavakat tartalmazn�nak, de m�s jelent�sben). N�ha azt a konvenci�t k�vetik, hogy k�sz�tenek egy weblapot, amelyben defini�lj�k a jel�l�nyelvet (illetve le�rj�k a tegek sz�nd�kolt jelent�s�t), �s ennek a weblapnak az URL-j�t haszn�lj�k a nyelv sz�k�szlet�t �tfog� n�vt�rnek az azonos�t�s�ra. Ez azonban csup�n egy konvenci�, ugyanis sem az XML, sem az RDF nem t�telezi fel, hogy a n�vt�r-URI egy visszakereshet� webforr�st azonos�t. Az al�bbi p�lda illusztr�lja egy XML n�vt�r haszn�lat�t:
<user:sentence xmlns:user="http://example.com/xml/documents/"> <user:person user:webid="http://example.com/#johnsmith">I</user:person> just got a new pet <user:animal>dog</user:animal>. </user:sentence>
Ebben a p�ld�ban a
xmlns:user="http://example.com/xml/documents/"
attrib�tum
deklar�lja a n�vteret ehhez a kis XML r�szlethez. Ez az attrib�tum a
user
prefixre k�pezi le a
http://example.com/xml/documents/
n�vt�r-URI-t. Az XML tartalom
ezut�n m�r ilyen min�s�tett nevet (qualified name vagy
QName) haszn�lhat tegk�nt, mint pl. user:person
. Egy
min�s�tett n�v egy prefixszel (el�t�t-n�vvel) kezd�dik, mely egy n�vteret
azonos�t; ezt egy kett�spont karakter, majd pedig egy olyan helyi n�v k�veti,
mely egy XML teget vagy egy attrib�tumot nevez meg. Az az elj�r�s, hogy
n�vt�r-URI-ket haszn�lunk a nevek egyes csoportjainak megk�l�nb�ztet�s�re,
valamint az a megold�s hogy a tegeket azoknak a n�vtereknek az URI-j�vel
min�s�tj�k, ahonnan ezek a tegek sz�rmaznak (mint ebben a p�ld�ban is
tett�k), biztos�tja azt, hogy nem kell tartanunk az esetleges
n�v-�tk�z�sekt�l. Ugyanis k�t teg, vagy k�t kifejez�s, amelyet ugyan�gy
�runk, csak akkor sz�m�t azonosnak, ha a n�vt�r-URI-j�k is azonos.
Minden XML dokumentumnak "j�l form�ltnak" (well-formed) kell lennie. Ez azt jelenti, hogy egy XML dokumentumnak ki kell el�g�tenie egy sor szintaktikai felt�telt: p�ld�ul, hogy minden nyit�teghez egy megfelel� z�r�tegnek kell tartoznia, �s az elemeket helyesen kell be�gyazni m�s elemekbe (az elemek pl. nem lapolhatj�k �t egym�st). A j�l form�lts�g komplett felt�telrendszer�t az [XML] specifik�ci� defini�lja.
A fentebb eml�tett alkot�elemek mellett, egy XML dokumentum opcion�lisan
tartalmazhat egy dokumentumt�pus-deklar�ci�t (document type
declaration), amelyben tov�bbi korl�toz�sokat lehet defini�lni a
dokumentum szerkezet�re vonatkoz�an, �s amely t�mogatja el�re defini�lt
kifejez�sek haszn�lat�t a dokumentumon bel�l. A dokumentumt�pus-deklar�ci�
(mely egy DOCTYPE
teggel kezd�dik) tartalmazza azokat a
deklar�ci�kat – vagy az ilyen deklar�ci�kra mutat� hivatkoz�sokat
– amelyek egy nyelvtant defini�lnak a dokumentum sz�m�ra. Ezt a
nyelvtant dokumentumt�pus-defin�ci�nak (document type definition),
r�viden DTD-nek h�vjuk. A DTD-ben szerepl� deklar�ci�k ilyen dolgokat
specifik�lnak, mint hogy milyen XML elemek �s attrib�tumok jelenhetnek meg
egy olyan dokumentumban, mely megfelel ennek a DTD-nek, �s hogy milyen
viszony �ll fenn ezek k�z�tt az elemek �s attrib�tumok k�z�tt (pl., hogy mely
elemeket �gyazhatunk be m�s elemekbe, vagy hogy milyen elemekben, milyen
attrib�tumok jelenhetnek meg), tov�bb�, hogy az egyes elemek k�telez�ek-e,
vagy csak opcion�lisak. A dokumentumt�pus-deklar�ci� hivatkozhat olyan
deklar�ci�k halmaz�ra is, amelyek a dokumentumon k�v�l helyezkedhetnek el.
Ezeket k�ls� r�szhalmazoknak (external subsets) nevezz�k, �s arra
szolg�lnak, hogy lehet�v� tegy�k t�bb dokumentum DTD-je sz�m�ra a k�z�s
deklar�ci�k haszn�lat�t. A dokumentumt�pus-deklar�ci� azonban tartalmazhatja
a deklar�ci�kat k�zvetlen�l a dokumentumban is – ezeket bels�
r�szhalmazoknak (internal subset) h�vjuk, de mag�ba �p�thet k�ls�
�s bels� r�szhalmazokat is. Egy dokumentum teljes DTD-je e k�t r�szhalmaz
�sszess�g�b�l �ll. A 47. p�lda egy
dokumentumt�pus-deklar�ci�val rendelkez�, egyszer� XML dokumentumot mutat
be:
<?xml version="1.0"?> <!DOCTYPE greeting SYSTEM "http://www.example.org/dtds/hello.dtd"> <greeting>Hello, world!</greeting>
Ebben az esetben a dokumentumnak csak egy k�ls� DTD r�szhalmaza van,
amelynek a hely�t a http://www.example.org/dtds/hello.dtd
rendszer-azonos�t� (system identifier) URIref jel�li meg.
Egy dokumentum akkor sz�m�t �rv�nyes (valid) XML dokumentumnak, ha rendelkezik egy dokumentumt�pus-deklar�ci�val, �s a dokumentum megfelel azoknak a korl�toz�soknak, amelyek ebben a deklar�ci�ban szerepelnek.
Egy RDF/XML dokumentumnak azonban el�g csak j�l form�lt XML-nek kell lennie; ezt nem sz�ks�ges �rv�nyess�g-ellen�rz�snek al�vetni (valid�ltatni) valamilyen XML DTD, vagy valamilyen XML s�ma alapj�n. Az [RDF-SZINTAXIS] nem is specifik�l egy normat�v DTD-t, ami haszn�lhat� lenne egy tetsz�leges RDF/XML k�d valid�ci�j�ra (az [RDF-SZINTAXIS] dokumentum f�ggel�ke ny�jt azonban egy nem-normat�v, p�lda jelleg� s�m�t az RDF/XML sz�m�ra). Ez�rt az XML DTD nyelvtanok r�szletesebb t�rgyal�sa m�r k�v�l esik a tank�nyv�nk t�rgyk�r�n. A DTD nyelvtanokr�l, valamint az XML valid�ci�j�r�l tov�bbi inform�ci�k tal�lhat�k az [XML] specifik�ci�ban, valamint az XML-r�l megjelent sz�mos k�nyvben.
Van azonban egy olyan alkalmaz�sa az XML dokumentumt�pus-deklar�ci�knak, mely �rv�nyes az RDF/XML-re is, �s ez az XML entit�sok deklar�l�sa. Egy XML entit�sdeklar�ci� l�nyeg�ben egy nevet kapcsol egy karakterl�nchoz. Amikor ezt a nevet k�s�bb az XML dokumentumban haszn�ljuk, akkor az XML processzorok behelyettes�tik azt a megfelel� karakterl�nccal. Ez lehet�s�get teremt a hossz� karakterl�ncok (pl. az URI hivatkoz�sok) r�vid�t�s�re, �s �gy, az ilyeneket tartalmaz� XML dokumentumok ember �ltali olvashat�s�g�nak a jav�t�s�ra. A dokumentumt�pus-deklar�ci�knak kiz�r�lag XML entit�sok deklar�l�s�ra val� haszn�lata teljesen leg�lis, �s hasznos lehet akkor is, ha (mint pl. az RDF/XML-ben) a dokumentumot nem k�v�njuk XML valid�ci�nak al�vetni.
RDF/XML haszn�latakor az entit�sokat �ltal�ban mag�ban a dokumentumban
deklar�ljuk egy bels� DTD r�szhalmaz megad�s�val. Ennek egyik oka az, hogy
mivel az RDF/XML-t nem sz�ks�ges valid�ltatni, �gy nem-valid�l� XML
processzort haszn�lhatunk, �s az ilyen processzort �gy nem kell felk�sz�teni
k�ls� DTD r�szhalmazok elemz�s�re. P�ld�ul, ha elhelyezz�k a 48. p�ld�ban l�that� DTD-t egy RDF/XML dokumentum
elej�re, akkor ez lehet�v� teszi, hogy azokat az URI hivatkoz�sokat,
amelyeket pl. az rdf
, az rdfs
�s az
xsd
n�vterek megjel�l�s�re haszn�lunk, ilyen nevekkel
r�vid�ts�k, mint: &rdf;
&rdfs;
�s
&xsd;
ahogyan a p�lda is mutatja:
<?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#"> ]> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:xsd = "&xsd;"> ...RDF statements... </rdf:RDF>
Csak apr�bb szerkeszt�si �s g�pel�si jav�t�sokat v�gezt�nk az Aj�nl�stervezet v�ltozathoz k�pest. A kor�bbi v�ltoztat�sokat a v�ltoztat�si napl� tartalmazza.