(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 absztrakt szintaxist definiál, amelyre az RDF épül, és amely arra szolgál, hogy az RDF konkrét szintaxisát annak formális szemantikájához kapcsolja. A dokumentum ismerteti továbbá a keretrendszer tervezési céljait, alapfogalmait, adattípus rendszerét, karakterszabványait, valamint URI hivatkozásainak kezelését.
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 www-rdf-comments@w3.org (archive) címén; az idevágó technológiák általános vitáját pedig a www-rdf-interest@w3.org (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.
Az RDF (Resource Description Framework) egy keretrendszer a weben történő információábrázolás céljára.
Ez a dokumentum egy absztrakt szintaxist definiál, amelyre az RDF épül, és amely arra szolgál, hogy az RDF konkrét szintaxisát annak formális szemantikájához kapcsolja. Ez az absztrakt szintaxis teljesen különbözik az XML fa-struktúrán alapuló, un. "infohalmazától" [XML-INFOSET]. A dokumentum tárgyalja továbbá a tervezési célokat, az alapvető RDF fogalmakat, az adattipizálást, a karakterszabványosítást és az URI hivatkozások kezelését.
Az RDF normatív dokumentációja az alábbi területek dokumentumaiból tevődik össze:
E dokumentum megfelelő fejezeteinek címében jelezzük, ha a bennük szereplő információk normatív hatályúak. Az ilyen fejezetekben lévő kiemelt Megjegyzések azonban itt is csak informatív jellegű információkat közölnek.
A keretrendszert úgy tervezték meg, hogy a szókészletek egymásra rétegezhetőek legyenek. Az RDF és az RDF Séma [RDF-SZÓKÉSZLET] a szókészletek első rétegét alkotják. Más szókészletek (mint pl. az [OWL] szókészlet, vagy azok az alkalmazások, amelyeket az [RDF-BEVEZETÉS]) is megemlít, még fejlesztés alatt állnak.
A 2. fejezet a rendszer alapvető indokait és tervezési céljait ismerteti. Ezt követi az alapfogalmak bemutatása a 3. fejezetben, míg a 4. fejezet az RDF céljaira tartalékolt URI hivatkozásokat tárgyalja.
Az 5. fejezet az adattípusokat, ezen belül az 5.1 szekció a literális kifejezések XML tartalmát ismerteti. Az RDF absztrakt szintaxisának definíciója pedig a 6. fejezetben található.
A 7. fejezet az RDF-ben használt URI hivatkozások erőforrásrész-azonosítójának (fragment identifier) szerepével ismerteti meg az olvasót.
Az RDF-nek olyan absztrakt szintaxissal kell rendelkeznie, mely egy egyszerű, gráf alapú adatmodellt, valamint egy olyan formális szemantikát tükröz, amelyben a következmény (entailment) fogalma igen szigorúan definiált, hogy ennek alapján az RDF adatokból jól megalapozott információkat lehessen levezetni.
Az RDF fejlesztését (egyebek között) az alábbi várható alkalmazások motiválták:
Az RDF-et úgy tervezték meg, hogy alkalmas legyen a flexibilis, minimálisan korlátozó adatábrázolásra. Ennek használhatónak kell lennie tehát olyan elszigetelt alkalmazásokban is, ahol az egyedileg tervezett formátumok közvetlenebbek, és könnyebben érthetők, de ahol az RDF (az egyetemességénél fogva) megnöveli az információk értékét azáltal, hogy lehetővé teszi az adatok többcélú, megosztott felhasználását az Interneten futó különféle alkalmazások számára.
Az RDF konstrukciójának megtervezésekor az alábbi célokat tartottuk szem előtt:
Az RDF adatmodellje egyszerű, azt az alkalmazások könnyen feldolgozhatják és manipulálhatják. Az adatmodell független bármilyen specifikus szerializációs szintaxistól.
Megjegyzés: az "adatmodell" kifejezésben a "modell" szónak itt más az értelme, mint a "modell-elmélet" kifejezésben. (Az [RDF-SZEMANTIKA] dokumentum további információkat tartalmaz a modell-elméletről, ahogyan azt a matematika és a logika szakirodalmában használják).
Az RDF formális szemantikája megbízható alapot teremt egy RDF kifejezés jelentéséből történő következtetésekhez. Ezt azzal éri el, hogy egy nagyon szigorú következmény fogalmat támogat, amelynek alapján megbízható következtetési szabályok definiálhatók az RDF adatokból következő konklúziók levonására.
A szókészlet korlátlanul bővíthető, minthogy ez URI hivatkozásokra (URI references vagy URIrefs) épül, amelyek (opcionálisan) un. erőforrásrész-azonosítót (fragment Identifier-t) is tartalmazhatnak. Az RDF-ben URI hivatkozásokat használunk minden dolognak a megnevezésére.
A hivatkozások mellett, a másik típusú érték, ami az RDF adatokban megjelenik, az a literál.
Az RDF-ben van egy ajánlott XML szerializációs szintaxis: az [RDF-SZINTAXIS], mellyel alkalmazások közötti információcsere céljára kódolhatjuk az adatmodellt.
Az RDF olyan adatértékeket használ, amelyeket az XML Séma adattípusainak megfelelően ábrázolunk [lásd: XML-SCHEMA2], elősegítve ezzel az adatcserét az RDF alkalmazások és más XML alkalmazások között.
Az RDF, hogy teljes Internet szélességben megkönnyítse ezt a műveletet, egy "nyitott világ" jellegű keretet biztosít, amelyben bárki, bármelyik erőforrásról állításokat fogalmazhat meg.
Az RDF-ben általában nem feltételezzük, hogy bármelyik forrásról komplett információ áll rendelkezésre. Az RDF azt is megengedi, hogy képtelen, vagy inkonzisztens állításokat is megfogalmazzunk. Ezért nem árt, ha az RDF-et használó alkalmazások fejlesztői tudatában vannak ennek, és úgy tervezik meg az alkalmazásaikat, hogy azok tolerálni tudják a nem komplett, és nem ellentmondás-mentes információforrásokat is.
Az RDF az alábbi fogalmakat használja:
Az RDF-ben bármilyen kifejezés alapstruktúrája olyan tripletek (egyszerű kijelentő mondatok) gyűjteményéből áll, amelyek mindegyike egy alanyt (subject), egy állítmányt (predicate) és egy tárgyat (object) tartalmaz. Az ilyen tripletek halmazát RDF gráfnak nevezzük (ezt formálisabban a 6. fejezet definiálja). Ez a gráf egy csomópont-és-irányított-él típusú diagrammal ábrázolható, amelyben minden tripletet egy csomópont-él-csomópont kapcsolat reprezentál (innen a "gráf" elnevezés).
Minden triplet egy kijelentést ábrázol, amely a két csomóponttal jelölt dolog közötti viszonyt írja le. Mint fentebb említettük, minden triplet az alább definiált három részből áll:
Az él iránya szignifikáns, és ennek mindig a tárgyra kell mutatnia.
Az RDF gráf csomópontjai a gráf alanyai és tárgyai.
Egy RDF triplet azt jelenti ki, hogy az alany és a tárgy által megjelölt dolgok között az állítmány által megfogalmazott viszony áll fenn. Egy RDF gráf állítástartalmát a gráfot alkotó tripletek állításainak összessége adja, vagyis egy RDF gráf jelentése nem más, mint a benne lévő összes triplet által megfogalmazott kijelentés konjunkciója (logikai ÉS kapcsolata). Az RDF gráfok jelentésének formális definícióját az [RDF-SZEMANTIKA] fogalmazza meg.
Egy csomópont lehet egy URI egy opcionális erőforrásrész-azonosítóval (URI hivatkozás vagy URIref), lehet egy literál, vagy lehet egy üres csomópont (ez utóbbinak nincs külön azonosítási formája). A tulajdonságok (a gráf-élek) szintén lehetnek URI hivatkozások. (Az URI hivatkozási formákat a 4. fejezet [URI] szakasza mutatja be, megjegyezve, hogy relatív URI-ket nem használunk az RDF gráfban. Lásd a 6.4 szekciónál is.)
Egy URI hivatkozás, vagy egy literal, amelyet csomópontként használunk, annak a dolognak az azonosítója, amit a csomópont reprezentál. Egy olyan URI hivatkozás, amelyet állítmányként (tulajdonságként) használunk, annak a két dolognak a viszonyát azonosítja, amelyet összekapcsol. Egy állítmányként használt URI hivatkozás nemcsak élként, hanem csomópontként is előfordulhat ugyanabban a gráfban [minthogy a tulajdonságokról, magukról, is tehetünk állításokat – a ford.].
Az üres csomópont egy olyan csomópont, mely nem URI hivatkozás, és nem is literál. Az RDF absztrakt szintaxisában az üres csomópont csak egy speciális segédcsomópont, amelyet egy vagy több RDF kifejezés használ, de amelynek nincs valódi neve.
Egyes lineáris RDF gráf ábrázolásoknál használnak egy névkonvenciót az olyan azonosítatlan erőforrások megnevezésére, amelyekre egynél több RDF kifejezés hivatkozik: ez az ürescsomópont-azonosító egy helyi név, mely megkülönböztethető minden URI-től és minden literáltól. Amikor gráfokat egyesítünk, azok üres csomópontjai továbbra is megkülönböztethetők kell hogy maradjanak, ha az ilyen csomópontok jelentését meg kell őrizni; ehhez szükség lehet az azonosítójuk újra-allokálására. Jegyezzük meg azonban, hogy az ürescsomópont-azonosítók nem részei az RDF absztrakt szintaxisának, vagyis az ilyen csomópontokat tartalmazó tripletek ábrázolása teljes mértékben az alkalmazott konkrét szintaxistól függ.
Az RDF-ben adattípusokat használunk olyan értékek ábrázolására, mint egész számok, lebegőpontos számok és dátumok.
Egy adattípus egy lexikális térből, egy értéktértből, valamint egy lexikálisról értékre történő leképezésből áll (lásd az 5. fejezetben).
Például: az xsd:boolean XML Séma adattípusnak a lexikálisról értékre történő leképezése az alábbi (itt látható, hogy az értéktér értékeinek, amelyeket a T és az F (Igaz és Hamis) reprezentál, kétféle lexikális reprezentációja is van):
Értéktér | {T, F} |
---|---|
Lexikális tér | {"0", "1", "true", "false"} |
Leképezés lexikálisról, értékre | {<"true", T>, <"1", T>, <"0", F>, <"false", F>} |
Az RDF csupán egyetlen adattípust definiál előre: az rdf:XMLLiteral-t, amelyet az XML RDF-be történő beágyazása céljából használnak (lásd az 5.1 szekciót).
Az RDF-ben nincsenek olyan beépített fogalmak, mint pl. számok, dátumok, vagy más szokásos értékek. Ehelyett az RDF a rajta kívül definiált adattípusokra hagyatkozik, amelyeket URI hivatkozásokkal azonosít. Várható, hogy az XML Séma előre definiált adattípusait [XML-SCHEMA2] széles körben használják majd RDF célokra is.
Maga az RDF nem rendelkezik ugyan új adattípusok definiálására alkalmas mechanizmussal, azonban az XML Séma [XML-SCHEMA2] biztosít egy megfelelő bővítési lehetőséget olyan új adattípusok definiálására, amelyeket az RDF-ben is használni lehet.
A literálokat olyan értékek azonosítására használjuk, mint pl. számok vagy dátumok. Az azonosítás az értékek lexikális ábrázolása útján történik. Bármit, amit literállal ábrázolhatunk, akár URI hivatkozással is ábrázolhatnánk, de gyakran célszerűbb és intuitívebb egy literál használata.
Egy literál lehet egy RDF állítás tárgya, de nem lehet az alanya, és nem lehet az állítmánya.
A literálok lehetnek típus nélküliek vagy tipizáltak :
lang
) kombinált karakterlánc. Ez
nyílt szövegként használható a megadott természetes nyelven. Amint azt az
RDF formális szemantikája [RDF-SZEMANTIKA] ajánlja, ezeknek a típus
nélküli literáloknak öndefiniálóknak kell lenniük.A 3.3 szekció példáját folytatva: azok a tipizált literálok, amelyeket az xsd:boolean XML Séma adattípus segítségével definiálhatunk, a következőképpen néznek ki:
Tipizált literál | Lexikálisról értékre történő leképezés | Érték |
---|---|---|
<xsd:boolean, "true"> | <"true", T> | T |
<xsd:boolean, "1"> | <"1", T> | T |
<xsd:boolean, "false"> | <"false", F> | F |
<xsd:boolean, "0"> | <"0", F> | F |
Olyan szövegekben, amelyek jelöléseket (markup) tartalmazhatnak, rdf:XMLLiteral osztályú tipizált literálokat
használunk. Ha nyelvet kell rendelnünk a literálhoz, akkor azt explicit
jelölésként adjuk meg, tipikusan az xml:lang
attribútum
segítségével. Ezen az úton [XHTML] is beépíthető az
RDF-be, de ilyenkor néha egy további span
vagy div
elemre is szükség lehet, amelyben a lang
vagy
xml:lang
attribútumot el tudjuk helyezni.
Mind a tipizált, mind a típus nélküli literálok szövegének ajánlott karakterkódja a Unicode Normal Form C [NFC]. Ezt a döntést a [CHARMOD] motiválta, különösen annak 4. fejezete (Early Uniform Normalization).
Egy egyszerű tény valamilyen viszonyt fejez ki két dolog között. Egy ilyen tényt egy RDF triplettel fejezhetünk ki, amelyben az állítmány nevezi meg a viszonyt, az alany és a tárgy pedig a két dolgot, amelyre az állítmány vonatkozik. Egy ilyen tény ismerős ábrázolása pl. egy relációs adatbázis két oszlopból álló táblázatának egyik sora, ahol a két oszlop egy RDF triplet alanyának és tárgyának, a táblázat neve a pedig a triplet állítmányának felel meg. További, hasonló tényábrázolási forma a bináris reláció vagy a kétváltozós predikátumfüggvény az elsőrendű logikában.
A relációs adatbázisok megengedik, hogy a táblázatuknak tetszőleges számú oszlopa legyen. A táblázat egy sora ebben az esetben olyan információt reprezentál, mely az elsőrendű logikában egy n-áris relációnak, vagy többváltozós predikátumfüggvénynek felel meg. Egy ilyen sort, vagy predikátumfüggvényt természetesen dekomponálni szükséges ahhoz, hogy RDF tripletekkel ábrázolhassuk. Ennek legegyszerűbb módja az, hogy bevezetünk egy új, üres csomópontot, mely a sornak felel meg, és egy-egy tripletet adunk meg a sor minden cellája számára. Ily módon minden triplet alanya megfelel az üres csomópontnak, az állítmánya a megfelelő oszlop nevének, a tárgya pedig a cellában lévő értéknek. Az üres csomópontnak lehetne egy rdf:type tulajdonsága is, mely a táblázat nevének felelne meg.
Példaképpen vizsgáljuk meg az [RDF-BEVEZETÉS] 6. ábráját:
Az így ábrázolt információ megfelelne mondjuk egy "ALKALMAZOTTAK CÍMEI" táblázat egyik sorának, ahol az elsődleges kulcs az "ALKALMAZOTTAZONOSÍTÓ" (az ábrán: staffid), a további oszlopok pedig a VÁROS, az UTCA, az ÁLLAM és az IRÁNYÍTÓSZÁM (az ábrán: city, street, state és postalCode).
Láthatjuk tehát, hogy egy összetettebb tényt tudtunk ábrázolni az RDF-ben azáltal, hogy konjunkcióba (logikai ÉS kapcsolatba) hoztuk az egyszerű bináris viszonyokat. Megjegyzendő azonban, hogy az RDF nem teszi lehetővé a diszjunkció (VAGY kapcsolat) és a negáció (NEM) kifejezését.
Bővíthető, URI alapú szókészleténél fogva az RDF lehetővé teszi, hogy segítségével tényeket fogalmazzunk meg tetszőleges alanyokról; vagyis, hogy névvel azonosított tulajdonságot jelentsünk ki meghatározott, és szintén névvel azonosított dolgokról. Minthogy konstruálhatunk URI alapú azonosítót bármilyen megnevezhető dolog számára, ezért az RDF-ben minden elképzelhető dologról megfogalmazhatunk tényállításokat.
A jelentésről és a következtetésről alkotott elképzeléseket az RDF-ben a következmény formális koncepciója támasztja alá, amelyet az [RDF-SZEMANTIKA] kimerítően ismertet. Ennek lényege röviden: egy A RDF kifejezésnek akkor, és csak akkor következménye egy B RDF kifejezés, ha a világ dolgainak minden lehetséges elrendezése, mely igazzá teszi A-t, egyben igazzá teszi B-t is. Ezen az alapon, ha A igaz volta belátható vagy bizonyítható, akkor ebből B igazsága következik.
Az RDF URI hivatkozásokat használ az erőforrások és tulajdonságok azonosítására. Egyes URI hivatkozásoknak speciális jelentést tulajdonít az RDF. Például az alábbi karakterlánccal kezdődő URI hivatkozásokat az RDF specifikáció definiálja:
Ha ezt az URI előtét-karakterláncot az RDF/XML szerializációban használjuk, az mindig olyan XML névtér-neveknek [XML-NS] felel meg, amelyek az RDF szókészlet kifejezéseihez asszociálódnak.
Megjegyzés: Ez a névtér-név ugyanaz, mint amelyet a korábbi RDF ajánlásban [RDF-MS] használtak.
Az rdf: névtérben lévő szókészlet kifejezéseit
az RDF szintaxis-specifikáció [RDF-SZNTAXIS] 5.1
szekciója sorolja fel. Az RDF specifikációk e kifejezések közül néhányat
specifikus RDF fogalmak megnevezésére definiáltak, míg mások szintaktikai
célokat szolgálnak (pl. az rdf:ID
az RDF/XML szintaxis
része).
Az RDF-ben használt adattípus-absztrakció kompatibilis az XML Séma 2. részének [XML-SCHEMA2] adattípusainál használt absztrakcióval.
Egy adattípus egy lexikális térből, egy értéktérből, és egy lexikálisról értékre történő leképezésből áll.
Egy adattípus lexikális tere Unicode [UNICODE] karakterláncok halmaza.
Egy adattípus lexikálisról értékre történő leképezése olyan párok halmaza, amelyek első eleme az adattípus lexikális teréhez, a második pedig az értékteréhez tartozik:
Egy adattípus azonosítható egy vagy több URI hivatkozással.
Az RDF jól működik bármilyen adattípus-definícióval, amely megfelel ennek az absztrakciónak, akkor is, ha azt nem az XML Séma szerint definiálták.
Az XML Séma néhány beépített adattípusa viszont nem alkalmas az RDF-ben (adatként) történő használatra. Például a QName (minősített név) adattípus elvárja, hogy a névtérdeklaráció szkópban legyen (azaz a QName adattípust használó kontextus látókörén belül legyen) a leképezés során, ezért a használata nem ajánlott az RDF-ben. Az [RDF-SZEMANTIKA] az XML Séma specifikus beépített adattípusainak részletesebb kifejtését tartalmazza.
Megjegyzés: Amikor egy adattípust az XML Séma segítségével deklarálunk:
union
adattípus, olyan lexikális leképezéssel,
amelyik a union
-t alkotó adattípusok egyikéhez
asszociálódik.whiteSpace
adattípus módosító elem értékének megfelelően. Az RDF
adattipizálásánál használt, lexikálisról értékre történő leképezés csak
ez után történik meg, s így a whiteSpace
adattípus módosító
elem már nincs hatással az RDF adattipizálására.Az RDF lehetővé teszi XML tartalom beépítését egy megfelelő literális érték formájában. Ezt a lehetőséget tipikusan az RDF/XML szintaxis [RDF-SZNTAXIS] rdf:parseType="Literal" konstrukciójának a használata teremti meg.
Az efféle tartalmat úgy jelöljük az RDF gráfban, hogy egy olyan tipizált literált használunk, amelynek az adattípusa egy speciális, beépített adattípus, az rdf:XMLLiteral, amely a következőképpen van definiálva:
Megjegyzés: Ennek az adattípusnak nem minden értéke felel meg az [XML 1.1] szabványnak. Ha egy ilyen megfelelés kívánatos, akkor csak azok az értékek használhatók, amelyek teljesen normalizáltak az XML 1.1 szabályai szerint.
Megjegyzés: Itt az XML értékek halmaza úgy képzelhető el, mint az [XML-INFOSET] halmaz, vagy az [XPATH] csomópont-halmaz, amelyet egy megfelelő egyenlőségi függvénnyel megfeleltetünk a lexikális formának.
Megjegyzés: Az RDF alkalmazások
használhatnak további egyenértékűségi relációkat is, pl. olyanokat, amelyek
egy xsd:string
adattípust egy rdf:XMLLiteral
adattípusnak feleltetnek meg,
amelynek eredménye az adott karakterlánccal azonos egyetlen szövegcsomópont
lesz.
Ez a fejezet az RDF absztrakt szintaxisát definiálja, mely lényegében tripletek egy halmaza, amelyet RDF gráfnak nevezünk.
Ez a fejezet, egyebek mellett, az RDF gráfok közötti egyenértékűséget is definiálja. Az egyenértékűség definíciója az RDF tesztsorozat [RDF-TESZTEK] specifikációjának támogatásához szükséges.
Implementációs megjegyzés: Ez az absztrakt szintaxis egy olyan szintaxis, amelyen keresztül a formális szemantikát definiáljuk. Az implementációk ábrázolhatják a gráfokat bármilyen más, ezzel egyenértékű formában is. Például: egy RDF gráfban az rdf:XMLLiteral típusú literálok ábrázolhatók nem kanonikus formátumban is, mely esetben a kanonikussá alakítás két ilyen literál összehasonlítása során történik meg. Ez az összehasonlítás végrehajtható akár a szintaktikai struktúrák között, akár az adott tématerületen belüli elnevezéseik között. Azok az implementációk, amelyek semmi efféle összehasonlítást nem igényelnek, ezen az alapon jól optimalizálhatók.
Egy RDF triplet három komponensből áll:
Az RDF tripletet konvencionálisan alany, állítmány, tárgy sorrendben írjuk.
Az állítmányt a triplet tulajdonságának is nevezzük.
Az RDF gráf tripletek egy halmaza.
Egy RDF gráf csomópontjainak halmazát a gráf tripletjeinek alanyai és tárgyai alkotják.
Két RDF gráf, G és G', akkor egyenértékű, ha egy olyan, M bijektív leképezés áll fenn a két gráf csomópontjainak halmazai között, ahol:
Ebben a definícióban az M bijektív leképezés megmutatja, hogy hogyan lehet a G-ben lévő minden egyes üres csomópontot helyettesíteni egy új üres csomóponttal, hogy G'-t kapjuk eredményül.
Az RDF gráfban egy URI hivatkozás (amelyet RDF URI hivatkozásnak nevezünk), egy olyan [UNICODE] karakterlánc, amely:
a kódolás:
Az ilyen tiltott és átugrott karakterek közé tartoznak az US-ASCII karakterkészlethez nem tartozó, tiltott karakterek mellett azok a kihagyandó karakterek is, amelyeket az [URI] dokumentum 2.4 szekciója felsorol, kivéve a (#) és (%) karaktereket, valamint a szögletes zárójel karaktereket, amelyeket újraengedélyezett az [RFC-2732].
A nem engedélyezett oktetteket az URI karakter átugró mechanizmusával kell kódolni, ami úgy történik, hogy ezeket %HH formára konvertáljuk, ahol HH az oktett értékének megfelelő kétjegyű hexadecimális szám.
Két RDF URI hivatkozás akkor, és csak akkor egyenlő, ha Unicode karakterláncként, karakterről karakterre összehasonlítva egyenlőeknek bizonyulnak.
Megjegyzés: Az RDF URI hivatkozásai kompatibilisek az anyURI adattípussal, ahogyan azt az XML schema adattípus [XML-SCHEMA2] definiálja, de a helyi hivatkozások helyett az abszolút URI hivatkozásokra korlátozva.
Megjegyzés: Az RDF URI hivatkozások kompatibilisek a Nemzetköziesített forrásazonosítóval (Internationalized Resource Identifier, vagy IRI) amelyet az XML névterek specifikációja, az [XML Namespaces 1.1] definiál.
Megjegyzés: Ez a szekció egy majdani RFC-t anticipál a Nemzetköziesített forrásazonosítóról. Az RDF implementációk figyelmeztető üzeneteket írhatnak ki az olyan RDF URI hivatkozások használata esetén, amelyek nem felelnek meg az IRI tervezetnek [IRI draft], vagy e tervezet későbbi utódjainak.
Megjegyzés: Az abszolút URI hivatkozásokra történő korlátozás megtalálható az RDF absztrakt szintaxisában. Amikor már létezik egy jól definiált bázis-URI, akkor az olyan konkrét szintaxisok, mint az RDF/XML, engedélyezhetik a relatív URI-k használatát az abszolút URI hivatkozások rövidítéseiként.
Megjegyzés: Mivel fennáll az összetévesztés kockázata két olyan RDF URI, esetén, amelyik konkrét forrásra történő hivatkozás (dereferencing) esetén egyenértékűnek bizonyulna, a %-jellel átugratott karakterkódok használata erősen ellenjavallt. (Lásd ehhez az URI-k egyenértékűségének problémakörét (URI equivalence issue), amelyet a Műszaki Architektúra Csoport (Technical Architecture Group [TAG]) kezel.
Egy RDF gráfban egy literál egy vagy két nevesített komponenst tartalmaz.
Minden literálnak van egy lexikális formája, mely egy [UNICODE] karakterlánc, Normal Form C [NFC] kódolással.
A típus nélküli literáloknak van egy lexikális formájuk és egy opcionális nyelv tegjük, ahogyan azt az [RFC-3066] ajánlja, és amelyet kisbetűkre normalizálunk.
A tipizált literáloknak van egy lexikális formájuk, és egy adattípus URI-jük, mely egy RDF URI hivatkozás.
Megjegyzés: Használhatók az olyan literálok is, amelyek lexikális formája egy összetett karakterrel [pl. C-Cedilla] kezdődik (ahogyan azt a [CHARMOD] szabályozza), ezek azonban együttműködési problémákhoz vezethetnek, különösen az [XML 1.1] szabványt követő XML alkalmazásokkal történő adatcsere esetén.
Megjegyzés: Amikor a nyelv-teget használjuk, ügyelnünk kell arra, hogy ne tévesszük össze a "nyelv" fogalmát a "helyi konvenciók" (locale) fogalmával. A nyelv-teg kizárólag a természetes nyelvű szövegre vonatkozik. Megjelenítési kérdésekkel csak a végfelhasználói alkalmazásokban szükséges foglalkozni.
Megjegyzés: A nyelv-tegek kisbetű/nagybetű normalizációja azonban már része az absztrakt szintaxis leírásának, és ezáltal az RDF alkalmazások absztrakt viselkedésének is. Lényeges tehát, hogy bármely két nyelv-teg összehasonlítása se legyen érzékeny az eredeti input kisbetű/nagybetű különbségeire.
Két literál akkor, és csak akkor egyenlő, ha velük kapcsolatban az alábbi állítások hiánytalanul igazak:
Megjegyzés: Az RDF literálok különböznek, és megkülönböztethetők az URI hivatkozásoktól; például: a http://example.org mint (típus és nyelv teg nélküli) RDF Literal nem egyenlő a http://example.org-gal mint RDF URI hivatkozással.
Az adattípus URI-k adattípusokra hivatkoznak. Az XML Séma beépített adattípusaira olyan URI-kkel hivatkozunk, mint pl: http://www.w3.org/2001/XMLSchema#int. Az rdf:XMLLiteral adattípus URI-je szintén használható adattípusként. Használhatók még egyéb, implementációtól függő mechanizmusok is, amelyekben szintén URI-k hivatkoznak adattípusokra.
A tipizált literál értékét úgy kapjuk meg, hogy a literál lexikális formájára alkalmazzuk az adattípusának URI-jéhez asszociált, lexikálisról értékre történő leképezést.
Ha a lexikális forma nincs benne annak az adattípusnak a lexikális terében, amelyre a literál adattípus URI-je hivatkozik, akkor nem kapcsolható érték a tipizált literálhoz. Noha ez egy hiba, ilyen esetben mégsem beszélünk szintaktikailag rosszul formált dokumentumról.
Megjegyzés: Alkalmazási környezetben a tipizált literálok értékének összehasonlítása (lásd a 6.5.2 szekciónál) általában célravezetőbb, mint a szintaktikai formájuk összehasonlítása (lásd a 6.5.1 szekciónál). Ugyanígy, az RDF gráfok összehasonlításánál, azok szemantikai következményeinek összehasonlítása (lásd [RDF-SZEMANTIKA]) többnyire célravezetőbb, mint a szintaktikai egyenlőségük kimutatása (lásd a 6.3 szekciónál).
Egy RDF gráfban az üres csomópontokat egy végtelen halmazból nyerjük. Az üres csomópontoknak ez a halmaza, továbbá az összes RDF URI hivatkozás halmaza, valamint az összes literál halmaza páronként diszjunkt halmazokat alkotnak.
Egyéb tekintetben az üres csomópontoknak ez a halmaza tetszőleges.
Az RDF nem hivatkozik az üres csomópontok semmilyen belső struktúrájára. Két üres csomópontról mindig eldönthető, hogy azonosak-e, vagy sem.
Az RDF olyan RDF URI hivatkozást használ, mely egy erőforrás kontextusfüggetlen azonosítójaként magában foglalhat egy erőforrásrész-azonosítót. Ugyanakkor az RFC 2396 [URI] kimondja, hogy egy okumentumrész-azonosító jelentése a dokumentum MIME tartalomtípusától függ, vagyis kontextusfüggő.
Ezek az ellentmondónak tűnő nézetek kibékíthetők, ha meggondoljuk, hogy egy RDF gráfban szereplő URI hivatkozást az application/rdf+xml MIME típus szerint kezelünk [RDF-MIME-TYPE]. Ha tehát adott egy RDF URI hivatkozás, mely egy abszolút URI-ből és egy erőforrásrész-azonosítóból áll, akkor az erőforrásrész-azonosító ugyanazt a dolgot azonosítja, mint amit az az abszolút URI komponens, mely egy application/rdf+xml ábrázolású erőforrásra mutat. Így tehát:
Ez lehetővé teszi, hogy oly módon használjuk az URI hivatkozásokat, és ezek jelentéseit, hogy az megfeleljen az RDF modell-elméletének és alkalmazásának, de megfeleljen a Web hagyományos viselkedésének is. Jegyezzük meg tehát, hogy az RDF (mint nyelv) szempontjából nem követelmény az, hogy egy RDF alkalmazás konkrétan el is tudja érni a gráfjában szereplő URI hivatkozásokkal azonosított erőforrások bármilyen reprezentációját.
Ez a dokumentum Pat Hayes, Sergey Melnik és Patrick Stickler jelentős hozzájárulásával készült. Az ő irányításukkal fejlesztették ki azt a keretet, amelyet az olyan adattípusokról szóló RDF specifikációcsalád ír le, mint az egész számok és a dátumok.
A szerkesztők köszönetet mondanak az értékes hozzájárulásukért az alábbi munkatársaknak: Frank Manola, Pat Hayes, Dan Brickley, Jos de Roo, Dave Beckett, Patrick Stickler, Peter F. Patel-Schneider, Jerome Euzenat, Massimo Marchiori, Tim Berners-Lee, Dave Reynolds és Dan Connolly.
Jeremy Carroll ezúton szeretné köszönetét kifejezni Oreste Signore úrnak, aki vendéglátója volt a W3C Olasz Irodájánál, valamint az Allessandro Fedo Információtudományi és Információtechnológiai Intézetnél (Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo"), mely az olasz nemzeti kutatási tanács (Consiglio Nazionale delle Ricerche) része, és ahol Jeremy vendégkutatóként dolgozik.
Ez a dokumentum az RDF Mag Munkacsoport bölcs és kitartó együttgondolkodásának eredménye. E csoport tagjai: Art Barstow (W3C), Dave Beckett (ILRT), Dan Brickley (ILRT), Dan Connolly (W3C), Jeremy Carroll (Hewlett Packard), Ron Daniel (Interwoven Inc), Bill dehOra (InterX), Jos De Roo (AGFA), Jan Grant (ILRT), Graham Klyne (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) és Martyn Horner (Profium Ltd).
Ez a specifikáció épít továbbá egy korábbi RDF modell és szintaxis dokumentumra, amelyet Ora Lassilla és Ralph Swick szerkesztettek, valamint egy RDF séma dokumentumra is, amelynek a szerkesztői Dan Brickley és R. V. Guha voltak. Azok az RDF és RDF Séma Munkacsoport-tagok, akik rész vettek ezeknek a korábbi dokumentumoknak a kidolgozásában, a következők: 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), R. V. 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), i 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.) és Lauren Wood (SoftQuad).
application/rdf+xml
is archived at
http://www.w3.org/2001/sw/RDFCore/mediatype-registration .Nem voltak lényeges változtatások.
Az alábbi szerkesztői változtatásokat hajtották végre az anyagon: