Az RDF Szókészlet Leíró Nyelv 1.0: RDF Séma

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

Az eredeti dokumentum:
RDF Vocabulary Description Language 1.0: RDF Schema
http://www.w3.org/TR/2004/REC-rdf-schema-20040210/
A lefordított dokumentum:
http://www.w3c.hu/forditasok/RDF/REC-rdf-schema-20040210.html
Magyar fordítás (Hungarian translation):
Pataki, Ernő 2005 (pataki.erno@w3c.hu)
A fordítás státusa:
Kézirat. Lezárva: 2005.03.12.
Utoljára módosítva: 2005.04.25.
Ez a fordítás a W3C engedélyével, a fordításokra előírt formai szabályok szerint, lelkiismeretes szakfordítói munkával készült. Ennek ellenére nem lehet kizárni, hogy hibák maradtak a fordításban. Emellett a magyar fordítás nem is követi feltétlenül az eredeti angol nyelvű dokumentumon végrehajtott jövőbeli változtatásokat. Ezért a fordítás nem tekinthető normatív W3C dokumentumnak. A dokumentum normatív, mindenkori legújabb, hivatalos, angol nyelvű változatát lásd a W3C megfelelő weblapján: http://www.w3.org/TR/rdf-schema/
Megjegyzések a fordításhoz:
1.) A fordítással kapcsolatos olvasói észrevételeket a fordító e-mail címére kérjük.
2.) A fordító a saját megjegyzéseit feltűnően elkülöníti a dokumentum szövegében.
3.) A fordítással kapcsolatos további információkat, valamint a terminológiai kérdések diszkusszióját lásd a Köszönetnyilvánítás és megjegyzések a magyar fordításhoz c. mellékletben.
4.) A W3C Magyar Irodája a lehetőségek szerint lefordíttatja az OWL-ra és az RDF-re vonatkozó W3C ajánlások legtöbb dokumentumát. Ha tehát egy lefordított dokumentumból olyan OWL vagy RDF dokumentumra történik hipertext-hivatkozás, mely magyar változatban is rendelkezésre áll, akkor a megfelelő link általában a magyar változatra mutat. A kivételt azok a hivatkozások képezik, amelyeknek a W3C szándékai szerint mindenképpen az eredeti dokumentumra kell mutatniuk.

W3C

Az RDF Szókészlet Leíró Nyelv 1.0: RDF Séma

W3C Ajánlás, 2004. Február 10.

Jelen verzió (angol eredeti):
http://www.w3.org/TR/2004/REC-rdf-schema-20040210/
Legutolsó verzió (angol eredeti):
http://www.w3.org/TR/rdf-schema/
Előző verzió (angol eredeti):
http://www.w3.org/TR/2003/PR-rdf-schema-20031215/
Szerkesztők:
Dan Brickley, W3C <danbri@w3.org>
R.V. Guha, IBM <rguha@us.ibm.com>
Sorozatszerkesztő:
Brian McBride (Hewlett Packard Labs) <bwm@hplb.hpl.hp.com>
Köszönetnyilvánítás

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.


Absztrakt

Az Erőforrás Leíró Keretrendszer (Resource Description Framework – RDF) egy általános adatleíró nyelv a weben történő információábrázolás céljára. Ez a specifikáció azt mutatja be, hogy miként használjuk az RDF-et RDF szókészletek leírására. Erre a célra a specifikáció definiál egy saját, beépített szókészletet, de emellett definiál egy másik beépített szókészletet is, amely eredetileg az "RDF modell és szintaxis specifikáció" (RDF Model and Syntax Specification) dokumentumban szerepelt.

A dokumentum státusa

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 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 munkaanyaga óta a jelen Ajánlás megszületéséig a dokumentumon végrehajtott módosításokat a változtatási napló.

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.

Tartalomjegyzék

1. Bevezetés
2. Osztályok
    2.1 rdfs:Resource (Erőforrás)
    2.2 rdfs:Class (Osztály)
    2.3 rdfs:Literal (Literál)
    2.4 rdfs:Datatype (Adattípus)
    2.5 rdf:XMLLiteral (XML-literál)
    2.6 rdf:Property (Tulajdonság)
3. Tulajdonságok
    3.1 rdfs:range ("értéktartománya")
    3.2 rdfs:domain ("érvényességi köre")
    3.3 rdf:type ("típusa")
    3.4 rdfs:subClassOf ("alosztálya ~nak")
    3.5 rdfs:subPropertyOf ("altulajdonsága ~nak")
    3.6 rdfs:label ("címkéje")
    3.7 rdfs:comment ("kommentárja")
4. Az érvényességi kör- és értéktartomány-korlátozó szókészlet
használata (Informatív)

5. Az egyéb szókészletek
    5.1 Konténerosztályok és tulajdonságok
       5.1.1 rdfs:Container (Konténer)
       5.1.2 rdf:Bag (Zsák)
       5.1.3 rdf:Seq (Sorozat)
       5.1.4 rdf:Alt (Alternatíva-csoport)
       5.1.5 rdfs:ContainerMembershipProperty (Konténertagság-tulajdonság)
       5.1.6 rdfs:member ("tag")

    5.2 RDF Kollekciók
       5.2.1 rdf:List (Lista)
       5.2.2 rdf:first ("első eleme")
       5.2.3 rdf:rest ("maradék része")
       5.2.4 rdf:nil (üres lista)
    5.3 A tárgyiasító szókészlet
       5.3.1 rdf:Statement (Kijelentés)
       5.3.2 rdf:subject ("alanya")
       5.3.3 rdf:predicate ("állítmánya")
       5.3.4 rdf:object ("tárgya")
    5.4 Kisegítő tulajdonságok
       5.4.1 rdfs:seeAlso ("lásd továbbá")
       5.4.2 rdfs:isDefinedBy ("definiálja")
       5.4.3 rdf:value ("értéke")
6. Az RDF Séma összefoglalása (Informatív)
    6.1 RDF osztályok
    6.2 RDF tulajdonságok
7. A hivatkozások listája
    7.1 Normatív hivatkozások
    7.2 Informatív hivatkozások
8. Köszönetnyilvánítás
A. függelék: Az RDF Séma RDF/XML-ben


1. Bevezetés

Az Erőforrás Leíró Keretrendszer (Resource Description Framework – RDF) egy általános adatleíró nyelv a weben történő információábrázolás céljára.

Ez a specifikáció annak a dokumentumcsoportnak a része, mely az RDF specifikációját alkotja (a többi dokumentum közvetve elérhető az [RDF-BEVEZETÉS] az [RDF-SZINTAXIS], az [RDF-FOGALMAK], az [RDF-SZEMANTIKA], és az [RDF-TESZTEK] hiperlinkeken keresztül). A jelen specifikáció használatának informatív bemutatását és példákkal történő illusztrációját az olvasó megtalálhatja az [RDF-BEVEZETÉS] dokumentum RDF séma fejezetében.

Ez a specifikáció az RDF Sémát, az RDF szókészlet-leíró nyelvét ismerteti. Ezt több társdokumentum egészíti ki, amelyek ismertetik az RDF XML-ben történő kódolását [RDF-SZINTAXIS], az RDF matematikai alapjait [RDF-SZEMANTIKA], valamint alapfogalmait és absztrakt szintaxisát [RDF-FOGALMAK]. Az RDF bevezető tankönyve [RDF-BEVEZETÉS] pedig informális bevezetéssel és példákkal segíti az olvasót a jelen dokumentumban specifikált fogalmak megértésében.

Ez dokumentum az RDF szókészlet-leíró nyelv közérthető ismertetését nyújtja azok számára, akik a nyelv formális szemantikai specifikációját [lásd: RDF-SZEMANTIKA] esetleg ijesztőnek találják. Ez a dokumentum tehát lényegében duplikálja az RDF szemantikai specifikációjának anyagát. Azokon a pontokon, ahol a két specifikáció esetleg eltér egymástól, mindig az RDF Szemantikát kell irányadónak tekinteni.

Az RDF tulajdonságokat az erőforrások attribútumainak tekinthetjük, és ebben az értelemben ezek megfelelnek a hagyományos attribútum-érték pároknak. Emellett az RDF tulajdonságok az erőforrások közötti viszonyokat is ábrázolhatják.

Az RDF azonban nem bocsát rendelkezésünkre mechanizmusokat sem az ilyen attribútumok, sem az ilyen viszonyok ábrázolására. Ez már az RDF szókészlet-leíró nyelv, az RDF Séma feladata. Az RDF Séma beépített osztályokat és tulajdonságokat definiál, amelyek azután további (felhasználói leíró) osztályok, tulajdonságok és egyéb erőforrások definiálására használhatók.

Ez a dokumentum nem specifikál szókészletet az efféle felhasználói leíró tulajdonságokból, mint pl. a "szerzője" (könyvek leírásánál). Ehelyett olyan mechanizmusokat specifikál, amelyekkel megnevezhetjük és leírhatjuk az erőforrások tulajdonságait és osztályait.

Az RDF szókészlet-leíró nyelve, az RDF Séma, nem más mint az RDF szemantikai bővítménye (ahogyan azt az [RDF-SZEMANTIKA] definiálja). Ez a nyelv olyan mechanizmusokat specifikál, amelyekkel leírhatjuk az egymással kapcsolatban álló erőforrások csoportjait, és az ilyen erőforrások közötti viszonyokat. Az RDF Séma szókészleteket RDF-ben írjuk, azokkal a kifejezésekkel, amelyeket ebben a dokumentumban ismertetünk. Ezekkel a kifejezésekkel meghatározhatjuk bármilyen erőforrás jellemzőit, pl. egy tulajdonság érvényességi körét és értéktartományát is.

Az RDF szókészlet-leíró nyelv osztály- és tulajdonságfogalma némileg hasonló az olyan objektumorientált programozási nyelvek típus-rendszeréhez, mint pl. a Java. Az RDF abban különbözik sok ilyen rendszertől, hogy ahelyett, hogy az osztályokat definiálná azokkal a tulajdonságokkal, amelyek az egyedeit jellemzik, inkább a tulajdonságokat definiálja azokkal az erőforrás-osztályokkal, amelyekre ezek a tulajdonságok vonatkoznak. A jelen specifikációban leírt érvényességi kör és értéktartomány mechanizmusoknak éppen ez a szerepe. Például definiálhatnánk a "szerzője" (eg:author) tulajdonságot úgy, hogy annak érvényességi köre a Dokumentum (eg:Document), értéktartománya pedig a Személy (eg:Person) osztály lenne. Ugyanakkor, egy klasszikus objektumorientált rendszerben tipikusan egy Könyv (eg:Book) osztályt definiálnánk, egy olyan attribútummal, mint "szerzője" (eg:author), amelynek a típusa Személy (eg:Person). Ha az RDF módszerét használjuk, később, bárki könnyen definiálhat további tulajdonságokat, pl. ilyen érvényességi körrel, mint eg:Document, vagy ilyen értéktartománnyal, mint eg:Person. Ezt megtehetjük anélkül, hogy újradefiniálnánk ezeknek az osztályoknak az eredeti definícióját. Az RDF tulajdonság-centrikus közelítésének az egyik előnye az, hogy bárki számára lehetővé teszi egy erőforrás leírásának a bővítését – s ez nem más, mint a Web egyik architekturális alapelve [BERNERS-LEE98].

Ez a specifikáció nem próbálja meg felsorolni a szókészlet-leírások összes lehetséges formáját, amelyek hasznosak az RDF osztályok és tulajdonságok jelentésének ábrázolásában. Az RDF szókészlet-leíró stratégiája ugyanis annak elismerésén alapszik, hogy sokféle technika lehetséges, amellyel az osztályok és tulajdonságok jelentése leírható. A gazdagabb szókészlet- vagy ontológia-leíró nyelvek (mint pl. a DAML+OIL, vagy a W3C [OWL] nyelv), vagy a következtetési szabály-leíró nyelvek és más formalizmusok (pl. temporális logikák) mindegyike hozzásegíthet bennünket ahhoz, hogy értelmes általánosításokat fogalmazhassunk meg a weben tárolt adatokról. Az RDF szókészletek tervezői már az RDF szókészlet-leíró nyelv 1.0 verziójának az eszköztárával is készíthetnek és indíthatnak Szemantikus Web alkalmazásokat, de közben kutathatják az olyan gazdagabb leíró nyelvek lehetőségeit is, amelyeknek az RDF-ével közös az általános közelítésük.

Az a nyelv, amelyet ebben a specifikációban definiálunk, olyan RDF erőforrások gyűjteményéből áll, amelyekkel az alkalmazás-specifikus szókészletekben leírhatjuk más erőforrások tulajdonságait (ilyen leírható erőforrások maguk a tulajdonságok is). A központi szókészletet egy olyan névtérben definiáljuk, amelyet informálisan csak 'rdfs' névtérnek hívunk. Ezt a névteret a http://www.w3.org/2000/01/rdf-schema# URI hivatkozással azonosítjuk, és az rdfs:prefixet asszociáljuk hozzá. Ez a specifikáció használja az rdf: névtér-prefixet is a http://www.w3.org/1999/02/22-rdf-syntax-ns# RDF névtérre történő hivatkozásra.

Az egyszerűség és az olvashatóság érdekében ez a specifikáció az URI hivatkozások rövidített formáját használja. Ezeket a prefix:suffix formátumban megadott rövidített hivatkozásokat olyan teljes URI hivatkozásokként kell értelmezni, ahol a prefixhez asszociált URI karakterláncának a végéhez toldjuk a suffix karakterláncát.

2. Osztályok

Az erőforrások csoportokra oszthatók, amelyeket osztályoknak hívunk. Az osztály tagjait az osztály egyedeinek vagy példányainak nevezzük. Az osztályok maguk is lehetnek erőforrások. Ezeket RDF URI hivatkozásokkal azonosítjuk, és RDF tulajdonságok segítségével írjuk le. Az rdf:type tulajdonságot használhatjuk annak deklarálására, hogy egy erőforrás melyik osztálynak (RDF "típusnak") az egyede.

Az RDF megkülönbözteti az osztály fogalmát az egyedeiből álló halmaz fogalmától. Minden osztályhoz egyedek egy halmaza tartozik, amelyet az osztály kiterjedésének (extension) nevezünk. Két osztálynak lehet azonos az egyedhalmaza, ezek mégis lehetnek különböző osztályok. Például az adóhivatal osztályként definiálhatja azoknak az embereknek a csoportját, akik mondjuk e dokumentum szerkesztőjével azonos területen laknak. A postahivatal pedig definiálhat egy másik osztályt, mely olyan embereket csoportosít, akiknek az irányítószáma azonos e dokumentum szerzőjének az irányítószámával. Könnyen előfordulhat, hogy ennek a két osztálynak azonosak a tagjai, és mégis lehetnek eltérő tulajdonságaik. Minimum abban a tulajdonságában eltérő a két osztály, hogy az egyiket az adóhivatalban, a másikat pedig a postahivatalban definiálták, tehát fogalmilag (azaz intenzionális értelemben) különböző osztályokról van szó (amelyeknek az azonosítója is különböző).

Egy osztály lehet tagja a saját osztálykiterjedésének (extenzionálisan értelmezett tagság), és lehet egyede is sajátmagának (intenzionálisan értelmezett tagság).

Az erőforrásoknak az csoportja, amely az RDF Séma osztályaiból áll, maga is egy osztály, amelynek a neve rdfs:Class.

Ha egy C osztály alosztálya egy C' osztálynak, akkor C minden egyede C'-nek is egyede. Az rdfs:subClassOf tulajdonságot használhatjuk annak kijelentésére, hogy egyik osztály egy másiknak az alosztálya. A főosztály kifejezést az alosztály inverzének tekintjük. Ha most úgy fogalmazunk, hogy a C' osztály főosztálya a C osztálynak, akkor is igaz marad, hogy C minden egyede C'-nek is egyede.

Az RDF alapfogalmai és absztrakt szintaxisa című specifikáció [RDF-FOGALMAK] definiál egy olyan fogalmat, hogy RDF adattípus (RDF datatype). Az adattípusok is osztályok. Egy adattípus-osztály egyedei az adattípus értékterének a tagjai.

2.1 rdfs:Resource (Erőforrás)

Minden, ami RDF-fel leírható, erőforrásnak (resource) tekinthető, és minden erőforrás az rdfs:Resource tagja. Ez tehát a "minden dolgok" osztálya. Minden más osztály alosztálya ennek az osztálynak. Maga az rdfs:Resource pedig az rdfs:Class (RDF nyelvtani osztály) egyede.

2.2 rdfs:Class (Osztály)

Ez azon erőforrások osztálya, amelyek RDF osztályok. Az rdfs:Class maga is az rdfs:Class egyede.

2.3 rdfs:Literal (Literál)

Az rdfs:Literal osztály a literális (tehát betű szerint kiírt, és nem névvel hivatkozott) értékek osztálya, amelynek tagjai karakterláncok vagy számértékek stb. Példa lehet az RDF literálra a tulajdonságok szöveges (karakterlánccal megadott) értéke. A literálok lehetnek típusnélküliek és tipizáltak. A tipizált literál az Adattípus (Datatype) osztály egyede. Ez a specifikáció nem definiálja a típus nélküli literálok osztályát.

Az rdfs:Literal az rdfs:Class osztály tagja, és az rdfs:Resource osztály alosztálya.

2.4 rdfs:Datatype (Adattípus)

Az rdfs:Datatype az adattípusok osztálya. Ennek az osztálynak minden egyede megfelel az adattípusok RDF modelljének, amit az [RDF-FOGALMAK] dokumentum specifikál. Az rdfs:Datatype egyede is és alosztálya is az rdfs:Class osztálynak. Az rdfs:Datatype az rdfs:Literal alosztálya.

2.5 rdf:XMLLiteral (XML-literál)

Az rdf:XMLLiteral osztály az XML-literál értékek osztálya. Az rdf:XMLLiteral az rdfs:Datatype egyede, és az rdfs:Literal alosztálya.

2.6 rdf:Property (Tulajdonság)

Az rdf:Property az RDF tulajdonságok osztálya, és az rdfs:Class egyede.

3. Tulajdonságok

"Az RDF alapfogalmai és absztrakt szintaxisa" című specifikáció [RDF-FOGALMAK] úgy írja le az RDF tulajdonság fogalmát, mint kapcsolatot (viszonyt) egy alany szerepű erőforrás és egy tárgy szerepű erőforrás között.

Ez a specifikáció definiálja az altulajdonság (subproperty) fogalmát. Az RDF Séma rdfs:subPropertyOf ("altulajdonsága ~nak") tulajdonságát annak kijelentésére használhatjuk, hogy egyik tulajdonság altulajdonsága egy másiknak. Ha a P tulajdonság altulajdonsága a P' tulajdonságnak, akkor az összes olyan alany-tárgy erőforrás-párt, amelyet a P tulajdonság kapcsol egymáshoz, a P' tulajdonság is egymáshoz kapcsolja. Néha használjuk a főtulajdonság (super-property) kifejezést is mint az altulajdonság fordítottját. Ha a P' tulajdonság főtulajdonsága a P tulajdonságnak, akkor minden olyan erőforrás-párt, amelyet P egymáshoz kapcsol, a P' is egymáshoz kapcsolja. Ez a specifikáció nem definiál olyan csúcstulajdonságot, amely minden tulajdonságnak főtulajdonsága lenne.

Megjegyzés: Azok az alapvető nyelvi eszközök, amelyeket az "érvényességi köre" (rdfs:domain) és az "értéktartománya" (rdfs:range) RDF tulajdonságok nyújtanak számunkra a tulajdonságok korlátozására, nem teszik lehetővé, hogy közvetlenül jelezzük, hogy egy ilyen korlátozást globálisnak, vagy csupán lokálisnak tekintünk-e (vagyis, hogy az minden osztályra, vagy csak egy adott osztályra vonatkozik. Az alapértelmezés a globális). A lokális hatályúság jelzésére elvileg kombinálhatnánk az rdfs:domain és az rdfs:range használatát az alosztály-hierarchiák alkalmazásával, ami nehézkesen bár, de valahogy megoldaná a problémát. A lokális hatály deklarációjának közvetlen támogatását azonban csak az olyan, gazdagabb web-ontologia nyelvektől várhatjuk el, mint pl. az [OWL].

3.1 rdfs:range ("értéktartománya")

Az rdfs:range tulajdonság az rdf:Property osztály egyede, és annak kijelentésére használjuk, hogy egy tulajdonság értékei csak a megadott osztály(ok) egyedeiből kerülhetnek ki.

Pl. az alábbi formátumú triplet:

P rdfs:range C
(P "értéktartománya" C)

azt jelenti, hogy P az rdf:Property osztály egyede, és hogy C az rdfs:Class osztály egyede, valamint, hogy egy olyan majdani tripletben, amelynek a P tulajdonság lesz az állítmánya, csak olyan erőforrás lehet a tárgy, amely a C osztálynak az egyede.

Amikor P-nek egynél több rdfs:range tulajdonságot adunk meg, akkor a majdani P állítmányú triplet tárgya csak olyan erőforrás lehet, mely az rdfs:range többszöri alkalmazásával megnevezett összes osztálynak egyede (más szóval: a megadott osztályok egyedeiből képezett halmazmetszet tagja).

Az rdfs:range tulajdonságot önmagára vonatkoztatva is megadhatjuk, és ilyenkor az rdfs:range rdfs:range-e az rdfs:Class, ami azt jelenti, hogy az rdfs:range tulajdonság tárgya csakis valamilyen osztály lehet (az rdfs:Class egyede).

Az rdfs:range tulajdonságot tulajdonságokra alkalmazzuk. Ezt RDF-ben az "érvényességi köre" (rdfs:domain) tulajdonság segítségével így jelentjük ki: az rdfs:range "érvényességi köre" az rdf:Property osztály. Ez a kijelentés azt mondja, hogy minden olyan erőforrás, amelynek tulajdonsága az rdfs:range, az rdf:Property osztály egyede.

3.2 rdfs:domain ("érvényességi köre")

Az rdfs:domain tulajdonság az rdf:Property osztály egyede, és annak kijelentésére használjuk, hogy egy adott tulajdonság csak azokra az erőforrásokra alkalmazható, amelyek egy vagy több megadott osztálynak az egyedei.

