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!