(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 (Resource Description Framework) egy keretrendszer a weben t�rt�n� inform�ci��br�zol�s c�lj�ra.
Ez a dokumentum egy XML szintaxist defini�l az RDF sz�m�ra az XML n�vterek, az XML Inform�ci�halmaz (XML Information Set) �s az XML B�zis (XML Base) fogalmai alapj�n. Ezt a szintaxist RDF/XML-nek nevezz�k. A szintaxis form�lis nyelvtan�hoz olyan akci�k vannak csatolva, amelyek az RDF gr�fok tripletjeit gener�lj�k, ahogyan ezeket Az RDF alapfogalmai �s absztrakt szintaxisa c�m� dokumentum defini�lja. A tripleteket az N-Triples konvenci� szerinti gr�fsoros�t� form�tumban �rjuk, mely egy pontosabb, g�ppel feldolgozhat� lek�pez�s r�gz�t�s�t teszi lehet�v�. A lek�pez�st teszt-esetek form�j�ban adja meg a nyelvtan; ezeket Az RDF tesztsorozata c�m� dokumentum foglalja egybe.
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 Resource Description Framework 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 Core Working Group (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 El�zetes Aj�nl�stervezet munkaanyag �ta a jelen Aj�nl�s megsz�let�s�ig a dokumentumon v�grehajtott m�dos�t�sokat a v�ltoztat�si napl� r�szletezi.
A Munkacsoport sz�vesen fogadja az 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 Egy XML szintaxis az RDF sz�m�ra
2.1 Bevezet�s
2.2 Csom�pont-elemek �s
tulajdons�gelemek
2.3 T�bbsz�r�s
tulajdons�gelemek
2.4 �res
tulajdons�gelemek
2.5 Tulajdons�g-attrib�tumok
2.6 Teljes
dokumentumok l�trehoz�sa: az rdf:RDF
elem �s az XML
deklar�ci�
2.7 Nyelvek t�mogat�sa: az
xml:lang
2.8 XML-liter�lok:
rdf:parseType="Literal"
2.9 Tipiz�lt
liter�lok: rdf:datatype
2.10 �res csom�pontok
azonos�t�sa: rdf:nodeID
2.11 �res
csom�pontok kihagy�sa: rdf:parseType="Resource"
2.12 Csom�pontok
kihagy�sa: tulajdons�gattribumok egy �res tulajdons�gelemre
2.13 Tipiz�lt
csom�pont-elemek: az rdf:type
kiv�lt�sa
2.14 URI hivatkoz�sok
r�vid�t�se: rdf:ID
�s xml:base
2.15 Kont�nertags�g-tulajdons�gok:
rdf:li
�s rdf:_
n
2.16 Kollekci�k:
rdf:parseType="Collection"
2.17 RDF kijelent�sek
t�rgyias�t�sa: rdf:ID
3 Terminol�gia
4 RDF MIME t�pus, f�jl-kiterjeszt�s �s Macintosh
f�jl-t�pus
5 Glob�lis k�rd�sek
5.1 Az RDF n�vt�r �s
sz�k�szlet
5.2 Azonos�t�k
5.3 URI-k l�trehoz�sa
5.4 Korl�toz�sok
5.5 Megfelel�s
6 A szintaxis adatmodell
6.1 A szintaxis adatmodell
esem�nyei
6.2 Az inform�ci�halmaz
lek�pez�se
6.3 A nyelvtan
le�r�nyelve
7 Az RDF/XML nyelvtana
7.1 Nyelvtani
�sszefoglal�
7.2 Nyelvtani
produkci�k
7.3 T�rgyias�t�si szab�lyok
7.4 Lista kiterjeszt�si
szab�lyok
8 RDF gr�fok soros�t�sa RDF/XML-ben
9 RDF/XML k�d be�gyaz�sa HTML-be �s
XHTML-be
10 Az RDF/XML haszn�lata SVG-vel
11 K�sz�netnyilv�n�t�s
12 A hivatkoz�sok list�ja
A. f�ggel�k: Szintaxis s�m�k
(Informat�v)
A.1 f�ggel�k: A RELAX NG
kompakt szintaxis-s�ma (Informat�v)
B. f�ggel�k: V�ltoztat�sok a 2003. okt�ber 10-i
v�gleges munkaanyaghoz k�pest (Informat�v)
Ez a dokumentum az RDF gr�fok XML szintaxis�t defini�lja, amelyet eredetileg az RDF Model & Syntax - [RDF-MS] W3C aj�nl�s defini�lt. E szintaxis egym�st k�vet� implement�ci�inak tapasztalatai, valamint az �ltaluk kiadott RDF gr�fok �sszehasonl�t�sai azt mutatt�k, hogy n�mi inkonzisztencia van a rendszerben, �s bizonyos szintaxisform�kat nem is implement�ltak el�g sz�les k�rben a fejleszt�k.
A jelen a dokumentum rev�zi� al� veszi az eredeti RDF/XML nyelvtant az XML Inform�ci�halmaz ([INFOSET]) inform�ci�t�telei szempontj�b�l, �s ebben elt�volodik az XML meglehet�sen alacsony szint� r�szleteit�l (mint pl. az �res elemek k�l�nb�z� form�i). Ez lehet�v� teszi a nyelvtan pontosabb r�gz�t�s�t, �s az XML szintaxis RDF gr�fokra t�rt�n� lek�pez�s�nek vil�gosabb bemutat�s�t. Az RDF gr�fokra t�rt�n� lek�pez�s �gy t�rt�nik, hogy az elemi kijelent�seket Az RDF Tesztsorozata [RDF-TESZTEK] c�m� dokumentum �ltal defini�lt N-Triples not�ci�ban adja ki a nyelvtan, �s �gy olyan gr�fot �ll�t el�, amelynek szemantik�ja megfelel az [RDF-SZEMANTIKA] dokumentumban defini�lt szemantik�nak.
Az RDF teljes specifik�ci�ja az al�bbi dokumentumokb�l �ll:
Egy hosszabb bevezet�st tartalmaz az RDF/XML-hez (t�rt�neti megvil�g�t�sban is) az RDF: Understanding the Striped RDF/XML Syntax [STRIPEDRDF] dokumentum.
Ez a fejezet egy bevezet�s az RDF/XML szintaxisba, mely le�rja, �s p�ld�kon kereszt�l is illusztr�lja, hogy hogyan t�rt�nik az RDF gr�fok k�dol�sa. Ha b�rmilyen �tk�z�s fordulna el� ezen inform�lis le�r�s �s a 6. fejezet: A szintaxis adatmodell, vagy a 7. fejezet: RDF/XML Nyelvtan form�lis le�r�sa k�z�tt, akkor mindig ez ut�bbiak az ir�nyad�k.
"Az RDF alapfogalmai �s absztrakt szintaxisa" [RDF-FOGALMAK] dokumentum 3.1 szekci�ja defini�lja az RDF gr�f adatmodellt, a 6. fejezete pedig az RDF Gr�f absztrakt szintaxis�t. Ezek a r�szek "Az RDF szemantik�ja" [RDF-SZEMANTIKA] dokumentum anyag�val egy�tt egy absztrakt szintaxist defini�lnak, a hozz� tartoz� form�lis szemantik�val egy�tt. Az RDF gr�f csom�pontokb�l, �s c�mk�zett, ir�ny�tott �lekb�l �ll, ahol az �lek csom�pont-p�rokat k�tnek �ssze. Ezt a gr�fot RDF tripletek halmaz�val �br�zoljuk, ahol minden tripletnek van egy alany-csom�pontja, egy �ll�tm�nya �s egy t�rgy-csom�pontja. A csom�pontok RDF URI hivatkoz�sok, RDF liter�lok vagy �res csom�pontok lehetnek. Az �res csom�pontoknak adhatunk egy, csak a dokumentumon bel�l �rv�nyes, nem RDF URI hivatkoz�s jelleg�, helyi nevet, amelyet �rescsom�pont-azonos�t�nak h�vunk. Az �ll�tm�nyok mindig RDF URI hivatkoz�sok, �s felfoghat�k k�t csom�pont k�z�tti viszonyk�nt, vagy olyan tulajdons�gok defin�ci�ik�nt, amelyek az alany-csom�ponthoz egy tulajdons�g�rt�ket (t�rgy-csom�pontot) kapcsolnak.
Hogy XML-ben k�dolhassuk a gr�fot, a csom�pontokat �s az �ll�tm�nyokat XML kifejez�sekkel – elemnevekkel, attrib�tum-nevekkel, elemtartalommal �s attrib�tum-�rt�kekkel – kell �br�zolnunk. Az RDF/XML XML min�s�tett neveket (QNames) haszn�l az URI hivatkoz�sok �br�zol�s�ra, ahogyan azt a Namespaces in XML - [XML-NS] dokumentum defini�lja. Minden min�s�tett n�v egy n�vt�r-n�vb�l, �s egy r�vid helyi n�vb�l �ll. A n�vt�r-n�v, mely egy URI hivatkoz�s, helyettes�thet� egy r�vid�tett prefixszel is a min�s�tett n�vben, vagy ak�r el is hagyhat�, amennyiben deklar�lunk sz�m�ra egy alap�rtelmezett n�vt�r-nevet (amelynek r�v�n v�g�l is lesz egy n�vt�r-n�v a hivatkoz�sban).
A min�s�tett n�vvel �br�zolt RDF URI hivatkoz�s �gy j�n l�tre, hogy a n�v helyi r�sz�t a n�vt�r-n�v v�g�hez illesztj�k. Az ilyen neveket az �ll�tm�nyok, valamint n�h�ny csom�pont nev�nek a r�vid�t�s�re haszn�ljuk. Az alany- �s t�rgy-csom�pontokat azonos�t� RDF URI hivatkoz�sokat XML attrib�tum-�rt�kk�nt is haszn�lhatjuk. Az RDF liter�lokat, amelyek csak t�rgy-csom�pontok lehetnek, vagy XML elemek sz�veges tartalmak�nt, vagy XML attrib�tumok �rt�kek�nt haszn�lhatjuk.
Egy gr�f felfoghat� olyan �tvonalak gy�jtem�ny�nek is, amelyen v�ltakozva jelenik meg egy csom�pont, majd egy �ll�tm�ny-�l, majd ism�t egy csom�pont, �s �gy tov�bb, am�g le nem fedi a teljes gr�fot. Az RDF/XML-ben ezek a komponensek egym�sba �gyaz�d� elemek sorozatak�nt, v�ltakozva, hol csom�pontk�nt, hol �ll�tm�ny-�lk�nt jelennek meg, �s ez�rt a gr�fot le�r� XML k�dot csom�pont-�l "cs�kok" sorozat�nak is tekinthetj�k. A sorozat elej�n l�v� csom�pont lesz a legk�ls� sz�l� elem, a k�vetkez� �ll�tm�ny-�l a gyermek elem �s �gy tov�bb. A cs�kok sorozata �ltal�ban az XML dokumentum elej�n indul, �s mindig csom�ponttal kezd�dik.
A k�vetkez� szekci�kban t�bb olyan RDF/XML p�ld�t is bemutatunk, amelyek komplett RDF/XML dokumentumot �p�tenek fel (a 7. p�lda lesz az els� komplett RDF/XML dokumentum). Az 1. �br�n bemutatott gr�f, t�rt�netesen, a jelen dokumentum (rdf-syntax-grammar) n�h�ny tulajdons�g�t �rja le: a dokumentum c�m�t (title), a szerkeszt�j�t (editor), a szerkeszt� nev�t (Name) �s a szerkeszt� honlapj�t (homePage):
Az 1. �br�n egy RDF gr�fot adtunk meg, ahol a csom�pontokat ov�lisok �br�zolj�k, amelyek saj�t RDF URI hivatkoz�saikat tartalmazz�k (m�r ahol vannak ilyenek); az �ll�tm�ny-�leket szint�n azok RDF URI hivatkoz�saival c�mk�zz�k; a t�pus n�lk�li liter�lok csom�pontjait pedig dobozok szimboliz�lj�k, ezekben a liter�lok �rt�keit t�ntetj�k fel.
A 2. �br�n k�vess�k v�gig az egyik csom�pont-�l-csom�pont... �tvonalat:
A 2. �bra bal oldal�n v�gigfut� gr�f megfelel az al�bbi csom�pont/�ll�tm�ny-�l cs�koz�snak:
http://www.w3.org/TR/rdf-syntax-grammar
http://example.org/terms/editor
http://example.org/terms/homePage
:
//purl.org/net/dajobe/
A 2. �bra bal oldal�n l�that� 5 gr�fkomponens az
RDF/XML k�dban megfelel �t, egym�sba �gyazott XML elemnek, amelyek k�t t�pusa
(gr�f csom�pont �s �ll�tm�ny-�l) v�ltakozva fordul el�. Ezeket
konvencion�lisan csom�pont-elemeknek, illetve tulajdons�gelemeknek nevezz�k.
Az 1. p�ld�ban l�that� cs�koz�s�ban az
rdf:Description
a csom�pont-elem (amelyet h�rom alkalommal
haszn�ltunk a h�rom csom�pontnak megfelel�en), az ex:editor
�s
az ex:homePage
pedig a k�t tulajdons�gelem.
<rdf:Description>
<ex:editor>
<rdf:Description>
<ex:homePage>
<rdf:Description>
</rdf:Description>
</ex:homePage>
</rdf:Description>
</ex:editor>
</rdf:Description>
A 2. �br�n l�that� gr�fban k�t olyan csom�pont van,
amelyek RDF URI
hivatkoz�sok. Ezeket a hivatkoz�sokat RDF/XML-ben az
rdf:about
attrib�tum seg�ts�g�vel rendelj�k a
csom�pont-elemekhez, s �gy a 2. p�ld�ban l�that�
eredm�nyt kapjuk:
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/"> </rdf:Description> </ex:homePage> </rdf:Description> </ex:editor> </rdf:Description>
Ha az 1. �br�n l�that� gr�f m�sik k�t �tvonal�t
hozz�adn�nk a 2. p�ld�ban szerepl� RDF/XML k�dhoz,
akkor ez a 3. p�lda �ltal bemutatott �br�zol�st
eredm�nyezn�. (Az ex:fullName
tulajdons�g jelent�se: "teljes
neve". Ezen a p�ld�n most nem �br�zoltuk, hogy az �res csom�pont k�z�s a k�t
�tvonal sz�m�ra – l�sd a 2.10-n�l):
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/"> </rdf:Description> </ex:homePage> </rdf:Description> </ex:editor> </rdf:Description> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:fullName>Dave Beckett</ex:fullName> </rdf:Description> </ex:editor> </rdf:Description> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <dc:title>RDF/XML Syntax Specification (Revised)</dc:title> </rdf:Description>
T�bb olyan r�vid�t�si lehet�s�g van, amellyel megk�nny�thetj�k a leggyakrabban el�fordul� RDF/XML szerkezetek le�r�s�t. K�l�n�sen gyakori p�ld�ul, hogy az RDF gr�fban az alany-csom�pontb�l t�bb �ll�tm�ny-�l fut ki. Ilyen esetekben, vagyis ahol egy er�forr�s-elemnek t�bb tulajdons�geleme van, az RDF/XML egy r�vid�t�si lehet�s�get biztos�t a szintaxis le�r�s�n�l. Ennek l�nyege, hogy az alany-csom�pontot le�r� sz�l�-elembe t�bb gyermek-elemet �p�thet�nk be.
Vegy�k a 3. p�ld�t: itt k�t csom�pont-elem van,
mely t�bb tulajdons�gelemet kaphat. A
http://www.w3.org/TR/rdf-syntax-grammar
URI hivatkoz�ssal
azonos�tott alany-csom�pont tulajdons�gelemei az ex:editor
�s az
ex:title
, az �res csom�pont-elem tulajdons�gelemei pedig az
ex:homePage
�s az ex:fullName
. Ennek a r�vid�t�snek
az eredm�ny�t a 4. p�lda mutatja (szemben a 3. p�ld�val, itt most m�r az is l�that�, hogy csak
egyetlen �res csom�pont van):
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/"> </rdf:Description> </ex:homePage> <ex:fullName>Dave Beckett</ex:fullName> </rdf:Description> </ex:editor> <dc:title>RDF/XML Syntax Specification (Revised)</dc:title> </rdf:Description>
Amikor egy RDF gr�fban egy �ll�tm�ny-�l olyan t�rgy-csom�pontra mutat,
amelynek nincsenek tov�bbi �ll�tm�ny-�lei, �s amely �gy jelenik meg
RDF/XML-ben mint egy �res csom�pont-elem:
(<rdf:Description rdf:about="...">
</rdf:Description>
, vagy <rdf:Description
rdf:about="..." />
), akkor ez a szerkezet ler�vid�thet�. A
r�vid�t�s �gy t�rt�nik, hogy az �res t�rgyle�r� (rdf:Description) elemet
kihagyjuk a tulajdons�gelemb�l, �s helyette egy rdf:resource
XML
attrib�tumot adunk neki, amelynek �rt�ke a v�gz�d� t�rgy-csom�pont RDF URI
hivatkoz�sa lesz.
A 4. p�ld�ban m�g az ex:homePage
tulajdons�gelem egy �res csom�pont-elemet tartalmazott, amelyet egy
rdf:Description
elem �rt le, �s amelynek az RDF URI
hivatkoz�sa http://purl.org/net/dajobe/
volt. Ez a szerkezet
helyettes�thet� egyetlen �res tulajdons�gelemmel, �s �gy az 5. �br�n l�that� RDF/XML k�dhoz jutunk (itt az
ex:fullName
tulajdons�g jelent�se: "teljes neve"):
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> <ex:fullName>Dave Beckett</ex:fullName> </rdf:Description> </ex:editor> <dc:title>RDF/XML Syntax Specification (Revised)</dc:title> </rdf:Description>
Amikor egy tulajdons�gelem tartalma egy karakterl�nc t�pus� liter�l, akkor
ezt XML attrib�tumk�nt is megadhatjuk a tulajdons�gelemet tartalmaz�
csom�pont-elemben. Ezt megtehetj�k t�bb olyan tulajdons�ggal is, amelyik
ugyanarra a csom�pont-elemre vonatkozik, felt�ve, hogy a
tulajdons�gelem-nevek nem ism�tl�dnek (ezt az XML k�veteli meg, ugyanis az
ilyen neveknek egy adott elemen bel�l egyedieknek kell lenni�k), �s felt�ve,
hogy a tulajdons�gelemek karakterl�nc liter�lj�nak minden szk�pban l�v�
xml:lang
attrib�tuma (ha van ilyen) azonos nyelvet nevez meg
(l�sd a 2.7 szekci�ban). Ezt a
r�vid�t�st tulajdons�g-attrib�tumnak (property attribute) nevezz�k,
�s minden csom�pont-elemben haszn�lhat�.
Ez a r�vid�t�si forma akkor is haszn�lhat�, ha a tulajdons�gelem
rdf:type
, �s van egy olyan rdf:resource
attrib�tuma, amelynek �rt�ke egy RDF URI
hivatkoz�s t�pus� t�rgy-csom�pont.
Az 5. p�ld�ban k�t tulajdons�gelem (a
dc:title
�s az ex:fullName
) rendelkezik
karakterl�nc liter�l tartalommal. Ezeket helyettes�thetj�k
tulajdons�g-attrib�tumokkal, �s �gy a 6. p�ld�ban
szerepl� k�dot kapjuk eredm�ny�l:
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF/XML Syntax Specification (Revised)"> <ex:editor> <rdf:Description ex:fullName="Dave Beckett"> <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> </rdf:Description> </ex:editor> </rdf:Description>
rdf:RDF
elem �s az XML deklar�ci�Hogy egy teljes RDF/XML dokumentumot alak�thassunk ki, a gr�f XML-l�
t�rt�n� �talak�t�s�t (soros�t�s�t vagy szerializ�ci�j�t) �ltal�ban az
rdf:RDF
nev� XML elemen bel�l �rjuk le, mely a legk�ls� szint�
eleme lesz a dokumentumnak. Konvenci� szerint, az rdf:RDF
elemet
az alkalmazott XML n�vterek deklar�l�s�ra is felhaszn�ljuk, hab�r ez nem
k�telez�. Ha csak egyetlen cs�cs szint� elem lenne az rdf:RDF
elemen bel�l, akkor az rdf:RDF
elem elhagyhat�, �m az XML
n�vtereket ilyenkor is deklar�lnunk kell.
Az XML specifik�ci� megenged egy XML deklar�ci�t is a dokumentum legelej�n, mely jelezheti az XML verzi�j�t, �s esetleg az XML tartalom k�dol�s�t. Ez egy opcion�lis, de aj�nlott elem.
Az RDF/XML k�d teljes dokumentumm� t�rt�n� kieg�sz�t�se elv�gezhet� b�rmelyik korrekt �s komplett gr�fp�ld�n�l, a 4. p�ld�t�l felfel�. Ha vessz�k a legr�videbbet, a 6. p�ld�t, �s megadjuk hozz� a befejez� komponenseket, akkor az eredeti 1. �bra teljes RDF/XML v�ltozat�t kapjuk eredm�ny�l, ahogyan a 7. p�lda mutatja:
<?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:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF/XML Syntax Specification (Revised)"> <ex:editor> <rdf:Description ex:fullName="Dave Beckett"> <ex:homePage rdf:resource="http://purl.org/net/dajobe/" /> </rdf:Description> </ex:editor> </rdf:Description> </rdf:RDF>
A 7. p�ld�ban nyugodtan kihagyhattuk volna az
rdf:RDF
elemet, minthogy csup�n egyetlen legk�ls� szint�
rdf:Description
elem van az rdf:RDF
tegp�rok
k�z�tt, de ezt itt most nem k�v�ntuk illusztr�lni.
xml:lang
Az RDF/XML megengedi az xml:lang
nyelv-azonos�t� attrib�tum
haszn�lat�t, ahogyan azt az XML 1.0 ([XML]) dokumentum 2.12 Language
Identification szekci�ja defini�lja, annak �rdek�ben hogy azonos�tani
tudjuk az XML tartalom nyelv�t. Az xml:lang
attrib�tum
haszn�lhat� b�rmelyik csom�pont-elemben vagy tulajdons�gelemben annak
megjel�l�s�re, hogy a benne foglalt tartalom nyelve az attrib�tummal megadott
nyelv. Azokat a tipiz�lt
liter�lokat, amelyek XML-liter�lokat tartalmaznak, nem
�rinti ez az attrib�tum. A legspecifikusabb, szk�pban l�v� nyelvet (ha van
ilyen megadva), a tulajdons�gelemek karakterl�nc t�pus� liter�ljaira, vagy
tulajdons�g-attrib�tumainak �rt�k�re alkalmazzuk. Az xml:lang=""
forma jelzi, ha az adott szk�pban l�v� tartalomra nincs megadva
nyelv-azonos�t�.
Az RDF tulajdons�gok tartalomle�r� nyelv�nek megjel�l�s�t mutatja be a 8. p�lda:
<?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/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <dc:title>RDF/XML Syntax Specification (Revised)</dc:title> <dc:title xml:lang="en">RDF/XML Syntax Specification (Revised)</dc:title> <dc:title xml:lang="en-US">RDF/XML Syntax Specification (Revised)</dc:title> </rdf:Description> <rdf:Description rdf:about="http://example.org/buecher/baum" xml:lang="de"> <dc:title>Der Baum</dc:title> <dc:description>Das Buch ist au�ergew�hnlich</dc:description> <dc:title xml:lang="en">The Tree</dc:title> </rdf:Description> </rdf:RDF>
rdf:parseType="Literal"
Az RDF lehet�v� teszi XML-liter�lok megad�s�t �ll�tm�nyok
t�rgy-csom�pontjak�nt. (L�sd: [RDF-FOGALMAK]
- XML-liter�lok
5.1: XML tartalom az RDF gr�fon bel�l). Ezeket �gy adjuk meg RDF/XML-ben,
mint a tulajdons�gelem tartalm�t (teh�t nem, mint egy tulajdons�g-attrib�tum
�rt�k�t), �s egy rdf:parseType="Literal"
attrib�tummal jel�lj�k
meg az XML tartalmat befogad� tulajdons�gelemben.
Egy XML-liter�l �r�s�t mutatja be a 9. p�lda, ahol
egyetlen triplet van megadva egy alany-csom�ponttal (RDF URI
hivatkoz�sa: http://example.org/item01
), egy �ll�tm�nnyal
(RDF URI
hivatkoz�sa: http://example.org/stuff/1.0/prop
– az
ex:prop
n�vb�l gener�lva), valamint egy t�rgy-csom�ponttal,
amelyben az XML-liter�l tartalma az a:Box
tegp�rok k�z�tt
helyezkedik el:
rdf:parseType="Literal"
tartalommal<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://example.org/item01"> <ex:prop rdf:parseType="Literal" xmlns:a="http://example.org/a#"><a:Box required="true"> <a:widget size="10" /> <a:grommit id="23" /></a:Box> </ex:prop> </rdf:Description> </rdf:RDF>
rdf:datatype
Az RDF lehet�v� teszi tipiz�lt
liter�lok megad�s�t is �ll�tm�nyok t�rgy-csom�pontjak�nt. A tipiz�lt
liter�l egy liter�l karakterl�ncb�l �s egy adatt�pusra mutat� RDF URI
hivatkoz�sb�l �ll. Ezt RDF/XML-ben ugyanazzal a szintaxissal adjuk meg,
mint a liter�lkarakterl�nc-csom�pontot a tulajdons�gelemen bel�l (teh�t nem
egy tulajdons�g-attrib�tumban), de kib�v�tve m�g egy
rdf:datatype="
datatypeURI"
attrib�tummal
is, ahol b�rmilyen RDF URI
hivatkoz�s �llhat az id�z�jelek k�z�tt.
Egy RDF tipiz�lt liter�l
�r�s�t mutatjuk be a 10. �br�n, ahol egyetlen
triplet szerepel egy alany-csom�pont elemmel (RDF URI hivatkoz�sa:
http://example.org/item01
), egy �ll�tm�nnyal (RDF UR hivatkoz�sa:
http://example.org/stuff/1.0/size
– az
ex:size
n�vb�l gener�lva), valamint egy t�rgy-csom�ponttal, mely
egy tipiz�lt
liter�lt tartalmaz ("123",
http://www.w3.org/2001/XMLSchema#int
), �s amelyet eg�sz sz�m
(int) adatt�pusnak kell �rtelmezni a W3C XML Schema
- [XML-SCHEMA2] specifik�ci� szerint.
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://example.org/item01"> <ex:size rdf:datatype="http://www.w3.org/2001/XMLSchema#int">123</ex:size> </rdf:Description> </rdf:RDF>
rdf:nodeID
Az RDF gr�fokban az �res csom�pontok
megk�l�nb�ztethet�k a t�bbi csom�pontt�l, b�r nem RDF URI
hivatkoz�ssal azonos�tjuk �ket. N�ha sz�ks�ges, hogy a gr�fnak ugyanarra
az �res csom�pontj�ra az RDF/XML k�d t�bb hely�r�l is hivatkozhassunk (pl.,
amikor ez a csom�pont t�bb RDF tripletnek is alanya vagy t�rgya). Ilyenkor
egy �n. �rescsom�pont-azonos�t�t
adhatunk az �res
csom�pontnak, hogy egy�rtelm�en azonos�thassuk a dokumentumon bel�l.
Ezeknek az azonos�t�knak teh�t csak az �ket tartalmaz� XML inform�ci�halmaz
(XML infoset) dokumentum inform�ci�t�tel�n (document
information item) bel�l kell egyedieknek lenni�k. Az �rescsom�pont-azonos�t�t
egy csom�pont-elemben az rdf:about="
RDF URI
hivatkoz�s"
attrib�tum helyettes�t�s�re, egy
tulajdons�g-elemen bel�l pedig az rdf:resource="
RDF URI
hivatkoz�s"
attrib�tum helyettes�t�s�re haszn�ljuk, �s
mindk�t esetben az rdf:nodeID="
�rescsom�pont-azonos�t�"
attrib�tummal v�ltjuk fel �ket.
Ha vessz�k a 7. p�ld�t, �s a benne szerepl� �res
csom�pontnak explicit m�don, "abc"
n�ven, adunk egy �rescsom�pont-azonos�t�t,
akkor a 11. p�ld�ban l�that� k�dot kapjuk (a m�sodik
rdf:Description
elem �rja le az �res csom�pontot):
rdf:nodeID
attrib�tum seg�ts�g�vel azonos�tjuk
az �res csom�pontot <?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:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF/XML Syntax Specification (Revised)"> <ex:editor rdf:nodeID="abc"/> </rdf:Description> <rdf:Description rdf:nodeID="abc" ex:fullName="Dave Beckett"> <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> </rdf:Description> </rdf:RDF>
rdf:parseType="Resource"
Az RDF gr�fokban az �res csom�pontokat
(de nem az RDF URI
hivatkoz�sokkal azonos�tott csom�pontokat) �rhatjuk olyan form�ban is,
mely lehet�v� teszi az <rdf:Description>
</rdf:Description>
p�r kihagy�s�t. Ez �gy t�rt�nik, hogy
egy rdf:parseType="Resource"
attrib�tumot adunk meg az �res
csom�pontot tartalmaz� tulajdons�gelemben, �s ez�ltal azt egy
tulajdons�g-�s-csom�pont elemm� v�ltoztatjuk (amely maga is rendelkezhet mind
tulajdons�gelemekkel, mind tulajdons�g-attrib�tumokkal).
Tulajdons�g-attrib�tumok �s az rdf:nodeID
nincs enged�lyezve a
tulajdons�g-�s-csom�pont elemekre.
Ism�t a 7. p�ld�b�l kiindulva, az
ex:editor
tulajdons�gelem is �rhat� ilyen alternat�v m�don, hogy
v�g�l a 12. p�ld�ban szerepl� megold�st kapjuk:
rdf:parseType="Resource"
haszn�lat�ra<?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:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF/XML Syntax Specification (Revised)"> <ex:editor rdf:parseType="Resource"> <ex:fullName>Dave Beckett</ex:fullName> <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> </ex:editor> </rdf:Description> </rdf:RDF>
Ha egy �res csom�pont-elemben megadott �sszes tulajdons�gelemnek
karakterl�nc t�pus� liter�lis �rt�ke van, ugyanazzal az xml:lang
�rt�kkel (ha meg van adva egy ilyen az adott szk�pban), �s ha minden ilyen
tulajdons�gelem csak egyszer fordul el�, tov�bb� ha legfeljebb egy
rdf:type
tulajdons�gelem szerepel benne egy RDF URI
hivatkoz�s t�pus� t�rgy-csom�ponttal mint �rt�kkel, akkor ezek
ler�vid�thet�k oly m�don, hogy tulajdons�g-attrib�tumokk� alak�tjuk �ket a
befogad� tulajdons�gelemben, amelyet ezut�n �res elemm� alak�tunk.
T�rj�nk vissza az 5. p�ld�hoz, ahol az
ex:editor
elem egy �res csom�pont-elemet tartalmaz k�t
tulajdons�gelemmel: ex:fullname
�s ex:homePage
. (Az
ex:homePage
nem alkalmas az ilyen r�vid�t�sre, mivel nincs
karakterl�nc-liter�l t�pus� �rt�ke, ezt teh�t figyelmen k�v�l hagyjuk a
jelenlegi p�ld�nk szempontj�b�l.) A r�vid�tett forma el�r�s�hez elt�vol�tjuk
az ex:fullName
tulajdons�gelemet, �s egy �j
ex:fullName
tulajdons�g-attrib�tumot adunk meg az
ex:editor
tulajdons�gnak, egy olyan karakterl�nc �rt�kkel, mely
az im�nt t�r�lt tulajdons�gelem �rt�ke volt. Az �res csom�pont-elem �gy
implicitt� v�lik a most m�r �res ex:editor
tulajdons�gelemben.
Az eredm�nyt a 13. �bra mutatja:
<?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:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF/XML Syntax Specification (Revised)"> <ex:editor ex:fullName="Dave Beckett" /> <!-- Note the ex:homePage property has been ignored for this example --> </rdf:Description> </rdf:RDF>
rdf:type
kiv�lt�saNagyon gyakori az RDF gr�fokban, hogy alany-csom�pontokra
rdf:type
�ll�tm�nyt adunk meg. Konvenci� szerint, az ilyen
csom�pontokat a gr�fban tipiz�lt csom�pontoknak, az RDF/XML-ben
pedig tipiz�lt csom�pont-elemeknek h�vjuk. Az RDF/XML lehet�v�
teszi, hogy az ilyen tripleteket t�m�rebben fogalmazhassuk meg, oly m�don,
hogy az rdf:Description
csom�pont-elem nev�t helyettes�tj�k
azzal a min�s�tett n�vvel, mely a "t�pusa" (type) viszony �rt�k�t jelent� RDF URI
hivatkoz�ssal azonos. Term�szetesen, lehet egy alanynak t�bb
rdf:type
�ll�tm�nya, de ezek k�z�l csak egy r�vid�thet� ezzel a
m�dszerrel, a t�bbi pedig v�ltozatlanul megmarad tulajdons�gelemk�nt vagy
tulajdons�g-attrib�tumk�nt a tipiz�lt csom�pont-elemben.
A tipiz�lt csom�pont-elemeket gyakran haszn�ljuk RDF/XML-ben az RDF sz�k�szlet ilyen be�p�tett oszt�lyaival
kapcsolatban, mint: rdf:Seq
, rdf:Bag
,
rdf:Alt
, rdf:Statement
, rdf:Property
�s rdf:List
.
P�ldak�ppen bemutatjuk, hogy mik�nt r�vid�thetj�k le RDF/XML-ben a 14. p�lda k�dj�t tipiz�lt csom�pont-elem alkalmaz�s�val. Az eredm�nyt a 15. p�lda mutatja:
<?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:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://example.org/thing"> <rdf:type rdf:resource="http://example.org/stuff/1.0/Document"/> <dc:title>A marvelous thing</dc:title> </rdf:Description> </rdf:RDF>
rdf:type
elem kiv�lt�sa
c�lj�b�l<?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:ex="http://example.org/stuff/1.0/"> <ex:Document rdf:about="http://example.org/thing"> <dc:title>A marvelous thing</dc:title> </ex:Document> </rdf:RDF>
rdf:ID
�s
xml:base
Az RDF/XML lehet�v� teszi az XML attrib�tumokban megadott RDF URI
hivatkoz�sok tov�bbi r�vid�t�s�t, m�gpedig k�tf�le m�don. Az XML
inform�ci�halmaza (XML Infoset)
tartalmazza az xml:base
attrib�tumot, mely deklar�lja a
dokumentum b�zis-URI-j�t, amelyet az XML a relat�v RDF URI
hivatkoz�sok abszol�tt� alak�t�s�ra haszn�l. (Ha ez az attrib�tum nincs
explicit m�don megadva, akkor az implicit b�zis-URI mindig az aktu�lis
dokumentum URI-je lesz). A b�zis URI minden olyan RDF/XML attrib�tumra
�rv�nyes, amelyben RDF URI
hivatkoz�sokat adhatunk meg; ezek a k�vetkez�k: rdf:about
,
rdf:resource
, rdf:ID
�s
rdf:datatype
.
Az rdf:ID
attrib�tum az rdf:about
attrib�tum
helyett haszn�lhat� egy csom�ponti elemben (sohasem egy tulajdons�gelemben,
amelynek eg�szen m�s a jelent�se), �s arra szolg�l, hogy megadjon egy relat�v
RDF URI
hivatkoz�st, ami azonos egy '#' karakter �s az rdf:ID
attrib�tum �rt�k�nek az egybetold�s�val. �gy p�ld�ul, ha azt �rjuk, hogy
rdf:ID="name"
, akkor az megfelel az
rdf:about="#name"
hivatkoz�snak. Emellett az rdf:ID
egy ellen�rz�st is v�gez, annak megakad�lyoz�s�ra, hogy egyn�l t�bbsz�r
deklar�ljuk ugyanazt a relat�v nevet ugyanazon a xml:base
l�t�k�r�n (szk�pon) bel�l (vagy, ha nincs explicit b�zis megadva, akkor
ugyanazon az aktu�lis dokumentumon bel�l). Ez teh�t egy hasznos seg�deszk�z
arra, hogy egym�ssal �sszef�gg�, de m�gis megk�l�nb�ztethet� helyi relat�v
neveket haszn�lhassunk ugyanahhoz a b�zis RDF URI
hivatkoz�shoz k�pest.
Amint l�thattuk, mindk�t hivatkoz�s r�vid�t� forma arra �p�l, hogy adva
van egy b�zis URI, ak�r egy szk�pban l�v� xml:base
deklar�ci�
r�v�n, ak�r az aktu�lis dokumentum implicit b�zis-URI-je form�j�ban.
A 16. p�lda bemutatja, hogy mik�nt r�vid�tj�k az
rdf:Description
elemben a
http://example.org/here/#snack
csom�pont abszol�t RDF URI
hivatkoz�s�t a http://example.org/here/
b�zis URI mint
xml:base
, valamint egy rdf:ID
attrib�tum
seg�ts�g�vel. Az ex:prop
�ll�tm�ny t�rgy-csom�pontja is egy
r�vid�tett RDF URI
hivatkoz�s, amely az rdf:resource
attrib�tum �rt�ke,
valamint az adott xml:base
�rt�ke alapj�n a
http://example.org/here/fruit/apple
abszol�t RDF URI
hivatkoz�snak felel meg.
rdf:ID
�s xml:base
haszn�lat�val r�vid�tett<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/stuff/1.0/" xml:base="http://example.org/here/"> <rdf:Description rdf:ID="snack"> <ex:prop rdf:resource="fruit/apple"/> </rdf:Description> </rdf:RDF>
rdf:li
�s rdf:_
nAz RDF defini�l egy sor kont�nertags�g-tulajdons�got, �s az ezeknek
megfelel� tulajdons�gelemeket, amelyeket legink�bb ilyen kont�neroszt�lyok
tagjainak a megad�s�ra haszn�lunk, mint rdf:Seq
,
rdf:Bag
�s rdf:Alt
(Sorozat, Zs�k �s
Alternat�va-csoport). Az ilyen kont�neroszt�lyokat tipiz�lt
csom�pont-elemk�nt is k�dolhatjuk RDF/XML-ben. A
kont�nertags�g-tulajdons�gokat (rdf:_1
, rdf:_2
stb.) tulajdons�gelemekk�nt �s tulajdons�g-attrib�tumokk�nt egyar�nt
�rhatjuk, ahogy a 17. �br�n l�that�. L�tezik egy
rdf:li
nev� speci�lis tulajdons�gelem is, mely ekvivalens az
rdf:_1
, rdf:_2
... tulajdons�gokkal; ezt a 7.4 szekci� ismerteti r�szletesebben. Az
rdf:li
listaelem-tulajdons�goknak a megfelel�
kont�nertags�g-tulajdons�gokra t�rt�n� lek�pez�se abban a sorrendben
t�rt�nik, amely sorrendben az rdf:li
elemek megjelennek az XML
k�dban – itt a dokumentumok sorrendje is szignifik�ns. A 17. p�ld�nak megfelel� RDF/XML k�d, amelyet ilyen
form�ban �rtunk meg, a 18. p�ld�ban l�that�.
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Seq rdf:about="http://example.org/favourite-fruit"> <rdf:_1 rdf:resource="http://example.org/banana"/> <rdf:_2 rdf:resource="http://example.org/apple"/> <rdf:_3 rdf:resource="http://example.org/pear"/> </rdf:Seq> </rdf:RDF>
rdf:li
listaelem-tulajdons�g haszn�lat�ra,
kont�nertags�g-tulajdons�gok helyett<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Seq rdf:about="http://example.org/favourite-fruit"> <rdf:li rdf:resource="http://example.org/banana"/> <rdf:li rdf:resource="http://example.org/apple"/> <rdf:li rdf:resource="http://example.org/pear"/> </rdf:Seq> </rdf:RDF>
rdf:parseType="Collection"
Az RDF/XML lehet�v� teszi, hogy egy
rdf:parseType="Collection"
attrib�tum seg�ts�g�vel t�bb
csom�pont-elemet �p�thess�nk be egy tulajdons�gelembe. Ezek a be�p�tett
csom�pont-elemek a kollekci� alany-csom�pontjainak gy�jtem�ny�t alkotj�k. Ez
a szintaxisforma megfelel a tripletek egy olyan halmaz�nak, amely
alany-csom�pontok kollekci�j�t kapcsolja �ssze. Hogy pontosan milyenek azok a
tripletek, amelyeket ez a szintaxis gener�l, azt r�szletesen a 7.2.19 Produkci�:
parseTypeCollectionPropertyElt szekci� �rja le. A kollekci� fel�p�t�se
abban a sorrendben t�rt�nik, ahogy a csom�pont-elemek megjelennek az XML
dokumentumban. Az a k�rd�s, azonban, hogy ez a sorrend szignifik�ns-e a
feldolgoz�s szempontj�b�l, kiz�r�lag az alkalmaz�sokt�l f�gg, ezt teh�t itt
nem t�rgyaljuk.
A 19. �bra le�r egy kosarat (basket), amelyben
h�romf�le gy�m�lcs van: ban�n, alma �s k�rte (banana, apple, pear). A kos�r
tartalm�t h�rom csom�pont-elem kollekci�j�val �br�zolja a "gy�m�lcs tartalma"
(ex:hasFruit
) tulajdons�gelemen bel�l, a fentebb ismertetett
m�dszerrel.
rdf:parseType="Collection"
alkalmaz�s�val<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://example.org/basket"> <ex:hasFruit rdf:parseType="Collection"> <rdf:Description rdf:about="http://example.org/banana"/> <rdf:Description rdf:about="http://example.org/apple"/> <rdf:Description rdf:about="http://example.org/pear"/> </ex:hasFruit> </rdf:Description> </rdf:RDF>
rdf:ID
Az rdf:ID
attrib�tumot haszn�lhatjuk egy tulajdons�gelemben
annak a tripletnek a t�rgyias�t�s�ra/megtestes�t�s�re (reification), amelyet
gener�l (a r�szleteket l�sd a 7.3
T�rgyias�t�si szab�lyok szekci�ban). A triplet t�nyleges azonos�t�ja egy
abszol�t RDF URI
hivatkoz�s, amelyet egy – szk�pban l�v� b�zis-URI-hez viszony�tott
– olyan relat�v URI hivatkoz�sb�l �ll�tunk el�, mely egy '#'
karakterb�l �s az rdf:ID
�rt�k�b�l �ll. �gy pl. egy
rdf:ID="triple"
azonos�t�s egyen�rt�k� egy olyan RDF URI
hivatkoz�ssal, amelyet a b�zis-URI-hez viszony�tott #triple
n�v reprezent�l. Minden olyan azonos�t�p�rnak, mely egy rdf:ID
attrib�tum �rt�k�b�l �s egy b�zis-URI-b�l �ll, egyedinek kell lennie egy
RDF/XML dokumentumon bel�l (l�sd: constraint-id).
A 20. p�ld�ban egy rdf:ID
attrib�tum
szerepel, amelyet egy olyan triplet t�rgyias�t�s�ra haszn�lunk, amelyet az
ex:prop
tulajdons�gelemb�l �ll�tunk el� �gy, hogy a
t�rgyias�tott tripletre t�rt�n� RDF URI
hivatkoz�s v�geredm�nyben a
http://example.org/triples/#triple1
lesz. [A p�lda �ltal gener�lt triplet �s a
"t�rgyias�t� n�gyes" tripletjei megtekinthet�k az example20.nt weboldalon – a ford.]
rdf:ID
t�rgyias�t egy tulajdons�gelemet (example20.rdf
output example20.nt)<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/stuff/1.0/" xml:base="http://example.org/triples/"> <rdf:Description rdf:about="http://example.org/"> <ex:prop rdf:ID="triple1">blah</ex:prop> </rdf:Description> </rdf:RDF>
A "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" �s "OPTIONAL" kulcsszavakat ebben a dokumentumban �gy kell �rtelmezni, ahogyan azt az RFC 2119 [KEYWORDS] szabv�ny defini�lja. [Az ilyen kifejez�seket tartalmaz� dokumentumr�szek magyar ford�t�s�ban (z�r�jelben) megadjuk ezeket a szabv�nyos�tott jelent�s� angol szavakat, hogy form�lisan is fennmaradjon a kompatibilit�s ezzel az RFC-vel – a ford.]
Minden karakterl�nc, amelyhez nem adunk k�l�n min�s�t�st, mindig [UNICODE] karakterl�ncot jelent; azaz olyan karakterek sorozat�t, amelyeket egy Unicode k�dponttal �br�zolunk. (L�sd a [CHARMOD] dokumentum 3.4 Strings szekci�j�n�l.)
Az Internet media t�pus / MIME t�pus az RDF/XML eset�n az
"application/rdf+xml
" – l�sd a RFC 3023 [RFC-3023] szabv�ny 8.18. szekci�j�ban.
Regisztr�ci�s megjegyz�s (Informat�v): A MIME t�pus regisztr�ci� �llapot�val kapcsolatban az IANA MIME Media Types [IANA-MEDIA-TYPES] webhelyhez c�lszer� fordulni.
Aj�nlott, hogy az RDF/XML f�jlok a ".rdf"
(csupa kisbet�s)
kiterjeszt�st kapj�k minden platformon.
Aj�nlott, hogy azok az RDF/XML f�jlok, amelyeket a Macintosh HFS
f�jlrendszerben t�rolnak, az "rdf "
f�jlt�pus nevet kapj�k
(csupa kisbet�vel, �s sz�k�z karakterrel a negyedik karakterpoz�ci�ban).
Megjegyz�s (Informat�v): Az aboutEach
�s
aboutEachPrefix
neveket az RDF-mag Munkacsoport elt�vol�totta a
nyelvb�l �s az RDF sz�k�szletb�l. L�sd ezeknek a probl�m�knak a lez�r�s�t az
RDF t�mak�vet� dokument�ci� rdfms-abouteach
�s rdfms-abouteachprefix
pontj�ban.
Megjegyz�s (Informat�v): A List
,
first
, rest
�s nil
neveket felvett�k a
sz�k�szletbe az rdfms-seq-representation
k�rd�s megold�sa kapcs�n. Az XMLLiteral
�s datatype
kifejez�sek is a sz�k�szletbe ker�ltek az RDF adatt�pusainak t�mogat�s�ra.
Ugyancsak a sz�k�szlet r�sz�v� v�lt a nodeID
n�v az rdfms-syntax-incomplete
k�rd�s megold�sa �rdek�ben. (L�sd az RDF-maggal kapcsolatos nyitott k�rd�sek
list�j�t (RDF Core Issues
List).
Az RDF n�vt�r
URI hivatkoz�s (vagy n�vt�r-n�v):
http://www.w3.org/1999/02/22-rdf-syntax-ns#
, amelyet XML-ben
tipikusan az rdf
prefixszel helyettes�t�nk, b�r erre a c�lra
b�rmilyen m�s prefixet is haszn�lhatn�nk. Az RDF sz�k�szletet ezzel a
n�vt�r-n�vvel azonos�tjuk. A sz�k�szlet csup�n az al�bbi kifejez�sekb�l
�ll:
RDF Description ID about parseType resource li nodeID
datatype
Seq Bag Alt Statement Property XMLLiteral List
subject predicate object type value first rest _
n
,
ahol n egy null�n�l nagyobb decim�lis eg�sz sz�m, vezet�
null�k n�lk�l �rva.
nil
Tov�bbi nevek nincsenek defini�lva, teh�t ha ilyenek el�forduln�nak, egy figyelmeztet�st kellene (SHOULD) kiadnia a szoftvernek, de egy�bk�nt norm�lisan kellene folytatnia a feldolgoz�st.
Az RDF/XML dokumentumokon bel�l nem megengedett olyan XML n�vterek haszn�lata, amelyeknek a n�vt�r-neve egy olyan `RDF n�vt�r URI hivatkoz�s`, amelyhez tov�bbi karakterek is f�z�dnek. [Az ebben a mondatban szerepl�, speci�lisan id�z�jelezett `RDF n�vt�r URI hivatkoz�s` egy hiperlink a kifejez�s magyar�zat�t ad� sz�vegr�szre. A tov�bbiakban is tal�lkozunk ilyen hiperlinkekkel – a ford.]
Ezen a dokumentumon v�gig, az rdf:
n�v form�j�
kifejez�st haszn�ljuk annak jel�l�s�re, hogy a n�v az RDF
sz�k�szletb�l val�, �s annak URI hivatkoz�sa
az `RDF
n�vt�r URI hivatkoz�s` �s a n�v
egybetold�s�b�l keletkezik. P�ld�ul az rdf:type
teljes URI hivatkoz�sa
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
Az RDF Gr�f (l�sd Az RDF alapfogalmai �s absztrakt szintaxisa 3. fejezet�ben) h�romf�le csom�pontot �s egyf�le �ll�tm�nyt defini�l:
Egy RDF URI hivatkoz�s (l�sd Az RDF alapfogalmai �s absztrakt szintaxisa 3.1 szekci�j�ban) a k�vetkez� form�kban adhat� meg:
rdf:ID
attrib�tum �rt�kek�nt.Az RDF/XML-en bel�l a min�s�tett neveket (QNames) oly m�don
transzform�ljuk RDF URI
hivatkoz�sokk�, hogy az XML lok�lis nevet a n�vt�r-n�vhez (URI
hivatkoz�shoz) illesztj�k. P�ld�ul, ha a foo
XML
n�vt�r-prefixhez tartoz� n�vt�r-n�v (URI hivatkoz�s)
http://example.org/somewhere
, akkor a foo:bar
min�s�tett n�v a http://example.org/somewhere/bar
RDF URI
hivatkoz�snak felelne meg. Megjegyzend�, hogy ez korl�tozza, hogy
milyen RDF
URI hivatkoz�sok �ll�that�k el�, valamint hogy ugyanaz az URI
t�bbf�lek�ppen is el��ll�that�.
Az rdf:ID
�rt�ket �gy
transzform�ljuk RDF URI
hivatkoz�sokk�, hogy az attrib�tum �rt�k�t egy "#" karakterrel
elv�lasztva a szk�pban l�v� b�zis-URI-hez illesztj�k, ahogyan azt az 5.3 URI-k l�trehoz�sa szekci� le�rja.
Az RDF liter�lok (l�sd Az RDF alapfogalmai �s absztrakt szintaxisa 6.5 szekci�j�ban) lehetnek t�pus n�lk�li liter�lok (l�sd uo.) vagy tipiz�lt liter�lok (l�sd uo.). Az ut�bbiakba bele�rtend�k az XML liter�lok (l�sd uo. az 5. XML tartalom az RDF gr�fon bel�l c�m� fejezetben.)
Az �res
csom�pontoknak megk�l�nb�ztetett identit�suk van az RDF gr�fban.
Amikor a gr�fot egy szintaxissal �rjuk le (pl. RDF/XML-ben), akkor
ezeknek az �res csom�pontoknak sz�ks�g�k van gr�fon bel�li
azonos�t�kra, �s egy olyan szintaxisra, mely meg�rzi ezt a
megk�l�nb�ztet�st. Ezeket a helyi azonos�t�kat �rescsom�pont-azonos�t�knak
nevezz�k, �s az RDF/XML-ben az rdf:nodeID
attrib�tum
�rt�kek�nt haszn�ljuk egy olyan szintaxissal, amelyet a Produkci�: nodeIdAttr defini�l. Az
�rescsom�pont-azonos�t�kat az RDF/XML az XML Inform�ci�halmaz dokumentum-inform�ci�t�tel�nek
szk�pj�ba utalja.
Ha �rescsom�pont-azonos�t�t nem adunk meg explicit m�don egy
rdf:nodeID
attrib�tum �rt�kek�nt, akkor azt el� kell
�ll�tani (a 6.3.3 szekci�
t�bl�zat�ban l�v� generated-blank-node-id() sor
defin�ci�ja szerint.) Az ilyen "gener�lt �rescsom�pont-azonos�t�k" nem
�tk�zhetnek az rdf:nodeID
attrib�tumok �rt�keib�l
sz�rmaztatott egyetlen ilyen azonos�t�val sem. Ez implement�lhat�
b�rmilyen m�dszerrel, amely fenntartja az �sszes �res csom�pont egyedi
identit�s�t a gr�fon bel�l, vagyis, ha sohasem adja ugyanazt az
�rescsom�pont-azonos�t�t k�t vagy t�bb k�l�nb�z� �res csom�pontnak. Az
egyik lehets�ges m�dszer az, hogy egy konstans prefixet adunk minden
rdf:nodeID
attrib�tum �rt�k�hez, �s biztos�tjuk, hogy a
gener�lt �rescsom�pont-azonos�t�k egyike sem haszn�lja ezt a prefixet.
A m�sik m�dszer az lehetne, ha minden rdf:nodeID
attrib�tum �rt�k�t lek�pezn�nk egy-egy �j, gener�lt
�rescsom�pont-azonos�t�v�, �s ezt a lek�pez�st v�grehajtan�nk minden
ilyen �rt�kre az adott RDF/XML dokumentumban.
Az RDF/XML t�mogatja az XML Base [XML-BASE] el��r�st, mely egy `base-uri` akcesszort defini�l minden egyes `root esem�nyhez` �s `elem esem�nyhez`. A
relat�v URI hivatkoz�sokat RDF URI
hivatkoz�sokk� kell konvert�lni az XML Base [XML-BASE] (�s RFC 2396) �ltal specifik�lt
algoritmus szerint. Ezek a specifik�ci�k azonban nem specifik�lnak
algoritmust k�l�n az er�forr�sr�sz-azonos�t�k (mint pl. a #foo
vagy az �res karakterl�nc ""
) RDF URI
hivatkoz�ss� konvert�l�s�ra. Az RDF/XML-ben egy er�forr�sr�sz-azonos�t�t
�gy konvert�lunk RDF URI
hivatkoz�ss�, hogy az er�forr�sr�sz-azonos�t�t a szk�pban l�v� b�zis-URI
v�g�hez illesztj�k. Az �res karakterl�ncot �gy konvert�ljuk RDF URI
hivatkoz�ss�, hogy behelyettes�tj�k azt a szk�pban l�v� b�zis-URI-vel.
Ezeknek az eseteknek a tesztel�s�hez az al�bbi teszt-f�jlok �llnak
rendelkez�sre:
Teszt: jel�l�se: test001.rdf �s test001.nt
Teszt: jel�l�se: test004.rdf �s test004.nt
Teszt: jel�l�se: test008.rdf �s test008.nt
Teszt: jel�l�se: test013.rdf �s test013.nt
Teszt: jel�l�se: test016.rdf �s test016.nt
Egy �res saj�t dokumentumra hivatkoz�st ("") a b�zis-URI URI r�sz�vel helyettes�tj�k; az er�forr�sr�sz-azonos�t� r�szt figyelmen k�v�l hagyjuk). L�sd az Uniform Resource Identifiers (URI) [URIS] 4.2 szekci�j�ban.
Teszt: jel�l�se: test013.rdf �s test013.nt
Implement�ci�s megjegyz�s (Informat�v): Amikor egy hierarchikus b�zis-URI-t haszn�lunk, amelynek nincs �tvonal komponense (/), akkor azt hozz� kell adni, miel�tt a b�zis-URI-t felhaszn�ln�nk a konverzi�hoz.
Teszt: jel�l�se: test011.rdf �s test011.nt
A nevek szintaxis�nak meg kell egyeznie az rdf-id produkci�val.
Teszt: jel�l�se: test014.rdf �s test014.nt
Ez a dokumentum az RDF/XML szintaxis�t egy szimb�lum-�b�c�re alkalmazott nyelvtank�nt specifik�lja. A szimb�lumokat esem�nyeknek (event) nevezz�k az [XPATH] – Information Set Mapping st�lus�ban. Az esem�nyek sorozat�t rendesen egy XML dokumentumb�l sz�rmaztatjuk, �s ilyenkor ezek dokumentum sorrendben szerepelnek, ahogyan al�bb, a 6.2 Inform�ci�halmaz-lek�pez�s szekci� defini�lja. Annak a sorozatnak, amelyet ezek az esem�nyek alkotnak, hasonl�nak kell lennie ahhoz az esem�ny-sorozathoz, amelyet a [SAX2] XML API produk�lna ugyanabb�l az XML dokumentumb�l. Az esem�nyek sorozat�t �tk�ztethetj�k a nyelvtannal, hogy meg�llap�thassuk, hogy megfelelnek-e egy szintaktikailag j�l form�lt RDF/XML-nek.
A nyelvtan produkci�i akci�kat is tartalmazhatnak, amelyek akkor futnak le, amikor az adott produkci�t felismeri a szoftver. Ezeknek az akci�knak az �sszess�ge meghat�rozza azt a transzform�ci�t, mely b�rmilyen, szintaktikailag j�l form�lt RDF/XML esem�nysorozatb�l egy triplet nyelven (N-Triples) k�dolt gr�fot �ll�t el�.
Az itt megadott modell egy lehets�ges m�dj�t mutatja meg annak, hogy mik�nt �ll�thatjuk el� egy RDF/XML dokumentum RDF gr�f �br�zol�s�t. Ez nem er�ltet semmilyen implement�ci�s m�dszert; b�rmilyen m�dszer, amely ugyanabb�l az RDF/XML-b�l ugyanazt az RDF gr�fot �ll�tja el�, nyugodtan haszn�lhat�.
R�szletesebben:
A szintaxis nem t�mogatja a rosszul form�lt XML dokumentumokat, sem pedig azokat a dokumentumokat, amelyek m�s okb�l nem tartalmaznak XML Inform�ci�halmazt; (p�ld�ul, amelyek nem felelnek meg a Namespaces in XML [XML-NS] el��r�soknak).
Az XML Inform�ci�halmaz (XML Infoset) elv�rja az XML Base [XML-BASE] konstrukci� t�mogat�s�t. Az RDF/XML haszn�lja a [base URI] inform�ci�t�tel tulajdons�got (information item property), ahogyan azt az 5.3 szekci� defini�lja.
A specifik�ci� egy olyan XML Inform�ci�halmazt [INFOSET] v�r el, mely t�mogatja legal�bb az al�bbi RDF/XML inform�ci�t�teleket �s tulajdons�gokat:
Az al�bbi elemek nincsenek lek�pezve adatmodell-esem�nyekre:
Az itt fel nem sorolt inform�ci�t�telek �s tulajdons�gok szint�n nincsenek lek�pezve adatmodell-esem�nyekre.
Azok az elem inform�ci�t�telek, amelyek fenntartott XML nevekkel
rendelkeznek, (l�sd Name az XML 1.0 dokumentumban),
ugyancsak nincsenek megfeleltetve adatmodell-esem�nyeknek. Ide tartozik az
�sszes olyan elem, amelynek a [prefix] tulajdons�ga az xml
karakterekkel kezd�dik (kisbet�/nagybet�-f�ggetlen �sszehasonl�t�sban) �s
mindazok, amelyeknek a [prefix] tulajdons�ga nem rendelkezik �rt�kkel,
tov�bb�, amelyeknek xml
karakterekkel kezd�d� helyi nev�k [local
name] van (ugyancsak kisbet�/nagybet�-f�ggetlen �sszehasonl�t�sban).
Minden olyan inform�ci�t�tel az RDF/XML dokumentumon bel�l, mely egyezik a parseTypeLiteralPropertyElt produkci�val, egy XML-liter�lt takar, �s nem k�veti ezt a lek�pez�st. Tov�bbi inform�ci�k�rt l�sd a parseTypeLiteralPropertyElt produkci�t.
Ennek a szekci�nak a feladata kiel�g�teni a megfelel�si (Conformance) k�vetelm�nyeket az [INFOSET] specifik�ci� szerint. Ennek �rdek�ben specifik�lja azokat az inform�ci�t�teleket �s tulajdons�gokat amelyek ennek a specifik�ci�nak az implement�ci�j�hoz sz�ks�gesek.
A k�vetkez� alszekci�kban az esem�nyek kilenc t�pus�t defini�ljuk. A legt�bb esem�ny az XML Infoset egy-egy inform�ci�t�telb�l �p�l fel (kiv�tel az URI hivatkoz�s, �res csom�pont, t�pus n�lk�li liter�l �s a tipiz�lt liter�l). Egy esem�ny-konstruktor hat�sa az, hogy egy �j esem�nyt �ll�t el�, �n�ll� identit�ssal, mely k�l�nb�zik minden m�s esem�nyt�l. Az esem�nyek akcesszor m�veletekkel rendelkeznek, �s a legt�bbnek string-value (karakterl�nc �rt�k) akcesszora van, mely lehet egy statikus �rt�k, �s lehet egy dinamikusan el��ll�tott �rt�k is.
A dokumentum inform�ci�t�tel-b�l �ll�tjuk el� �s a k�vetkez� akcesszorokat �s �rt�keket kapja:
Egy elem inform�ci�t�tel-b�l �ll�tjuk el�, �s k�vetkez� akcesszorokat �s �rt�keket kapja:
Az elem inform�ci�t�tel [attributes] tulajdons�g�nak �rt�k�b�l �ll�tjuk el�, ami nem m�s, mint attribute inform�ci�t�telek halmaza.
Ha ez a halmaz tartalmaz egy xml:lang
attribute inform�ci�t�telt ([namespace name] tulajdons�g =
"http://www.w3.org/XML/1998/namespace" �rt�kkel �s egy [local name]
tulajdons�g = "lang" �rt�kkel), akkor azt elt�vol�tjuk az
attribute inform�ci�t�telek halmaz�b�l �s a `language`
akcesszort be�ll�tjuk az attribute inform�ci�t�tel
[normalized-value] tulajdons�g�ra.
Minden megmarad� rezerv�lt XML n�v (l�sd Name az
XML 1.0-ban)
most m�r el van t�vol�tva a halmazb�l, vagyis: minden olyan
attribute inform�ci�t�tel a halmazban, amelynek a [prefix]
tulajdons�ga xml
karakterl�nccal kezd�dik
(kisbet�/nagybet�-f�ggetlen �sszehasonl�t�sban), tov�bb� minden olyan
attribute inform�ci�t�tel, amelynek a [prefix] tulajdons�ga
nem rendelkezik �rt�kkel, vagy amelyiknek a [local name] tulajdons�ga
xml karakterl�nccal kezd�dik (kisbet�/nagybet�-f�ggetlen
�sszehasonl�t�sban). Megjegyzend�, hogy a [base URI] akcesszor �rt�k�t
kisz�m�tja az XML Base, miel�tt b�rmelyik xml:base
attribute inform�ci�t�telt t�r�ln�.
Az attribute inform�ci�t�telek megmarad� halmaza most m�r az attribute esem�nyek �j halmaz�nak fel�p�t�s�re haszn�lhat�, amit azut�n, �rt�kk�nt, ehhez az akcesszorhoz rendel�nk.
�rt�ke a k�vetkez� elemek egym�s ut�n f�z�s�b�l �ll, ebben a sorrendben: "<", az `URI` akcesszor escape-rezolv�lt �rt�ke, ">".
Az `URI` akcesszor escape-rezol�ci�ja a tripletnyelv (N-Triples) URI hivatkoz�saira megadott escape-rezol�ci�t haszn�lja, ahogyan azt az N-Triples dokumentum 3.3 URI References szekci�ja defini�lja.
Nem rendelkezik akcesszorokkal. A befogad� elem v�g�t jel�li meg a sorozatban.
Az attribute inform�ci�t�tel-b�l �ll�tjuk el�, �s az al�bbi akcesszorokat �s �rt�keket kapja:
Ha a `namespace-name`
akcesszor jelen van, akkor a `namespace-name`
akcesszor �s a `local-name`
akcesszor egybetoldott �rt�k�re van �ll�tva. Egy�bk�nt, ha a `local-name` egy
ID
, about
, resource
,
parseType
vagy egy type
, akkor az `RDF
n�vt�r URI hivatkoz�s` �s a `local-name`
akcesszor egybetoldott �rt�k�re van �ll�tva. M�sfajta, n�vt�r n�lk�li
`local-name`
akcesszor �rt�k haszn�lata tilos.
A n�vt�r-min�s�t�s n�lk�li nevek egy korl�tozott halmaz�nak a t�mogat�sa k�telez� (REQUIRED), �s arra szolg�l, hogy lehet�v� tegye, hogy az [RDF-MS]-ben specifik�lt RDF/XML dokumentumok �rv�nyesek maradjanak. �j dokumentumok lehet�leg ne haszn�lj�k (SHOULD NOT use) ezeket a min�s�t�s n�lk�li attrib�tumokat, �s az alkalmaz�sok d�nthetnek �gy (MAY choose), hogy egy figyelmeztet�st adnak ki, amikor egy ilyen min�s�t�s n�lk�li forma felbukkan az elemzett dokumentumban.
Az RDF
URI hivatkoz�sok el��ll�t�sa XML attrib�tumokb�l, l�trehozhatja
ugyanazokat az RDF URI
hivatkoz�sokat k�l�nb�z� XML attrib�tumokb�l. Ez f�lre�rt�sekre
vezethet a nyelvtanban az attribute esem�nyek �tk�ztet�s�n�l
(ilyen eset, pl., amikor egy rdf:about
�s egy XML
about
attrib�tum is jelen van). Azok a dokumentumok,
amelyekben ez el�fordul, illeg�lisak.
Az `URI` akcesszor escape-rezol�ci�ja a tripletnyelv (N-Triples) URI hivatkoz�saira megadott escape-rezol�ci�t haszn�lja, ahogyan azt az N-Triples dokumentum 3.3 URI References szekci�ja defini�lja.
Egy vagy t�bb, egym�s ut�n k�vetkez� character inform�ci�t�tel sorozat�b�l �ll�tjuk el�. Az egyetlen akcesszora:
Egy esem�ny az RDF URI hivatkoz�sok sz�m�ra, mely a k�vetkez� akcesszorokkal rendelkezik:
Az `identifier` akcesszor escape-rezol�ci�ja a tripletnyelv (N-Triples) URI hivatkoz�saira megadott escape-rezol�ci�t haszn�lja, ahogyan azt az N-Triples dokumentum 3.3 URI References szekci�ja defini�lja.
Ezeket az esem�nyeket �gy �ll�tjuk el�, hogy egy �rt�ket adunk az `identifier` akcesszornak.
Tov�bbi inform�ci�k az RDF gr�fban el�fordul� azonos�t�kr�l, az 5.2 szekci�ban tal�lhat�k.
Egy esem�ny az �rescsom�pont-azonos�t�k sz�m�ra, mely a k�vetkez� akcesszorokat tartalmazza:
Ezeket az esem�nyeket �gy �ll�tjuk el�, hogy egy �rt�ket adunk az `identifier` akcesszornak.
Tov�bbi inform�ci�k az RDF gr�fban el�fordul� azonos�t�kr�l az 5.2 szekci�ban tal�lhat�k.
Egy esem�ny a t�pus n�lk�li liter�lok sz�m�ra, mely az al�bbi akcesszorokkal rendelkezhet:
Az �rt�k�t a t�bbi akcesszor �rt�k�b�l sz�m�tjuk ki, a k�vetkez�k�ppen:
Ha a `literal-language` egy �res karakterl�nc, akkor az �rt�k a k�vetkez� elemek �sszef�z�s�b�l j�n l�tre: egy """ (1 id�z�jel), a `literal-value` akcesszor escape-rezolv�lt �rt�ke, �s egy """ (1 id�z�jel).
Egy�bk�nt az �rt�k a k�vetkez� elemek �sszef�z�s�b�l j�n l�tre: egy """ (1 id�z�jel), a `literal-value` akcesszor escape-rezolv�lt �rt�ke, ""@" (1 id�z�jel �s egy 'kukac' karakter), �s a `literal-language` akcesszor �rt�ke.
A `literal-value` akcesszor escape-rezol�ci�ja a tripletnyelv (N-Triples) karakterl�ncaira megadott escape-rezol�ci�t haszn�lja, ahogyan azt az N-Triples dokumentum 3.2 Strings szekci�ja defini�lja (p�ld�ul ilyen karakterek �tugrat�s�ra mint az id�z�jel (") )
Ezeket az esem�nyeket �gy �ll�tjuk el�, hogy egy �rt�ket adunk a `literal-value` �s a `literal-language` akcesszoroknak.
Egy�ttm�k�d�si megjegyz�s (Informat�v): Azok a liter�lok, amelyek egy kombin�lt Unicode karakterrel kezd�dnek, enged�lyezettek, azonban ez egy�ttm�k�d�si probl�m�khoz vezethet a szoftverek k�z�tt (l�sd a tov�bbi inform�ci�kat a [CHARMOD]-n�l)
Egy esem�ny a tipiz�lt liter�lok sz�m�ra, mely a k�vetkez� akcesszorokat kaphatja:
A `literal-value` akcesszor escape-rezol�ci�ja a tripletnyelv (N-Triples) karakterl�ncaira megadott escape-rezol�ci�t haszn�lja, ahogyan azt az N-Triples dokumentum 3.2 Strings szekci�ja defini�lja (p�ld�ul ilyen karakterek �tugrat�s�ra mint az id�z�jel (") )
A `literal-datatype` akcesszor escape-rezol�ci�ja a tripletnyelv (N-Triples) karakterl�ncaira megadott escape-rezol�ci�t haszn�lja, ahogyan azt az N-Triples dokumentum 3.3 URI References szekci�ja defini�lja.
Ezeket az esem�nyeket �gy �ll�tjuk el�, hogy egy �rt�ket adunk a `literal-value` �s a `literal-datatype` akcesszoroknak.
Egy�ttm�k�d�si megjegyz�s (Informat�v): Azok a liter�lok, amelyek egy kombin�lt Unicode karakterrel kezd�dnek, enged�lyezettek, azonban ez egy�ttm�k�d�si probl�m�khoz vezethet a szoftverek k�z�tt (l�sd a tov�bbi inform�ci�kat a [CHARMOD]-n�l)
Implement�ci�s megjegyz�s (Informat�v): Az XML Schema (part 1) [XML-SCHEMA1], szerint white space normaliz�ci� t�rt�nik az �rv�nyess�gellen�rz�s (valid�ci�) sor�n a whiteSpace facet �rt�ke szerint. Az ebben a dokumentumban v�grehajtott szintaxislek�pez�s csak ez ut�n t�rt�nik, �gy hogy a whiteSpace facet-nek form�lisan nincs tov�bbi hat�sa.
Ahhoz, hogy egy dokumentum teljes XML inform�ci�halmaz�t, dokumentum sorrendben megadott esem�nyek sorozat�v� alak�tsuk �t, minden inform�ci�t�telt �gy kell transzform�lnunk, ahogyan fentebb le�rtuk, s ennek eredm�nyek�nt megkapjuk a fa-strukt�r�ba szervezett esem�nyeket, azok akcesszoraival �s �rt�keivel egy�tt. Ezt k�vet�en az �sszes elem esem�nyt az al�bb le�rt m�don rendezz�k �t, hogy az esem�nyek fa-strukt�r�j�t az esem�nyek dokumentum sorrendben megadott line�ris sorozat�v� alak�tsuk �t.
Az al�bbi not�ci�t haszn�ljuk egyr�szt annak le�r�s�ra, hogy mik�nt �tk�ztetj�k a nyelvtani produkci�kat az adatmodell 6 fejezetben le�rt esem�nyeinek sorozat�val, m�sr�szt pedig azoknak az akci�knak a le�r�s�ra, amelyeket tal�lat eset�n v�gre kell hajtani. Az RDF/XML nyelvtan oly m�don van defini�lva, hogy a tal�latot mutat� adatmodell-esem�nyeket tripletekre k�pezze le az al�bbi form�j� not�ci� seg�ts�g�vel:
sorsz�m esem�ny-t�pus esem�ny-tartalom
akci�...
ahol az esem�ny-tartalom egy kifejez�s, mely az esem�ny-t�pus-nak felel meg (ahogyan a 6.1 szekci� le�rja), �s amelyet egy olyan le�r� nyelven adunk meg, amelyet a k�vetkez� szekci�k ismertetnek. A sorsz�mot csak hivatkoz�si c�lokra haszn�ljuk. A nyelvtani akci� mag�ban foglalhatja �j tripletek gener�l�s�t is a gr�f sz�m�ra, N-Triples nyelven megfogalmazva.
Az al�bbi h�rom szekci� le�rja az �ltal�nos, az esem�ny �tk�ztet� �s az akci�s nyelvtani elemek not�ci�it.
Not�ci� | Jelent�se |
---|---|
esem�ny.accessor | Az esem�ny akcesszor �rt�ke. |
rdf: X |
Egy URI, ahogy az 5.1 szekci� defini�lja. |
"ABC" | Egy karakterl�nc A, B, C sorrend� karakterekkel. |
Not�ci� | Jelent�se |
---|---|
A == B | Az A esem�ny akcesszor megegyezik B kifejez�ssel. |
A != B | A nem egyenl� B-vel. |
A | B | ... | Az A, B, ... kifejez�sek alternat�v�k. |
A - B | A kifejez�sei, B kifejez�sek kihagy�s�val. |
anyURI. | B�rmilyen URI. |
anyString. | B�rmilyen karakterl�nc. |
list(item1, item2, ...); list() | Esem�nyek rendezett sora. Egy �res lista. |
set(item1, item2, ...); set() | Esem�nyek rendezetlen halmaza. Egy �res halmaz. |
* | Z�r� vagy t�bb a megel�z� kifejez�sekb�l. |
? | Z�r� vagy egy a megel�z� kifejez�sekb�l. |
+ | Egy vagy t�bb a megel�z� kifejez�sekb�l. |
root(acc1 == value1, acc2 == value2, ...) |
�tk�ztet egy Gy�k�r esem�nyt az akcesszoraival egy�tt. |
start-elem(acc1 == value1, acc2 == value2, ...) children end-elem() |
�tk�zteti Elem esem�nyek egy sorozat�t akcesszoraikkal egy�tt; elemtartalomk�nt esetleg esem�nyek egy �res list�ja; egy V�ge elem esem�ny. |
attribute(acc1 == value1, acc2 == value2, ...) |
�tk�ztet egy Attrib�tum esem�nyt az akcesszoraival egy�tt. |
text() | �tk�ztet egy Sz�veg esem�nyt. |
Not�ci� | Jelent�se |
---|---|
A := B | A-hoz rendeli B �rt�k�t. |
concat(A, B, ..) | Egy karakterl�nc el��ll�t�sa a felsorolt kifejez�sek megadott sorrendben t�rt�n� �sszeilleszt�s�vel. |
resolve(e, s) | Egy karakterl�nc el��ll�t�sa, ahol az s karakterl�nc egy relat�v URI hivatkoz�s e `base-uri` akcesszor�ra, ahogy az 5.3 URI-k l�trehoz�sa szekci� le�rja. Az �gy l�trej�v� karakterl�nc egy teljes RDF URI hivatkoz�st reprezent�l. |
generated-blank-node-id() | Egy karakterl�nc el��ll�t�sa egy �j, egyedi, gener�lt �rescsom�pont-azonos�t� c�lj�ra, ahogy az 5.2 Azonos�t�k szekci� defini�lja. |
esem�ny.accessor := value | Egy esem�ny-akcesszort a value �rt�kre �ll�tja. |
uri(identifier := value) | Egy URI hivatkoz�s esem�ny el��ll�t�sa. |
bnodeid(identifier := value) | Egy �j �rescsom�pont-azonos�t� esem�ny el��ll�t�sa. L�sd az 5.2 Azonos�t�k szekci�ban is. |
literal(literal-value := string, literal-language := language, ...) |
Egy �j T�pus n�lk�li liter�l esem�ny el��ll�t�sa. |
typed-literal(literal-value := string, ...) | Egy �j Tipiz�lt liter�l esem�ny el��ll�t�sa. |
Ha az RDF/XML egy �n�ll� XML dokumentum (melyet egy ilyen prezent�ci� azonos�t mint egy application/rdf+xml RDF MIME type objektum, vagy valamilyen m�s eszk�z), akkor a nyelvtan indulhat a doc produkci�val, vagy egy nodeElement produkci�val.
Ha tartalom a kontextusb�l felismerhet�en RDF/XML (p�ld�ul, amikor az RDF/XML be van �gyazva m�s XML tartalomba), akkor a nyelvtan indulhat vagy egy Elem esem�ny RDF produkci�j�val (de csak akkor, ha az elem leg�lis az XML-nek ezen a pontj�n), vagy indulhat egy nodeElementList produkci�val (de csak akkor, ha az elem tartalma leg�lis, mivel elemek list�j�r�l van sz�). Az ilyen be�gyazott RDF/XML-n�l a `base-uri` �rt�k�t a legk�ls� elemben be kell �ll�tani a befogad� XML-b�l, mivel ilyenkor nem �ll rendelkez�sre Gy�k�r esem�ny. Megjegyzend�, hogy ha ilyen be�gyaz�s t�rt�nik, akkor a nyelvtanba t�bbsz�r is be lehet l�pni, de nem v�rhat� el, hogy az elemz� �llapota a k�t bel�p�s k�z�tt megmarad.
rdf:RDF
| rdf:ID
| rdf:about
|
rdf:parseType
| rdf:resource
|
rdf:nodeID
| rdf:datatype
Az RDF sz�k�szlet 5.1 szekci�ban felsorolt szintaktikai kifejez�seinek egy r�szhalmaza, mely az RDF/XML-ben haszn�lhat�.
coreSyntaxTerms |
rdf:Description
| rdf:li
Az �sszes olyan szintaktikai kifejez�s az 5.1 szekci�ban felsorolt RDF sz�k�szletb�l, mely az RDF/XML-ben haszn�lhat�.
rdf:aboutEach
| rdf:aboutEachPrefix
|
rdf:bagID
Ezek olyan nevek az RDF sz�k�szletb�l, amelyeket m�ra m�r t�r�ltek a nyelvb�l. (A tov�bbi r�szletek tekintet�ben l�sd az rdfms-aboutEach-on-object, az rdfms-abouteachprefix, �s a timbl-01 k�rd�s megold�s�t az RDF-mag t�mak�vet� dokument�ci�j�nak jelzett helyein).
Hiba-teszt: jel�l�se: error001.rdf �s error002.rdf
anyURI - ( coreSyntaxTerms | rdf:li
| oldTerms )
Azok az RDF URI hivatkoz�sok, amelyek enged�lyezettek csom�pont-elemekben.
anyURI - ( coreSyntaxTerms | rdf:Description
|
oldTerms )
Azok az URI-k, amelyek enged�lyezettek tulajdons�gelemekben.
anyURI - ( coreSyntaxTerms | rdf:Description
|
rdf:li
| oldTerms )
Azok az RDF URI hivatkoz�sok, amelyek enged�lyezettek tulajdons�g-attrib�tumokban.
root(dokumentum-elem == RDF,
children ==
list(RDF))
start-elem(URI ==
rdf:RDF
,
attributes == set())
nodeElementList
end-elem()
ws* (nodeElement ws* )*
start-elem(URI == nodeElementURIs
attributes == set((idAttr | nodeIdAttr | aboutAttr )?, propertyAttr*))
propertyEltList
end-elem()
Egy e csom�pont-elem sz�m�ra n�h�ny attrib�tum feldolgoz�s�t el kell v�gezni az egy�b munk�k el�tt (p�ld�ul miel�tt a gyermek esem�nyekkel, vagy m�s attrib�tumokkal foglalkozn�nk). Ezek b�rmilyen sorrendben feldolgozhat�k:
rdf:ID
, akkor
e.subject := uri(identifier :=
resolve(e, concat("#", a.string-value))).rdf:nodeID
, akkor
e.subject := bnodeid(identifier:=a.string-value).rdf:about
akkor
e.subject := uri(identifier :=
resolve(e, a.string-value)).Ha e.subject �res, akkor e.subject := bnodeid(identifier := generated-blank-node-id()).
Akkor az al�bbiak v�grehajthat�k b�rmilyen sorrendben:
rdf:Description
akkor a k�vetkez� tripletet hozz�adjuk a
gr�fhoz:
e.subject.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> e.URI-string-value
.
rdf:type
akkor
u:=uri(identifier:=resolve(a.string-value)) �s a
k�vetkez� tripletet hozz�adjuk a gr�fhoz:
e.subject.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> u.string-value .
rdf:type
), a Unicode karakterl�nc a.string-value �rt�k�nek
Normal Form C[NFC] k�dol�s�nak kellene (SHOULD)
lennie, o := literal(literal-value :=
a.string-value,
literal-language :=
e.language) �s a
k�vetkez� tripletet hozz�adjuk a gr�fhoz:
Egy Text esem�ny, mely egy white space karakterrel egyezik meg, ahogyan azt az [XML] White Space Rule [3] S defin�ci�ja le�rja a Common Syntactic Constructs szekci�ban.
ws* (propertyElt ws* ) *
Ha az e elemnek van egy e.URI = rdf:li
lista-eleme,
akkor alkalmazzuk a lista kiterjeszt� szab�lyokat az e.parent elemre
(ahogy a 7.4 szekci� le�rja), hogy egy �j
u URI-t kapjunk, �s e.URI := u legyen.
Ennek a produkci�nak az akci�j�t v�gre kell hajtani az al�rendelt tal�latok (resourcePropertyElt ... emptyPropertyElt) b�rmelyik�nek els� akci�ja el�tt.
start-elem(URI == propertyElementURIs ),
attributes == set(idAttr?))
ws* nodeElement ws*
end-elem()
Az e elem, valamint az egyetlen benne l�v� n nodeElement sz�m�ra, el�sz�r n-t fel kell dolgozni a nodeElement produkci� seg�ts�g�vel. Azut�n a k�vetkez� tripletet hozz� kell adni a gr�fhoz:
e.parent.subject.string-value e.URI-string-value n.subject.string-value .
Ha az a rdf:ID
attrib�tum meg van adva, a fenti
triplet t�rgyias�that� a 7.3 szekci�ban
ismertetett t�rgyias�t�si szab�lyok szerint, az i := uri(identifier := resolve(e,
concat("#", a.string-value))) akci�val,
valamint az e.subject :=
i akci�val.
start-elem(URI == propertyElementURIs ),
attributes == set(idAttr?, datatypeAttr?))
text()
end-elem()
Megjegyezz�k, hogy az �res liter�l eset az emptyPropertyElt produkci�ban van defini�lva.
Az e elem, �s a t sz�veg esem�ny sz�m�ra a
t.string-value Unicode
karakterl�ncnak Normal Form C[NFC] k�dol�sban kell
lennie (SHOULD). Ha a d rdf:datatype
attribute meg van
adva, akkor o := typed-literal(literal-value :=
t.string-value, literal-datatype :=
d.string-value)
egy�bk�nt o := literal(literal-value := t.string-value, literal-language :=
e.language), �s a
k�vetkez� tripletet hozz�adjuk a gr�fhoz:
e.parent.subject.string-value e.URI-string-value o.string-value .
Ha az a rdf:ID
attrib�tum meg van adva, a fenti
tripletet a 7.3 szekci�ban ismertetett
t�rgyias�t�si szab�lyok szerint, az i := uri(identifier := resolve(e,
concat("#", a.string-value))) akci�val
valamint az e.subject :=
i akci�val t�rgyias�tjuk.
start-elem(URI == propertyElementURIs ),
attributes == set(idAttr?, parseLiteral))
literal
end-elem()
Az e elem �s az l liter�l vagyis, az
rdf:parseType="Literal"
tartalom sz�m�ra. Az l-t nem
transzform�lja esem�nyekk� a szintaxis-adatmodell lek�pez�se (ahogyan a 6. Syntaxis adatmodell fejezet megjegyzi),
hanem az XML inform�ci�t�telek XML inform�ci�halmaza marad).
Az l-t az al�bbi algoritmussal transzform�ljuk az XML-liter�l lexik�lis form�j�ra (mely egy Unicode karakterl�nc) az x RDF gr�fban. Ez nem egy k�telez� implement�ci�s m�dszer – b�rmilyen m�dszer, mely ugyanezt az eredm�nyt szolg�ltatja, szabadon haszn�lhat�:
Ezt k�vet�en v�grehajtjuk az o := typed-literal(literal-value := x,
literal-datatype :=
http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
) akci�t,
�s a k�vetkez� tripletet a gr�fhoz adjuk:
e.parent.subject.string-value e.URI-string-value o.string-value .
Teszt: �res liter�l eset: jel�l�se: test009.rdf �s test009.nt
Ha az a rdf:ID
attrib�tum meg van adva, a fenti
tripletet a 7.3 szekci�ban ismertetett
t�rgyias�t�si szab�lyok szerint, az i := uri(identifier := resolve(e,
concat("#", a.string-value))) akci�val,
valamint az e.subject :=
i akci�val t�rgyias�tjuk.
start-elem(URI == propertyElementURIs ),
attributes == set(idAttr?, parseResource))
propertyEltList
end-elem()
Az e elem sz�m�ra, esetleg c �res elem tartalommal.
n := bnodeid(identifier := generated-blank-node-id()).
�s a k�vetkez� tripletet a gr�fhoz adjuk:
e.parent.subject.string-value e.URI-string-value n.string-value .
Teszt: jel�l�se: test004.rdf �s test004.nt
Ha az a rdf:ID
attrib�tum meg van adva, a fenti
tripletet a 7.3 szekci�ban ismertetett
t�rgyias�t�si szab�lyok szerint, az i := uri(identifier := resolve(e,
concat("#", a.string-value))) akci�val,
valamint az e.subject :=
i akci�val t�rgyias�tjuk.
Ha a c elemtartalom nem �res, akkor haszn�ljuk az n esem�nyt �j esem�nyek sorozat�nak el��ll�t�s�ra, ahogy al�bb k�vetkezik:
start-elem(URI :=
rdf:Description
,
subject :=
n,
attributes := set())
c
end-elem()
Ezt k�vet�en dolgozzuk fel az eredm�ny�l kapott sorozatot a nodeElement produkci� seg�ts�g�vel
start-elem(URI == propertyElementURIs ),
attributes == set(idAttr?, parseCollection))
nodeElementList
end-elem()
Az e elem esem�ny sz�m�ra, esetleg l �res nodeElementList list�val. V�gezz�k el az s:=list() hozz�rendel�st.
Minden f elem esem�ny sz�m�ra l-ben, n := bnodeid(identifier := generated-blank-node-id()), �s illessz�k n-t az s-hez, hogy v�g�l megkapjuk az esem�nyek sorozat�t.
Ha s nem �res, n az els� esem�nyazonos�t� s-ben, �s a k�vetkez� tripletet adjuk a gr�fhoz:
e.parent.subject.string-value e.URI-string-value n.string-value .
egy�bk�nt pedig a k�vetkez� tripletet adjuk a gr�fhoz:
e.parent.subject.string-value e.URI-string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
Ha az a rdf:ID
attrib�tum meg van adva, a fenti
tripletet a 7.3 szekci�ban ismertetett
t�rgyias�t�si szab�lyok szerint, az i := uri(identifier := resolve(e,
concat("#", a.string-value))) akci�val
t�rgyias�tjuk.
Ha s �res, egy�b akci�t nem kell v�grehajtani.
Minden n esem�ny sz�m�ra s-ben, �s minden neki megfelel� f elem esem�ny sz�m�ra l-ben, a k�vetkez� tripletet adjuk a gr�fhoz:
n.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#first> f.string-value .
Minden egym�st k�vet� �s egym�st �tlapol� (n, o) esem�ny p�r sz�m�ra s-ben, a k�vetkez� tripletet adjuk a gr�fhoz:
n.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> o.string-value .
Ha s nem �res, n az utols� esem�nyazonos�t� s-ben, a k�vetkez� tripletet adjuk a gr�fhoz:
n.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
start-elem(URI == propertyElementURIs ),
attributes == set(idAttr?, parseOther))
propertyEltList
end-elem()
A "Resource", "Literal" �s "Collection" karakterl�ncok kiv�tel�vel, minden
rdf:parseType
attrib�tum-�rt�ket �gy kezel�nk, mintha az a
"literal" karakterl�nc volna. Ez a produkci� �gy �tk�ztet, �s olyan akci�t
hajt v�gre, mintha a tal�lat egy parseTypeLiteralPropertyElt produkci�
lenne. Tov�bbi tripleteket nem kell gener�lni a t�bbi
rdf:parseType
�rt�k sz�m�ra.
start-elem(URI == propertyElementURIs ),
attributes == set(idAttr?, ( resourceAttr | nodeIdAttr )?, propertyAttr*))
end-elem()
Ha nincsenek attrib�tumok, vagy csak az
opcion�lis
i rdf:ID
attrib�tum van
megadva, akkor o := literal(literal-value:="", literal-language :=
e.language), �s a
k�vetkez� tripletet adjuk a gr�fhoz:
e.parent.subject.string-value e.URI-string-value
o.string-value
.
�s ezut�n, ha i meg van adva, akkor a fenti tripletet a 7.3 szekci�ban ismertetett t�rgyias�t�si szab�lyok szerint, az uri(identifier := resolve(e, concat("#", a.string-value))) akci�val t�rgyias�tjuk.
Teszt: jel�l�se: test002.rdf �s test002.nt
Teszt: jel�l�se: test005.rdf �s test005.nt
Egy�bk�nt pedig
rdf:resource
attrib�tum jelen van,
akkor r := uri(identifier :=
resolve(e, i.string-value))rdf:nodeID
attrib�tum jelen van,
akkor r := bnodeid(identifier :=
i.string-value)Az al�bbiakat b�rmilyen sorrendben v�gre lehet hajtani:
Minden a propertyAttr attrib�tum sz�m�ra (tetsz�leges sorrendben)
Ha a.URI ==
rdf:type
akkor
u:=uri(identifier:=resolve(a.string-value)),
�s a k�vetkez� tripletet adjuk a gr�fhoz:
r.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
u.string-value
.
Egy�bk�nt az a.string-value Unicode karakterl�nc Normal Form C[NFC] k�dol�s� kell legyen (SHOULD), o := literal(literal-value := a.string-value, literal-language := e.language) �s a k�vetkez� tripletet adjuk a gr�fhoz:
r.string-value
a.URI-string-value
o.string-value
.
Teszt: jel�l�se: test013.rdf �s test013.nt
Teszt: jel�l�se: test014.rdf �s test014.nt
Adjuk a k�vetkez� tripletet adjuk a gr�fhoz:
e.parent.subject.string-value
e.URI-string-value
r.string-value
.
�s ezut�n, ha az rdf:ID
attribute i meg van
adva, akkor a fenti tripletet a 7.3
szekci�ban ismertetett t�rgyias�t�si szab�lyok szerint, az uri(identifier :=
resolve(e, concat("#", a.string-value))) akci�val
t�rgyias�tjuk.
attribute(URI ==
rdf:ID
,
string-value == rdf-id)
A constraint-id korl�toz�s �rv�nyes az
rdf:ID
attrib�tum minden �rt�k�re.
attribute(URI ==
rdf:nodeID
,
string-value == rdf-id)
attribute(URI ==
rdf:about
,
string-value == URI-reference)
attribute(URI == propertyAttributeURIs,
string-value == anyString)
attribute(URI ==
rdf:resource
,
string-value == URI-reference)
attribute(URI ==
rdf:datatype
,
string-value == URI-reference)
attribute(URI ==
rdf:parseType
,
string-value == "Literal")
attribute(URI ==
rdf:parseType
,
string-value == "Resource")
attribute(URI ==
rdf:parseType
,
string-value == "Collection")
attribute(URI ==
rdf:parseType
,
string-value == anyString - ("Resource" | "Literal" | "Collection")
)
Egy RDF URI hivatkoz�s.
B�rmilyen XML elem tartalom, amelyet enged�lyez az [XML] defin�ci� Content of Elements Rule [43] content szab�lya, a 3.1 Start-Tags, End-Tags, and Empty-Element Tags szekci�ban.
Az eredm�ny�l kapott esem�ny karakterl�nc-�rt�k�t a 7.2.17 szekci� t�rgyalja.
Egy `string-value` attrib�tum, mely megegyezik b�rmilyen leg�lis [XML-NS] NCName n�vvel.
Az adott r URI hivatkoz�s esem�ny, �s az s, p and o kifejez�sekb�l �ll� kijelent�s sz�m�ra, mely megfelel egy
s p o .
N-Triples szintaxis� tripletnek, adjuk a k�vetkez� tripleteket a gr�fhoz:
r.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#subject> s
.
r.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate> p
.
r.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#object> o
.
r.string-value
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement> .
Minden adott e lista-elem sz�m�ra k�sz�t�nk egy �j RDF URI hivatkoz�st: u := concat("http://www.w3.org/1999/02/22-rdf-syntax-ns#_", e.li-counter), n�velj�k az e.li-counter (listaelem-sz�ml�l�) tulajdons�g �rt�k�t eggyel, majd adjuk ki eredm�ny�l u-t.
Ahogy Az RDF alapfogalmai �s absztrakt szintaxisa dokumentum defini�lja, van n�h�ny olyan RDF gr�f, amelyeket nem lehet soros�tani (serialize) RDF/XML-ben. Ezek azok, amelyek:
Implement�ci�s megjegyz�s (Informat�v): Amikor egy RDF gr�fot soros�tunk RDF/XML-ben, �s az egy XML S�ma adatt�pust (XSD) tartalmaz, akkor azt olyan form�ban kell (SHOULD) �rnunk mely nem ig�nyel whitespace karakter feldolgoz�st. Az XSD t�mogat�s�t NEM v�rja el sem az RDF, sem az RDF/XML, ez teh�t opcion�lis.
Ha RDF/XML k�dot �gyazunk be HTML-be, vagy XHTML-be, ez sok olyan �j elemet �s attrib�tumot hozhat be az ilyen dokumentumokba, amelyek legt�bbje nem lesz benne az adott DTD-ben. Az ilyen be�gyazott k�d teh�t hib�t fog jelezni, amikor a valid�ci� sor�n �tk�ztetj�k a DTD-vel. Az a k�zenfekv�nek l�tsz� megold�s, azonban, hogy terjessz�k ki, vagy cser�lj�k le a DTD-t, nem igaz�n praktikus az alkalmaz�sok egy r�sz�n�l. Ezt a probl�m�t behat�an elemezte Sean B. Palmer az RDF in HTML: Approaches [RDF-IN-XHTML] c�m� dolgozat�ban, �s arra a meg�llap�t�sra jutott, hogy nincs olyan k�z�s be�gyaz�si m�dszer, mely kiel�g�ten� az alkalmaz�sokat, �s m�gis egyszer� maradna.
Az aj�nlhat� k�zel�t�s az, hogy ne �gyazzunk be RDF/XML-t a HTML-be vagy
XHTML-be, hanem ehelyett haszn�ljunk egy <link>
elemet a
k�l�n�ll� RDF/XML dokumentumra, a HTML vagy XHTML dokumentum
<head>
elem�ben. Ezt a m�dszert m�r �vek �ta haszn�lja a
saj�t webhely�n a Dublin Core Metadata
Initiative (DCMI).
Ezt a technik�t �gy haszn�ljuk, hogy a <link>
elem
href
attrib�tum�ban l�v� URI az RDF/XML tartalomra mutat, a
type
attrib�tum pedig az "application/rdf+xml" �rt�ket kapja,
ami az RDF/XML javasolt MIME t�pusa (l�sd a 4.
fejezetben).
A rel
attrib�tum �rt�k�t is be�ll�thatjuk, hogy az a
viszonyt jel�lje; ez egy alkalmaz�sf�gg� �rt�k. A DCMI pl. a
rel="meta"
�rt�ket haszn�lja, a linkhez (RFC 2731 – Encoding Dublin
Core Metadata in HTML – [RFC-2731]), de
a rel="alternate"
v�ltozat is megfelel� lehet. Tov�bbi
inform�ci�k tal�lhat�k a HTML 4.01 link
types, XHTML
Modularization – LinkTypes �s XHTML 2.0
– LinkTypes dokumentumokban azokr�l az �rt�kekr�l, amelyek
alkalmasak lehetnek a HTML k�l�nb�z� v�ltozataiban.
A 21. p�lda mutatja ennek a m�dszernek a
haszn�lat�t, ahol egy HTML dokumentumban egy link
teg csatol be
egy k�ls� RDF/XML dokumentumot.
link
elem
haszn�lata XHTML-ben egy k�ls� RDF/XML dokumentum be�p�t�s�re <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>My document</title> <meta http-equiv="Content-type" content='text/html; charset="utf-8"' /> <link rel="alternate" type="application/rdf+xml" title="RDF Version" href="example21.rdf" /> </head> <body> <h1>My document</h1> </body> </html>
L�tezik egy szabv�nyos�tott m�dszer, amellyel RDF kompatibilis meta-adatokat kapcsolhatunk SVG-hez. Ez egy olyan meta-adat elem, amelyet kifejezetten erre a c�lra terveztek, ahogyan azt a Scalable Vector Graphics (SVG) 1.0 Specification – [SVG] dokumentum 21. Metadata fejezete, valamint a Scalable Vector Graphics (SVG) 1.1 Specification – [SVG11] dokumentum 21. Metadata fejezete defini�lja.
Ez a dokumentum k�t gr�f-p�ld�t tartalmaz SVG-ben ilyen be�gyazott RDF/XML k�ddal az 1. �bra �s a 2. �bra meta-adat elem�ben.
Az al�bbi munkat�rsak �rt�kes hozz�j�rul�s�t tartalmazza ez a dokumentum:
Ez a dokumentum az RDF-mag Munkacsoport hosszas megfontol�sainak az eredm�nye. Ennek a csoportnak a tagjai: Art Barstow (W3C) Dave Beckett (ILRT), Dan Brickley (W3C/ILRT), Dan Connolly (W3C), Jeremy Carroll (Hewlett Packard), Ron Daniel (Interwoven Inc), Bill dehOra (InterX), Jos De Roo (AGFA), Jan Grant (ILRT), Graham Klyne (Clearswift and Nine by Nine), Frank Manola (MITRE Corporation), Brian McBride (Hewlett Packard), Eric Miller (W3C), Stephen Petschulat (IBM), Patrick Stickler (Nokia), Aaron Swartz (HWG), Mike Dean (BBN Technologies / Verizon), R. V. Guha (Alpiri Inc), Pat Hayes (IHMC), Sergey Melnik (Stanford University), Martyn Horner (Profium Ltd).
Ez a specifik�ci� mer�t egyr�szt a kor�bbi RDF Model and Syntax dokumentumb�l, amelyet Ora Lassilla �s Ralph Swick szerkesztettek, m�sr�szt az RDF S�ma dokumentumb�l, amelynek szerkeszt�i Dan Brickley and R. V. Guha voltak. Azok az RDF �s RDF S�ma munkacsoport-tagok, akik munk�jukkal hozz�j�rultak e kor�bbi specifik�ci�k l�trej�tt�hez, a k�vetkez�k voltak: Nick Arnett (Verity), Tim Berners-Lee (W3C), Tim Bray (Textuality), Dan Brickley (ILRT / University of Bristol), Walter Chang (Adobe), Sailesh Chutani (Oracle), Dan Connolly (W3C), Ron Daniel (DATAFUSION), Charles Frankston (Microsoft), Patrick Gannon (CommerceNet), RV Guha (Epinions, previously of Netscape Communications), Tom Hill (Apple Computer), Arthur van Hoff (Marimba), Renato Iannella (DSTC), Sandeep Jain (Oracle), Kevin Jones, (InterMind), Emiko Kezuka (Digital Vision Laboratories), Joe Lapp (webMethods Inc.), Ora Lassila (Nokia Research Center), Andrew Layman (Microsoft), Ralph LeVan (OCLC), John McCarthy (Lawrence Berkeley National Laboratory), Chris McConnell (Microsoft), Murray Maloney (Grif), Michael Mealling (Network Solutions), Norbert Mikula (DataChannel), Eric Miller (OCLC), Jim Miller (W3C, emeritus), Frank Olken (Lawrence Berkeley National Laboratory), Jean Paoli (Microsoft), Sri Raghavan (Digital/Compaq), Lisa Rein (webMethods Inc.), Paul Resnick (University of Michigan), Bill Roberts (KnowledgeCite), Tsuyoshi Sakata (Digital Vision Laboratories), Bob Schloss (IBM), Leon Shklar (Pencom Web Works), David Singer (IBM), Wei (William) Song (SISU), Neel Sundaresan (IBM), Ralph Swick (W3C), Naohiko Uramoto (IBM), Charles Wicksteed (Reuters Ltd.), Misha Wolf (Reuters Ltd.), Lauren Wood (SoftQuad).
application/rdf+xml
is archived at
http://www.w3.org/2001/sw/RDFCore/mediatype-registration .Ez a f�ggel�k XML s�m�kat tartalmaz RDF/XML form�k �rv�nyess�g-ellen�rz�s�hez (validation). Ezek csak p�lda s�m�k t�j�koztat�si c�lokra, �s nem k�pezik a specifik�ci�nk r�sz�t.
Ez egy p�lda s�ma az RDF/XML sz�m�ra RELAX NG Compact form�ban (a k�nnyebb olvashat�s�g kedv��rt). Az alkalmaz�sok haszn�lhatj�k a RELAX NG XML version-t is. Ezek a form�tumok a RELAX NG ([RELAXNG]) �s a RELAX NG Compact ([RELAXNG-COMPACT]) dokumentumokban vannak le�rva.
Megjegyz�s: Az RNGC s�m�t aktualiz�lt�k, hogy megk�s�relj�k a nyelvtanhoz igaz�tani, de ezt nem ellen�rizt�k, �s nem is haszn�lt�k RDF/XML dokumentumok valid�ci�j�hoz.
# # RELAX NG Compact Schema for RDF/XML Syntax # # This schema is for information only and NON-NORMATIVE # # It is based on one originally written by James Clark in # http://lists.w3.org/Archives/Public/www-rdf-comments/2001JulSep/0248.html # and updated with later changes. # namespace local = "" namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" start = doc # I cannot seem to do this in RNGC so they are expanded in-line # coreSyntaxTerms = rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype # syntaxTerms = coreSyntaxTerms | rdf:Description | rdf:li # oldTerms = rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID # nodeElementURIs = * - ( coreSyntaxTerms | rdf:li | oldTerms ) # propertyElementURIs = * - ( coreSyntaxTerms | rdf:Description | oldTerms ) # propertyAttributeURIs = * - ( coreSyntaxTerms | rdf:Description | rdf:li | oldTerms ) # Also needed to allow rdf:li on all property element productions # since we can't capture the rdf:li rewriting to rdf_<n> in relaxng # Need to add these explicitly xmllang = attribute xml:lang { text } xmlbase = attribute xml:base { text } # and to forbid every other xml:* attribute, element doc = RDF | nodeElement RDF = element rdf:RDF { xmllang?, xmlbase?, nodeElementList } nodeElementList = nodeElement* # Should be something like: # ws* , ( nodeElement , ws* )* # but RELAXNG does this by default, ignoring whitespace separating tags. nodeElement = element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:li | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID ) { (idAttr | nodeIdAttr | aboutAttr )?, xmllang?, xmlbase?, propertyAttr*, propertyEltList } # It is not possible to say "and not things # beginning with _ in the rdf: namespace" in RELAX NG. ws = " " # Not used in this RELAX NG schema; but should be any legal XML # whitespace defined by http://www.w3.org/TR/2000/REC-xml-20001006#NT-S propertyEltList = propertyElt* # Should be something like: # ws* , ( propertyElt , ws* )* # but RELAXNG does this by default, ignoring whitespace separating tags. propertyElt = resourcePropertyElt | literalPropertyElt | parseTypeLiteralPropertyElt | parseTypeResourcePropertyElt | parseTypeCollectionPropertyElt | parseTypeOtherPropertyElt | emptyPropertyElt resourcePropertyElt = element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | xml:* ) { idAttr?, xmllang?, xmlbase?, nodeElement } literalPropertyElt = element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | xml:* ) { (idAttr | datatypeAttr )?, xmllang?, xmlbase?, text } parseTypeLiteralPropertyElt = element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | xml:* ) { idAttr?, parseLiteral, xmllang?, xmlbase?, literal } parseTypeResourcePropertyElt = element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | xml:* ) { idAttr?, parseResource, xmllang?, xmlbase?, propertyEltList } parseTypeCollectionPropertyElt = element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | xml:* ) { idAttr?, xmllang?, xmlbase?, parseCollection, nodeElementList } parseTypeOtherPropertyElt = element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | xml:* ) { idAttr?, xmllang?, xmlbase?, parseOther, any } emptyPropertyElt = element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | xml:* ) { idAttr?, (resourceAttr | nodeIdAttr)?, xmllang?, xmlbase?, propertyAttr* } idAttr = attribute rdf:ID { IDsymbol } nodeIdAttr = attribute rdf:nodeID { IDsymbol } aboutAttr = attribute rdf:about { URI-reference } propertyAttr = attribute * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype | rdf:li | rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | xml:* ) { string } resourceAttr = attribute rdf:resource { URI-reference } datatypeAttr = attribute rdf:datatype { URI-reference } parseLiteral = attribute rdf:parseType { "Literal" } parseResource = attribute rdf:parseType { "Resource" } parseCollection = attribute rdf:parseType { "Collection" } parseOther = attribute rdf:parseType { text } URI-reference = string literal = any IDsymbol = xsd:NMTOKEN any = mixed { element * { attribute * { text }*, any }* }
Jav�t�sok a 2003. okt�ber 10-i v�gleges munkaanyag kiad�sa �ta:
Ezeket "szerkeszt�i" �s "nem szerkeszt�i" jav�t�sokra bontva k�z�lj�k. A nem szerkeszt�i jav�t�sok k�z�tt felsoroljuk a k�vetkezm�nyszer� jav�t�sokat is. A szerkeszt�i jav�t�sok azok, amelyek nem v�ltoztatj�k meg az RDF dokumentum jelent�s�t, vagy egy RDF alkalmaz�s viselked�s�t.
Nincs
rdf:parseType="Resource"
eset�n, amelyre Sabadello
2003-10-30 keltez�s� komment�rja mutatott r�.A 6.1.2, 6.1.4 szekci�kban �j elem/attrib�tum
URI-string-value akcesszorok.
A 7.2.11, 7.2.21 szekci�kban �j URI hivatkoz�s
esem�ny alkalmaz�sa az rdf:type
esetekn�l.
A 7.2.11-ben (<e.URI> �s
<a.URI>), a 7.2.15-ben
(<e.URI>), a 7.2.16-ban
(<e.URI>), a 7.2.17-ben (<e.URI>), a
7.2.18-ban (<e.URI>),
a 7.2.19-ben
(<e.URI> k�tszer), a 7.2.21-ben
(<e.URI> k�tszer, <a.URI> egyszer) ker�lt megv�ltoztat�sra
X.URI-r�l X.URI-string-value form�ra (b�rhol, ahol "<"..">"
jelent meg a nyelvtani akci�ban egy fix URI hivatkoz�ssal)
A 7.2.32 szekci�ban az akci�
megfogalmaz�sa "Egy RDF URI hivatkoz�s"-ra v�ltozott.
Minden kijav�t�sra ker�lt a 2003-10-06
d�tum� javaslatb�l, Patel-Schneider
2003-10-29-i megjegyz�sei alapj�n.
Nincs