Pl. az alábbi formátumú triplet:

P rdfs:domain C
(P "érvényességi köre" C)

azt jelenti, hogy P az rdf:Property osztály egyede, és hogy C az rdfs:Class osztály egyede, valamint, hogy egy olyan majdani tripletben, amelynek az állítmánya a P tulajdonság lesz, csak olyan erőforrás lehet az alany, amely a C osztálynak az egyede.

Amikor P-nek egynél több rdfs:domain tulajdonságot adunk meg, akkor a majdani P állítmányú triplet alanya csak olyan erőforrás lehet, mely az rdfs:domain többszöri alkalmazásával megnevezett összes osztálynak egyede (más szóval: a megadott osztályok egyedeiből képzett halmazmetszet tagja).

Az rdfs:domain tulajdonságot önmagára vonatkoztatva is megadhatjuk, és ilyenkor az rdfs:domain rdfs:domain-je az rdf:Property osztály, ami azt jelenti, hogy az rdfs:domain tulajdonság alanya csakis valamilyen tulajdonság lehet (az rdfs:Property osztály egyede).

Az rdfs:domain tulajdonság értéktartománya (rdfs:range-e) az rdfs:Class. Ez azt jelenti, hogy a tulajdonságok csak osztályokra (az rdfs:Class osztály egyedeire) vonatkozhatnak.

3.3 rdf:type ("típusa")

Az rdf:type tulajdonság az rdf:Property osztály egyede, és annak kijelentésére használjuk, hogy egy erőforrás melyik osztálynak az egyede.

Pl. az alábbi formátumú triplet:

R rdf:type C
(R "típusa" C)

azt mondja, hogy C az rdfs:Class egyede, valamint, hogy az R erőforrás a C osztály egyede (más szóval: az R egy C típusú/osztályú erőforrás)

Az rdf:type tulajdonság érvényességi köre az rdfs:Resource osztály, értéktartománya pedig az rdfs:Class osztály.

3.4 rdfs:subClassOf ("alosztálya ~nak")

Az "alosztálya ~nak" (rdfs:subClassOf) tulajdonság az rdf:Property egyede, és annak kijelentésére használjuk, hogy az egyik osztály minden egyede egy másik osztálynak is egyede.

Pl. az alábbi formátumú triplet:

C1 rdfs:subClassOf C2
(C1 "alosztálya ~nak" C2) [olvasd: C1 alosztálya C2-nek – a ford.]

azt mondja, hogy C1 és C2 egyaránt az rdfs:Class egyede, és hogy C1 alosztálya C2-nek. Az rdfs:subClassOf tulajdonság tranzitív.

Az rdfs:subClassOf tulajdonság érvényességi köre és értéktartománya egyaránt az rdfs:Class osztály.

3.5 rdfs:subPropertyOf ("altulajdonsága ~nak")

Az rdfs:subPropertyOf tulajdonság a rdf:Property osztály egyede, és annak kijelentésére használjuk, hogy minden olyan erőforrás-pár amelyik összekapcsolható az egyik tulajdonság segítségével, az összekapcsolható egy másik segítségével is.

Pl. az alábbi formátumú triplet:

P1 rdfs:subPropertyOf P2
P1 "altulajdonsága ~nak" P2 [olvasd: P1 altulajdonsága P2-nek – a ford.]

azt mondja, hogy P1 és P2 az rdf:Property osztály egyede, és P1 altulajdonsága P2-nek. Az rdfs:subPropertyOf tulajdonság tranzitív.

Az rdfs:subPropertyOf tulajdonság érvényességi köre és értéktartománya egyaránt az rdf:Property osztály.

3.6 rdfs:label ("címkéje")

Az rdfs:label tulajdonság az rdf:Property osztály egyede, és arra használjuk, hogy megadjuk vele egy erőforrás nevének ember által olvasható változatát.

Pl. az alábbi formátumú triplet:

R rdfs:label L
(R "címkéje" L)

azt mondja, hogy L az R erőforrás ember által olvasható címkéje.

Az rdfs:label érvényességi köre az rdfs:Resource osztály, értéktartománya pedig az rdfs:Literal osztály.

A többnyelvű címkék írását az RDF literálok nyelvcímkéző (language tagging) funkciója támogatja.

3.7 rdfs:comment ("kommentárja")

Az rdfs:comment az rdf:Property osztály egyede, és arra használjuk, hogy megadjuk vele egy erőforrás ember által olvasható leírását.

Pl. az alábbi formátumú triplet:

R rdfs:comment L
R "kommentárja" L

azt mondja, hogy az L literál az R erőforrás ember által olvasható leírása.

Az rdfs:comment tulajdonság érvényességi köre rdfs:Resource osztály, értéktartománya pedig az rdfs:Literal osztály.

Egy szöveges kommentár segíthet tisztázni az RDF osztályok és tulajdonságok jelentését. Az ilyen közbeszúrt dokumentáció jól kiegészíti mind a formális leírások (ontológiák és szabályleíró nyelvek) kódját, mind pedig az informális leírások (dokumentációk, példák és teszt-szcenáriók) szövegét. Különböző dokumentációs formákat kombinálhatunk annak érdekében, hogy az általunk leírt szókészletek szándékolt jelentését minél pontosabban leírhassuk. Mivel az RDF szókészleteket RDF gráfok formájában fejezzük ki, a más névterekben definiált szókészletek beépítésével a dokumentációnk is gazdagodhat.

A többnyelvű dokumentálást támogatja az RDF literálok nyelvcímkéző (language tagging) funkciója.

4. Az érvényességi kör- és értéktartomány-korlátozások szókészletének használata (Informatív)

Ez a specifikáció bevezet egy RDF szókészletet az osztályok és tulajdonságok értelmes használatának leírására az RDF adatokban. A fejezetünk címében megnevezett szókészlet pl. korlátozásokat fogalmaz meg arra vonatkozólag, hogy milyen típusú értékek alkalmazhatók bizonyos tulajdonságokra, vagy hogy mely osztályokra lehet értelmesen alkalmazni ezeket a tulajdonságokat.

Az RDF Szókészlet Leíró Nyelv rendelkezésünkre bocsátja ugyan a szükséges mechanizmusokat az ilyen információk leírására, de nem mondja meg, hogy egy alkalmazásnak kell-e, és ha igen, hogyan kell használnia ezeket a mechanizmusokat. Például egy szókészlet kijelentheti az értéktartomány megadásával, hogy a "szerző" tulajdonság értéke csak a Személy osztály egyedei esetére értelmes, de azt nem mondja meg, hogy egy alkalmazásnak kell-e, és ha igen, akkor hogyan kell feldolgoznia ezt az értéktartomány-információt. Feltehető, hogy különböző alkalmazások különbözőképpen fogják használni ezt az információt. Például az adatellenőrző eszközök arra használhatják, hogy felismerjenek egy hibát a segítségével valamilyen adathalmazban; egy interaktív szerkesztőprogram elfogadható tulajdonságértékeket ajánlhat fel a korlátozás ismeretében, a következtető alkalmazások pedig újabb információkat próbálhatnak meg levezetni az egyedi adatokból a megadott korlátozás alapján.

Az RDF szókészletek leírhatnak viszonyokat több, egymástól függetlenül kifejlesztett szókészlet erőforrásai között is. Minthogy URI hivatkozásokat használunk az osztályok és tulajdonságok weben történő azonosítására, kreálhatunk olyan új tulajdonságokat is, amelyek érvényességi köre vagy értéktartománya olyan osztály, amelyet egy másik névtérben definiáltak.

