(Ez a fordítás a W3C Magyar Irodájának megbízásából, az
Informatikai és Hírközlési Minisztérium
támogatásával készült)
Kérjük, kövesse figyelemmel a dokumentum eredeti angol nyelvû változatára vonatkozó hibajegyzéket, mert ez normatív korrekciókat is tartalmazhat.
A dokumentumról további fordítások is rendelkezésre állnak.
Copyright © 2004 W3C ® (MIT, ERCIM , Keio), Minden jog fenntartva. Alkalmazandók a W3C felelõsségi, védjegyoltalmi, dokumentumhasználati és szoftverlicenc elõírásai.
AbsztraktAz 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átusaEzt 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ék1. Bevezetés1. 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
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ályokAz 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.
Ez azon erõforrások osztálya, amelyek RDF osztályok. Az rdfs:Class
maga is az rdfs:Class
egyede.
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.
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.
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.
Az rdf:Property
az RDF tulajdonságok osztálya, és az rdfs:Class
egyede.
"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" (
) 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:range
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].
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.
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.
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.
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.
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.
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észletekEbben 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ágokAz 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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: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.
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.
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.
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.
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.
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égiA 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.
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.
Eltávolítottuk azt, az ajánlást megelõzõ változatban elhelyezett figyelmeztetést, hogy a Munkacsoport esetleg úgy dönthet, hogy megváltoztatja a névtér-URI-t az ajánlás kiadása elõtt.
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>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3