5. Az egyéb szókészletek

Ebben a fejezetben olyan további osztályokat, tulajdonságokat, illetve nyelvi konstrukciókat definiálunk, amelyek lehetővé teszik pl. adatcsoportok, listák és RDF kijelentések ábrázolását, valamint az RDF szókészlet-leírások alkalmazását a weben.

5.1 Konténerosztályok és tulajdonságok

Az RDF konténerei olyan erőforrások, amelyek adatcsoportokat ábrázolnak. Az RDF konténerekhez egy jó bevezetést, és benne példákat találhatunk az [RDF-BEVEZETÉS] dokumentumban (az RDF bevezető tankönyvében). Ugyanaz az erőforrás egynél többször is előfordulhat egy konténerben. Eltérően a fizikai valóságban ismert tartalmazásfogalomtól, itt egy konténer önmagát is tartalmazhatja.

Az RDF három különböző típusú konténert definiál. Noha a formális szemantika [RDF-SZEMANTIKA] szempontjából a három konténerosztály teljesen ugyanaz, a különböző osztályok megadása informálisan többletinformációt jelenthet az egyes alkalmazások számára. Az rdf:Bag (zsák) osztály használata azt jelenti, hogy a konténer tartalma rendezetlen. Az rdf:Seq (sorozat) osztály megadásával azt jelezzük, hogy a konténerben lévő elemek sorrendje nem közömbös, és hogy ez azonos a konténertagság-tulajdonságaik numerikus sorrendjével. Az rdf:Alt (alternatíva-csoport) osztályú konténer tipikus alkalmazása az, hogy a tagjaiból az egyik tetszőlegesen kiválasztható.

Egy konténer tulajdonsága nem szükségszerűen azonos a tagjai összességének a tulajdonságával (pl. ha a tyúkólnak van egy olyan tulajdonsága, hogy fából készült, az még nem jelenti azt, hogy benne lévő tyúkok is fából készültek).

Az RDF konténereket az alábbi osztályokkal és tulajdonságokkal definiáljuk:

5.1.1 rdfs:Container (Konténer)

Az rdfs:Container osztály az RDF konténerosztályok (rdf:Bag, rdf:Seq, rdf:Alt) főosztálya.

5.1.2 rdf:Bag (Zsák)

Az rdf:Bag osztály a Zsák típusú RDF konténerek osztálya, és az rdfs:Container osztály alosztálya. Bár formálisan ez nem különbözik egy rdf:Seq vagy rdf:Alt osztálytól, konvencionálisan ezt használjuk arra a célra, hogy jelezzük az emberi olvasó számára, hogy a konténer rendezetlen.

5.1.3 rdf:Seq (Sorozat)

Az rdf:Seq osztály a Sorozat típusú RDF konténerek osztálya, és az rdfs:Container osztály alosztálya. Bár formálisan ez nem különbözik egy rdf:Bag vagy rdf:Alt osztálytól, konvencionálisan ezt használjuk arra a célra, hogy jelezzük az emberi olvasó számára, hogy a konténerben a tagok sorrendje szignifikáns, és az megegyezik a konténertagság-tulajdonságaik numerikus sorrendjével.

5.1.4 rdf:Alt (Alternatíva-csoport)

Az rdf:Alt osztály az Alternatíva-csoport típusú RDF konténerek osztálya, és az rdfs:Container osztály alosztálya. Bár formálisan ez nem különbözik egy rdf:Seq vagy rdf:Bag osztálytól, konvencionálisan ezt használjuk arra a célra, hogy jelezzük az emberi olvasó számára, hogy a tipikus feldolgozása az, hogy egyet tetszőlegesen kiválaszthatunk a tagjai közül. Az ilyen konténer elsőnek megadott tagját (az rdf:_1 konténertagság-tulajdonság értékét) alapértelmezett választásnak tekintjük.

5.1.5 rdfs:ContainerMembershipProperty (Konténertagság-tulajdonság)

Az rdfs:ContainerMembershipProperty osztály egyedei az rdf:_1, rdf:_2, rdf:_3 ... tulajdonságok, amelyekkel azt adhatjuk meg, hogy egy erőforrás valamelyik konténer tagja. Az rdfs:ContainerMembershipProperty osztály az rdf:Property osztály alosztálya. Az rdfs:ContainerMembershipProperty osztály minden egyede az rdfs:member osztály alosztálya (lásd alább, az 5.1.6. szekcióban).

Ha adott egy K konténer, akkor az alábbi formátumú triplet:

K rdf:_nnn O
(K "nnn-edik tagja" O)

(ahol nnn egy 0-nál nagyobb egész szám decimális ábrázolása, vezető nullák nélkül), azt mondja, hogy az O objektum a C konténer (nnn-edik) tagja.

A konténertagság-tulajdonságok olyan erőforrásokra alkalmazhatók, amelyek nem konténerek.

5.1.6 rdfs:member ("tagja")

Az rdfs:member az rdf:Property osztály egyede, továbbá főtulajdonsága minden konténertagság-tulajdonságnak (azaz: minden konténertagság-tulajdonság "altulajdonsága" viszonyban van az rdfs:member tulajdonsággal).

Az rdfs:member érvényességi köre és értéktartománya egyaránt az rdfs:Resource osztály.

5.2 RDF kollekciók

Az RDF konténerek nyitottak abban az értelemben, hogy az alapvető RDF specifikációk nem definiálnak olyan mechanizmusokat, amelyekkel ki lehetne jelenteni, hogy egy konténer tagjainak a száma tovább nem bővíthető. Az RDF kollekciós szókészletében lévő osztályok és tulajdonságok azonban már leírhatnak zárt kollekciókat (azaz olyan kollekciókat, amelyekben az elemek számát azok első deklarálása véglegesen rögzíti). Az olvasó egy informális bevezetést és példákat találhat erről a témáról az "RDF bevezető tankönyve" című dokumentum kollekciók szekciójában.

A kollekciót az elemeinek a listaszerű felsorolásával ábrázoljuk. Ez az ábrázolás ismerős lehet azok számára, akik ismerik a Lisp nyelvet, vagy más hasonló listafeldolgozó programnyelveket. Az RDF/XML szintaxis specifikációja [RDF-SZINTAXIS] ismertet egy rövidített írásmódot a kollekciók ábrázolására.

Megjegyzés: Az RDF Séma nem köti ki, hogy csak egyetlen első eleme lehet egy listaszerű struktúrának, és azt sem, hogy egyáltalán legyen egy első eleme.

5.2.1 rdf:List (Lista)

Az rdf:List osztály az rdfs:Class egyede, amelyet listák és listaszerű struktúrák leírásának felépítéséhez használhatunk.

5.2.2 rdf:first ("első eleme")

Az rdf:first tulajdonság az rdf:Property osztály egyede, és ezt a tulajdonságot listák, és listaszerű struktúrák leírásához használjuk.

Pl. az alábbi formátumú triplet:

L rdf:first O
(L "első eleme" O)

azt mondja, hogy az "első eleme" viszony áll fenn L és O között, vagyis, hogy az L lista első eleme az O objektum.

Az rdf:first tulajdonság érvényességi köre az rdf:List osztály, az értéktartománya pedig az rdfs:Resource osztály.

5.2.3 rdf:rest "maradék része"

Az rdf:rest tulajdonság az rdf:Property osztály egyede, és ezt a tulajdonságot listák, és listaszerű struktúrák leírásához használjuk.

Pl. az alábbi formátumú triplet:

L rdf:rest O
(L "maradék része" O)

azt mondja, hogy a "maradék része" viszony áll fenn L és O között, vagyis, hogy az L lista további elemét vagy elemeit (azaz a lista maradék részét) az O objektum tartalmazza (mely objektum lehet egy egyelemű lista, egy többelemű lista, vagy egy zéró elemű, azaz üres lista).

Az rdf:rest érvényességi köre és értéktartománya egyaránt az rdf:List osztály.

5.2.4 rdf:nil (üres lista)

Az rdf:nil erőforrás az rdf:List osztály egyede, amelyet egy üres lista, vagy egy üreslista-szerű struktúra ábrázolására használunk.

Pl. az alábbi formátumú triplet:

L rdf:rest rdf:nil
(L "maradék része" üres lista)

azt mondja, hogy az L lista az rdf:List egyede, és hogy L-nek csupán egy eleme van, amelyet előzőleg az rdf:first tulajdonság segítségével definiáltunk.

5.3 A tárgyiasító szókészlet

Az eredeti RDF Modell és Szintaxis Specifikáció [RDFMS] dokumentum definiált egy olyan szókészletet, amellyel leírhatunk egy kijelentést anélkül, hogy megtennénk ezt a kijelentést. (Ez tehát egy olyan szókészlet, amellyel kijelentéseket tehetünk más RDF kijelentésekről). Az [RDFMS] nem adott meg formális szemantikát ehhez a szókészlethez, azonban az az informális definíció is, amelyet ebben a dokumentumban megadtak, valamelyest inkonzisztens volt. A jelenlegi RDF specifikáció sem rendel normatív formális definíciót ehhez a szókészlethez. Alább ismertetjük azonban ennek a szókészletnek a szándékolt jelentését, s ez megmagyarázza az [RDFMS] definíció szándékait is. A tárgyiasító szókészletről egyébként egy példákkal illusztrált bevezetőt találhat az olvasó "Az RDF bevezető tankönyve" című dokumentumban [RDF-BEVEZETÉS].

5.3.1 rdf:Statement (Kijelentés)

Az rdf:Statement osztály az rdfs:Class egyede, és feladata az RDF kijelentések osztályának ábrázolása. Az RDF kijelentés egy olyan tőmondat, amelyet egy RDF triplet szimbolizál. Az RDF kijelentés alanya az rdfs:Resource egyede, amelyet a triplet alanya azonosít. Az RDF kijelentés állítmánya az rdf:Property egyede, és ezt a triplet állítmány része azonosítja. A kijelentés tárgya pedig az rdfs:Resource egyede, és ennek azonosítása a triplet tárgy részével történik. Az rdf:Statement osztály az rdf:predicate, az rdf:subject, és az rdf:object tulajdonságok "érvényességi köre". Az rdf:Statement osztály különböző egyedeiben (azaz a különböző RDF kijelentésekben) azonos lehet az rdf:predicate, rdf:subject és rdf:object tulajdonságok értéke.

5.3.2 rdf:subject ("alanya")

Az rdf:subject tulajdonság az rdf:Property osztály egyede, és a kijelentés alanyának a megnevezésére szolgál.

Pl. az alábbi formátumú triplet:

S rdf:subject R
(S "alanya" R)

azt mondja ki, hogy az S kijelentés az rdf:Statement egyede, és ennek a kijelentésnek az alanya az R erőforrás.

Az rdf:subject érvényességi köre az rdf:Statement osztály, értéktartománya pedig az rdfs:Resource osztály.

5.3.3 rdf:predicate ("állítmánya")

Az rdf:predicate tulajdonság az rdf:Property osztály egyede, és a kijelentés állítmányának a megnevezésére szolgál.

Pl. az alábbi formátumú triplet:

S rdf:predicate P
(S "állítmánya" P)

azt mondja ki, hogy az S kijelentés az rdf:Statement egyede, és hogy a P tulajdonság az rdf:Property osztály egyede, valamint, hogy az S kijelentés állítmánya a P tulajdonság.

Az rdf:predicate érvényességi köre az rdf:Statement osztály, értéktartománya pedig az rdfs:Resource osztály.

5.3.4 rdf:object ("tárgya")

Az rdf:object tulajdonság az rdf:Property osztály egyede, és a kijelentés tárgyának a megnevezésére szolgál.

Pl. az alábbi formátumú triplet:

S rdf:object O
(S "tárgya" O)

azt mondja ki, hogy az S kijelentés az rdf:Statement egyede, és ennek a kijelentésnek a tárgya az O objektum.

Az rdf:object érvényességi köre az rdf:Statement osztály, értéktartománya pedig az rdfs:Resource osztály.

5.4 Kisegítő tulajdonságok

Az alább ismertetett kisegítő osztályokat és tulajdonságokat definiálták az RDF-mag névterében.

5.4.1 rdfs:seeAlso ("lásd továbbá")

Az rdfs:seeAlso tulajdonság az rdf:Property osztály egyede, amelyet egy olyan erőforrás megnevezésére használunk, mely további információt nyújthat az alanyként megadott erőforrásról.

Pl. az alábbi formátumú triplet:

S rdfs:seeAlso O
(S "lásd továbbá" O)

azt mondja, hogy az O objektum további információt nyújthat az S erőforrásról. Lehet, hogy az O ábrázolása esetleg visszakereshető a weben, de ez nem követelmény. Amikor egy ilyen ábrázolás visszakereshető, akkor sincs semmilyen korlátozás kikötve a formátumára.

Az rdfs:seeAlso érvényességi köre és értéktartománya egyaránt az rdfs:Resource osztály.

5.4.2 rdfs:isDefinedBy ("definiálja")

Az rdfs:isDefinedBy tulajdonság az rdf:Property osztály egyede, és egy olyan erőforrás megnevezésére szolgál, mely az alanyként megadott erőforrást definiálja. Ezt a tulajdonságot tipikusan (de nem kizárólag) egy olyan RDF szókészletnek a megnevezésére használhatjuk, amelyben az alany helyén megadott erőforrást definiálták.

Pl. az alábbi formátumú triplet:

S rdfs:isDefinedBy O
(S "definiálja" O)

azt mondja, hogy az O oobjektum definiálja az S erőforrást. Lehet, hogy az O ábrázolása esetleg visszakereshető a weben, de ez nem követelmény. Amikor egy ilyen ábrázolás visszakereshető, semmilyen korlátozás nincs kikötve ennek a formátumára. Az rdfs:isDefinedBy az rdfs:seeAlso tulajdonság altulajdonsága.

Az rdfs:isDefinedBy érvényességi köre és értéktartománya egyaránt az rdfs:Resource osztály.

5.4.3 rdf:value ("értéke")

Az rdf:value tulajdonság az rdf:Property osztály egyede, és strukturált értékek leírására használhatjuk.

Az rdf:value tulajdonságnak nincsen saját jelentése. Ez a szókészletnek egy olyan kifejezése, amelyet olyan speciális célokra deklaráltak, mint amilyent pl. az [RDF-BEVEZETÉS] dokumentum 21. példája illusztrál. Annak ellenére, hogy az rdf:value tulajdonságnak nincs formális definíciója, mégis célszerű volt beépíteni a szókészletbe, hogy ösztönözze egy közös idióma használatát a 21. példához hasonló feladatok megoldásában (a példát környező leírás jól illusztrálja egy ilyen kifejezés szükségességét).

Az rdf:value érvényességi köre és értéktartománya egyaránt az rdfs:Resource osztály.

6. Az RDF Séma összefoglalása (Informatív)

Az alábbi táblázat egy áttekintést nyújt az RDF szókészletéről. Ez egyesítve ábrázolja a korábbi RDF Modell és Szintaxis Specifikáció által definiált, és az RDF Séma által újonnan bevezetett osztályokat és tulajdonságokat.

6.1 RDF osztályok

Az osztály neve magyarázata
rdfs:Resource (Erőforrás) Minden erőforrás közös osztálya.
rdfs:Literal (Literál) A literális értékek osztálya (pl. karakterláncok és egész számok).
rdf:XMLLiteral (XML-literál) Az XML kódrészletek literális ábrázolásainak osztálya.
rdfs:Class (Osztály) Az osztályok osztálya.
rdf:Property (Tulajdonság) Az RDF tulajdonságok osztálya.
rdfs:Datatype (Adattípus) Az RDF adattípusok osztálya.
rdf:Statement (Kijelentés) Az RDF kijelentések osztálya.
rdf:Bag (Zsák) A rendezetlen konténerek osztálya.
rdf:Seq (Sorozat) A rendezett konténerek osztálya.
rdf:Alt (Alternatíva-csoport) Az alternatívákat tartalmazó konténerek osztálya.
rdfs:Container (Konténer) Az összes RDF konténertípus osztálya.
rdfs:ContainerMembershipProperty

(Konténertagság-tulajdonság)

A Konténertagság-tulajdonságok (rdf:_1, rdf:_2, ...) osztálya, mely tulajdonságok mindegyike a "tagja" (member) tulajdonság altulajdonsága.
rdf:List (Lista) Az RDF Listák osztálya.

6.2 RDF tulajdonságok

A tulajdonság neve magyarázata érvényességi
köre
értéktarto-
mánya
rdf:type
(típusa)
Az alany egy osztály egyede. rdfs:Resource rdfs:Class
rdfs:subClassOf
(alosztálya ~nak)
Az alany egy osztály alosztálya. rdfs:Class rdfs:Class
rdfs:subPropertyOf
(altulajdonsága ~nak)
Az alany egy tulajdonság altulajdonsága. rdf:Property rdf:Property
rdfs:domain
(érvényességi köre)
Az alany (tulajdonság) érvényességi köre. rdf:Property rdfs:Class
rdfs:range
(értéktartománya)
Az alany (tulajdonság) értéktartománya. rdf:Property rdfs:Class
rdfs:label
(címkéje)
Az alany (erőforrás) ember által olvasható neve. rdfs:Resource rdfs:Literal
rdfs:comment
(kommentárja)
Az alany (erőforrás) ember által olvasható magyarázata. rdfs:Resource rdfs:Literal
rdfs:member
(tagja)
Az alany (erőforrás) tagja/eleme. rdfs:Resource rdfs:Resource
rdf:first
(első eleme)
Az alany (RDF lista) első eleme. rdf:List rdfs:Resource
rdf:rest
(maradék része)
Az alany (RDF lista) első eleme utáni maradék része. rdf:List rdf:List
rdfs:seeAlso
(lásd továbbá)
További információ az alanyról (erőforrásról). rdfs:Resource rdfs:Resource
rdfs:isDefinedBy
(definiálja)
Az alanyt (erőforrást) definiáló másik erőforrás. rdfs:Resource rdfs:Resource
rdf:value
(értéke)
Idiomatikus tulajdonság olyan strukturált értékek leírásához, amilyent pl. "Az RDF bevezető tankönyve" egy példája mutat. rdfs:Resource rdfs:Resource
rdf:subject
(alanya)
Az alany (RDF kijelentés) alanya. rdf:Statement rdfs:Resource
rdf:predicate
(állítmánya)
Az alany (RDF kijelentés) állítmánya. rdf:Statement rdfs:Resource
rdf:object
(tárgya)
Az alany (RDF kijelentés) tárgya. rdf:Statement rdfs:Resource

A fenti két táblázatban felsorolt osztályok és tulajdonságok mellett az RDF használja még az rdf:_1, rdf:_2, rdf:_3... stb. nevű tulajdonságokat is, melyek mindegyike az rdfs:member altulajdonsága, és az rdfs:ContainerMembershipProperty (Konténertagság-tulajdonság) osztály egyede. Az rdf:List (Lista) osztálynak van egy speciális egyede, rdf:nil, amely egy üres listát reprezentál.


7. A hivatkozások listája

7.1 Normatív hivatkozások

[RDF-FOGALMAK]
Az RDF Erőforrás Leíró Keretrendszer alapfogalmai és absztrakt szintaxisa, W3C Ajánlás, 2004. február 10. Szerkesztők: Klyne G., Carroll J. A legutolsó (angol nyelvű) változat URL-je: http://www.w3.org/TR/rdf-concepts/.
[RDF-SZEMANTIKA]
Az RDF szemantikája, W3C Ajánlás, 2004. február 10. Szerkesztő: Patrick Hayes. A legutolsó angol nyelvű verzió URL-je: http://www.w3.org/TR/rdf-mt/ .
[RDF-SZINTAXIS]
Az RDF/XML szintaxis specifikációja (átdolgozott kiadás), W3C Ajánlás, 2004. február 10. Szerkesztő: Dave Beckett. A mindenkori legutolsó angol nyelvű verzió URL-je: http://www.w3.org/TR/rdf-syntax-grammar/ .
[RDF-TESZTEK]
Az RDF tesztsorozata, W3C Ajánlás, 2004. február 10. Szerkesztők: Jan Grant and Dave Beckett. A mindenkori legutolsó angol nyelvű verzió URL-je: http://www.w3.org/TR/rdf-testcases/ .
[RDFMS]
Resource Description Framework (RDF) Model and Syntax, W3C Recommendation, 22 February 1999
http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
[XMLNS]
Namespaces in XML; W3C Recommendation, 14 January 1999
http://www.w3.org/TR/1999/REC-xml-names-19990114/

7.2 Informatív hivatkozások

[RDF-BEVEZETÉS]
Az RDF bevezető tankönyve, W3C Ajánlás, 2004. február 10. Szerkesztők: Frank Manola and Eric Miller. A mindenkori legutolsó angol nyelvű verzió URL-je http://www.w3.org/TR/rdf-primer/ .
[BERNERS-LEE98]
What the Semantic Web can represent, Tim Berners-Lee, 1998
http://www.w3.org/DesignIssues/RDFnot.html
[EXTWEB]
Web Architecture: Extensible Languages, Tim Berners-Lee and Dan Connolly, 1998
http://www.w3.org/TR/1998/NOTE-webarch-extlang-19980210
[DCMI]
Dublin Core Metadata Initiative
http://www.dublincore.org/
[OWL]
Az OWL Web Ontológia Nyelv – Referencia, W3C Ajánlás, 2004. február 10. Szerkesztők: Mike Dean and Guus Schreiber . A mindenkori legutolsó angol nyelvű verzió URL-je: http://www.w3.org/TR/owl-ref/ .
[SCHEMA-ARCH]
The Cambridge Communiqué, W3C NOTE, 7 October 1999, Swick and Thompson
http://www.w3.org/TR/1999/NOTE-schema-arch-19991007
[XML]
Extensible Markup Language (XML) 1.0, W3C Recommendation, 10-February-1988, Section 3.2 Element Type Declarations
http://www.w3.org/TR/1998/REC-xml-19980210.html#elemdecls

8. Köszönetnyilvánítás

Az RDF Séma konstrukcióját eredetileg az RDF Séma Munkacsoport (RDF Schema Working Group) dolgozta ki 1997-2000 között. A jelenlegi specifikáció nagyrészt ennek a konstrukciónak a szerkesztési tisztázása, mely az RDF-mag Munkacsoport (RDF Core Working Group) tagjainak, valamint az RDF érdekcsoport (RDF Interest Group) tagjainak kemény munkáját dicséri.

David Singer, az IBM munkatársa vezette az eredeti RDF Séma Munkacsoportot e specifikáció készítésének legnagyobb részében; köszönjük David-nek ezt az erőfeszítést, az IBM-nek pedig azt, hogy támogatta őt, és minket is ebben a nagy vállalkozásban. Különös köszönet illeti Andrew Layman-t e dokumentum korai változatain végzett szerkesztői munkájáért.

Az eredeti RDF Séma Munkacsoport tagjai voltak:

Nick Arnett (Verity), Dan Brickley (ILRT / University of Bristol), Walter Chang (Adobe), Sailesh Chutani (Oracle), Ron Daniel (DATAFUSION), Charles Frankston (Microsoft), Joe Lapp (webMethods Inc.), Patrick Gannon (CommerceNet), RV Guha (Epinions, previously of Netscape Communications), Tom Hill (Apple Computer), Renato Iannella (DSTC), Sandeep Jain (Oracle), Kevin Jones, (InterMind), Emiko Kezuka (Digital Vision Laboratories), Ora Lassila (Nokia Research Center), Andrew Layman (Microsoft), John McCarthy (Lawrence Berkeley National Laboratory), Michael Mealling (Network Solutions), Norbert Mikula (DataChannel), Eric Miller (OCLC), Frank Olken (Lawrence Berkeley National Laboratory), Sri Raghavan (Digital/Compaq), Lisa Rein (webMethods Inc.), Tsuyoshi Sakata (Digital Vision Laboratories), 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.)

Változtatási napló

Az alábbiakban felvázoljuk azokat a fontosabb változtatásokat, amelyeket ezen a dokumentumon a végső munkaanyag elkészítése óta (2003. Január 23.), az ajánlás elkészültéig végrehajtottunk (lásd a végső munkaanyag problémakövető dokumentumában a jelen dokumentummal kapcsolatban felmerült specifikus kérdéseket és problémákat). A változtatások felsorolása a későbbiektől a korábbiak felé halad.

A. függelék: Az RDF Séma RDF/XML-ben

Az alábbiakban RDF/XML szintaxissal adjuk meg az RDF szókészlet és az RDFS szókészlet RDFS leírását. Ebben szerepelnek olyan definíciók, amelyek leírják azokat az RDF erőforrásokat, amelyeket eredetileg az 1999-ben megjelent "RDF Model and Syntax Specification" vezetett be. Szerepelnek benne továbbá az olyan erőforrások definíciói is, amelyek az "RDF Core Schema" (RDF-mag Séma) szókészletben jelentek meg először.

Ez az anyag hozzáférhető egy külön RDF/XML dokumentum formájában is. De ez sem szükségszerűen egyezik meg azzal a tartalommal, amelyet az RDF névtér-URI illetve az RDFS névtér-URI által megadott webhelyek tartalmaznak, minthogy ez utóbbiak az idők folyamán tovább fejlődnek.

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:owl="http://www.w3.org/2002/07/owl#">

<owl:Ontology rdf:about="http://www.w3.org/2000/01/rdf-schema#"/>

<rdfs:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Resource">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>Resource</rdfs:label>
  <rdfs:comment>The class resource, everything.</rdfs:comment>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>type</rdfs:label>
  <rdfs:comment>The subject is an instance of a class.</rdfs:comment>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Class">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>Class</rdfs:label>
  <rdfs:comment>The class of classes.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#subClassOf">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>subClassOf</rdfs:label>
  <rdfs:comment>The subject is a subclass of a class.</rdfs:comment>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#subPropertyOf">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>subPropertyOf</rdfs:label>
  <rdfs:comment>The subject is a subproperty of a property.</rdfs:comment>
  <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>Property</rdfs:label>
  <rdfs:comment>The class of RDF properties.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#comment">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>comment</rdfs:label>
  <rdfs:comment>A description of the subject resource.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#label">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>label</rdfs:label>
  <rdfs:comment>A human-readable name for the subject.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#domain">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>domain</rdfs:label>
  <rdfs:comment>A domain of the subject property.</rdfs:comment>
 <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#range">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>range</rdfs:label>
  <rdfs:comment>A range of the subject property.</rdfs:comment>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#seeAlso">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>seeAlso</rdfs:label>
  <rdfs:comment>Further information about the subject resource.</rdfs:comment>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:domain   rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#isDefinedBy">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#seeAlso"/>
  <rdfs:label>isDefinedBy</rdfs:label>
  <rdfs:comment>The defininition of the subject resource.</rdfs:comment>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Literal">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>Literal</rdfs:label>
  <rdfs:comment>The class of literal values, eg. textual strings and integers.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>Statement</rdfs:label>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:comment>The class of RDF statements.</rdfs:comment>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#subject">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>subject</rdfs:label>
  <rdfs:comment>The subject of the subject RDF statement.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>predicate</rdfs:label>
  <rdfs:comment>The predicate of the subject RDF statement.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#object">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>object</rdfs:label>
  <rdfs:comment>The object of the subject RDF statement.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Container">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>Container</rdfs:label>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:comment>The class of RDF containers.</rdfs:comment>
</rdfs:Class>

<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>Bag</rdfs:label>
  <rdfs:comment>The class of unordered containers.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Container"/>
</rdfs:Class>

<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>Seq</rdfs:label>
  <rdfs:comment>The class of ordered containers.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Container"/>
</rdfs:Class>

<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>Alt</rdfs:label>
  <rdfs:comment>The class of containers of alternatives.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Container"/>
</rdfs:Class>

<rdfs:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#ContainerMembershipProperty">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>ContainerMembershipProperty</rdfs:label>
  <rdfs:comment>The class of container membership properties, rdf:_1, rdf:_2, ...,
                    all of which are sub-properties of 'member'.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/2000/01/rdf-schema#member">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>member</rdfs:label>
  <rdfs:comment>A member of the subject resource.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#value">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>value</rdfs:label>
  <rdfs:comment>Idiomatic property used for structured values.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<!-- the following are new additions, Nov 2002 -->

<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#List">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>List</rdfs:label>
  <rdfs:comment>The class of RDF Lists.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/></rdfs:Class>

<rdf:List rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>nil</rdfs:label>
  <rdfs:comment>The empty list, with no items in it. If the rest of a list is nil then the list has no more items in it.</rdfs:comment>
</rdf:List>

<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#first">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>first</rdfs:label>
  <rdfs:comment>The first item in the subject RDF list.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#rest">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>rest</rdfs:label>
  <rdfs:comment>The rest of the subject RDF list after the first item.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
  <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Datatype">
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
  <rdfs:label>Datatype</rdfs:label>
  <rdfs:comment>The class of RDF datatypes.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdfs:Class>
        
<rdfs:Datatype rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> 
  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
  <rdfs:label>XMLLiteral</rdfs:label>
  <rdfs:comment>The class of XML literal values.</rdfs:comment>
</rdfs:Datatype>

<rdf:Description rdf:about="http://www.w3.org/2000/01/rdf-schema#">
  <rdfs:seeAlso rdf:resource="http://www.w3.org/2000/01/rdf-schema-more"/>
</rdf:Description>

</rdf:RDF>

        

RDF/XML Metadata Valid XHTML 1.0! Valid CSS!