Tjek trykfejlslisten for evt. fejl eller registrerede problemer siden publiceringen.
Dokumentet er også tilgængeligt i følgende non-normative format: diff w.r.t. 2004 Recommendation
Den engelske version af denne specifikation er den eneste normative version. Non-normative oversættelser kan være tilgængelige.
Copyright © 2004-2014 W3C® (MIT, ERCIM, Keio, Beihang), Alle rettigheder forbeholdt. W3C’s regler for hæftelse, varemærke og dokumentanvendelse er gældende.
RDF Schema er et vokabularium til datamodellering af RDF-data. RDF Schema er en ekstension af det grundlæggende RDF-vokabularium.
Dette afsnit beskriver den aktuelle dokumentstatus på tidspunktet for publiceringen. Andre dokumenter vil muligvis gøre dette dokument overflødigt. En liste over aktuelle W3C-publikationer, samt den seneste revision af denne tekniske rapport, kan findes i W3C technical reports index på https://www.w3.org/TR/.
Dette dokument er en redigeret udgave af dokumentet 2004 RDF Schema Recommendation. Formålet med denne revision er at gøre dokumentet tilgængeligt som en del af RDF 1.1-dokumentsættet. Ændringerne er begrænset til trykfejl, reviderede henvisninger, opdatering af terminologien samt tilpasning af indledningen. Dokumentets titel blev ændret fra ”RDF Vocabulary Description Language 1.0: RDF Schema” til ”RDF Schema 1.1”. Dokumentets tekniske indhold er uforandret. Yderligere oplysninger om ændringer findes i afsnittet med ændringer. Eftersom ændringerne i dette dokument ikke er af teknisk karakter, er det blevet besluttet, at der ikke var behov for en ny implementeringsrapport.
Dokumentet er publiceret af RDF Working Group som en anbefaling. Kommentarer angående dokumentet er velkomne. Send dem venligst til public-rdf-comments@w3.org (subscribe, archives).
Dokumentet er blevet gennemset af W3C-medlemmer og softwareudviklere samt andre W3C-grupper og andre interesserede parter. Det er blevet godkendt af den øverste ledelse som en W3C-anbefaling. Det er et færdigt dokument og kan bruges som referencemateriale eller citeres i andre dokumenter. W3C's rolle i anbefalingen er at rette opmærksomheden mod vejledningen og fremme udbredelsen af den til gavn for funktionaliteten og samspillet på internettet.
Dokumentet blev skrevet af en gruppe under 5 February 2004 W3C Patent Policy. W3C fører en offentlig liste over enhver patentanmeldelse, der er foretaget i forbindelse med gruppens publikationer. Den webside omfatter også vejledning i at anmelde et patent. Enkeltpersoner med konkret viden om et patent, som vedkommende mener indeholder væsentlige fordringer, skal fremlægge oplysningerne i henhold til afsnit 6 i W3C Patent Policy.
Dokumentet er reguleret af 1 March 2017 W3C Process Document.
>RDF Schema er et vokabularium til datamodellering af RDF-data. Det komplementeres af flere ledsagende dokumenter, der beskriver de grundlæggende koncepter samt den abstrakte syntaks i RDF [RDF11-CONCEPTS], RDF’s formelle semantik [RDF11-MT] og forskellige konkrete syntakser i RDF, f.eks. Turtle [TURTLE], TriG, [TRIG] og JSON-LD [JSON-LD]. Introduktion til RDF [RDF11-PRIMER] er en uformel indføring i og eksempler på anvendelse af de koncepter, der er specificeret i dette dokument.
Det er hensigten med dokumentet at give en klar beskrivelse af RDF Schema til dem, der føler sig afskrækkede af de formelle semantiske specifikationer [RDF11-MT]. Derfor gentager dette dokument materiale, der også er angivet i RDF Semantics specifikationen. Hvor der er uoverensstemmelse mellem de to, skal man antage, at RDF Semantics specification er korrekt.
RDF Schema er en semantisk ekstension af RDF. Det omfatter mekanismer til at beskrive grupper af beslægtede ressourcer og forholdet mellem disse ressourcer. RDF Schema er skrevet i RDF med den terminologi, der er beskrevet i dette dokument. Disse ressourcer bruges til at bestemme andre ressourcers karaktertræk, f.eks. egenskabers domæner og rækkevidder.
RDF Schemas system med
klasser og egenskaber svarer til typesystemer i objektorienterede
programmeringssprog, f.eks. Java. RDF Schema adskiller sig dog fra mange af den
slags systemer ved ikke at definere en klasse på baggrund af de egenskaber,
dens forekomster måtte have. RDF Schema beskriver i stedet egenskaber i forhold
til de ressourceklasser, som de er relevante for. Det er den rolle, som domæne- og rækkevidde-mekanismerne spiller, og
som er beskrevet i dette dokument. Man kan f.eks. definere, at egenskaben eg:author
skal have domænet eg:Document
og
rækkevidden eg:Person
, hvor et klassisk objektorienteret system måske ville
definere en klasse eg:Book
med en attribut kaldet eg:author
af typen eg:Person
. Ved at bruge RDF’s metode kan andre efterfølgende
nemt definere yderligere egenskaber med domænet eg:Document
eller rækkevidden eg:Person
. På
den måde er der ikke behov for at omdefinere den oprindelige beskrivelse af
disse klasser. Den egenskabsorienterede metode i RDF har den fordel, at enhver
har lov til at udvide beskrivelsen af eksisterende ressourcer, hvilket er et af
internettets arkitektoniske principper. [BERNERS-LEE98].
Dette dokument vil ikke forsøge at opregne alle mulige måder, hvorpå man kan repræsentere meningen af RDF-klasser og -egenskaber. Strategien for RDF Schema er i stedet at vedgå sig, at der kan bruges mange teknikker til at beskrive meningen med klasser og egenskaber. Mere omfattende vokabularier eller ”ontologibaserede” sprog, som OWL [OWL2-OVERVIEW], sproglige regler for følgeslutninger og andre formalismer (f.eks. temporal logik), vil hver for sig forbedre vores evne til at registrere meningsfulde generaliseringer om data på internettet.
Det sprog, som defineres i
dette dokument, består af en samling RDF-ressourcer, der kan bruges til at
beskrive andre RDF-ressourcer i programspecifikke RDF-vokabularier. Kernevokabulariet
er defineret i et navneområde, der her uformelt kaldes for rdfs
. Det navneområde er identificeret af IRI’en
http://www.w3.org/2000/01/rdf-schema#
og
forbindes konventionelt med præfikset rdfs:
. Denne vejledning
bruger også præfikset rdf:
til at henvise til RDF-navneområdet
http://www.w3.org/1999/02/22-rdf-syntax-ns#
Af bekvemmeligheds hensyn og for at øge læsbarheden bruger denne vejledning en forkortet form til at beskrive IRI’er. Et navn med formen præfiks:suffiks bør tolkes som en IRI, der består af den IRI, der er forbundet med det præfiks, der er sammenkædet med suffikset.
Ressourcer kan opdeles i
grupper kaldet klasser. Elementerne i en klasse bliver kaldt for klassens forekomster.
Klasser er i sig selv ressourcer. De identificeres ofte af IRI’er og
kan beskrives ved hjælp af RDF-egenskaber. Egenskaben rdf:type
kan bruges til at angive, at en ressource er en forekomst
afforekomst af en klasse.
RDF skelner mellem en klasse og mængden af dens forekomster. Hver klasse er associeret med en mængde, kaldet klassens ekstension, som er mængden af forekomster i klassen. To klasser kan have den samme mængde forekomster, men være forskellige klasser. Skattekontoret kan f.eks. definere klassen af personer, der bor på samme adresse som redaktøren af dette dokument. Postkontoret kan definere klassen af personer, hvis adresser har samme postnummer som forfatterens adresse. Det er muligt, at disse klasser indeholder præcis de samme forekomster, men alligevel har forskellige egenskaber. Kun én af klasserne har den egenskab, som skattekontoret definerede, og kun den anden har den egenskab, som blev defineret af postkontoret.
En klasse kan være element i sin egen klasseekstension og kan være en forekomst af sig selv.
Gruppen af ressourcer, der er klasser i RDF Schema, er i sig selv en klasse kaldet rdfs:Class
.
Hvis klassen C er en underklasse
af klassen C', så vil alle forekomster i C også være forekomster i C'. Egenskaben
rdfs:subClassOf
kan bruges til at angive, at en klasse er underklasse
af en anden. Begrebet overklasse bruges som det modsatte af underklasse. Hvis
klassen C' er klassen C’s overklasse, så er alle forekomster i C også
forekomster i C'.
Dokumentet RDF Concepts and Abstract Syntax [RDF11-CONCEPTS] definerer RDF-konceptet RDF-datatype. Alle datatyper er klasser. Forekomsterne i en klasse, som er en datatype, er elementerne i datatypens udfaldsrum.
Alt, der beskrives af RDF, kaldes
ressourcer og er forekomster i klassen rdfs:Resource
. Dette er en klasse for alt. Alle andre klasser er underklasser
af denne klasse. rdfs:Resource
er en forekomst af rdfs:Class
.
Dette er klassen af ressourcer, der er klasser i RDF. rdfs:Class
er
en forekomst af rdfs:Class.
Klassen rdfs:Literal
er klassen af literale
værdier, f.eks. strenge og heltal. Egenskabsværdier som tekststrenge er eksempler på RDF-literaler.
rdfs:Literal
er en forekomst af rdfs:Class
. rdfs:Literal er en underklasse af
rdfs:Resource.
rdfs:Datatype
er en klasse af datatyper. Alle forekomster i rdfs:Datatype
svarer til RDF model of a datatype, der er beskrevet i dokumentet RDF Concepts specification [RDF11-CONCEPTS]. rdfs:Datatype
er både en forekomst af og en underklasse af rdfs:Class
. Hver forekomst af rdfs:Datatype
er en underklasse af
rdfs:Literal.
Klassen rdf:langString
er klassen af strengværdier med sprogmærke. rdf:langString
er en forekomst
afforekomst af rdfs:Datatype
og en underklasse af
rdfs:Literal
.
Dette afsnit er ikke normativt.
Klassen rdf:HTML
er klassen af literale værdier i HTML. rdf:HTML
er en forekomst
afforekomst af rdfs:Datatype
og en underklasse af
rdfs:Literal
.
Dette afsnit er ikke normativt.
Klassen rdf:XMLLiteral
er klassen af literale værdier i XML. rdf:XMLLiteral
er en forekomst
afforekomst af rdfs:Datatype
og en underklasse af
rdfs:Literal
.
rdf:Property
er klassen af RDF-egenskaber. rdf:Property
er en forekomst af rdfs:Class
.
Dokumentet RDF Concepts and Abstract Syntax [RDF11-CONCEPTS] beskriver, hvordan en RDF-egenskab er en relation mellem subjektressourcer og objektressourcer.
Dette dokument definerer
begrebet underegenskab. Egenskaben rdfs:subPropertyOf
kan bruges til at angive, at en egenskab er en
underegenskab af en anden. Hvis en egenskab P er underegenskab af egenskaben
P', så er alle de ressourcepar, der er knyttet sammen af P, også knyttet sammen
af P'. Begrebet overegenskab bruges ofte som det modssatte af underegenskab. Hvis
en egenskab P' er en overegenskab til egenskaben P, så er alle de ressourcepar,
der er knyttet sammen af P også knyttet sammen af P'. Dokumentet definerer ikke
en øverste egenskab, der er overegenskab for alle egenskaber.
De grundlæggende funktioner der
gives med rdfs:domain
og rdfs:range
fastsætter ikke en måde, hvorpå man direkte kan
angive begrænsninger i en klasses lokale egenskaber. Det er muligt at kombinere
brugen af rdfs:domain
og rdfs:range
med hierarkier af underegenskaber, men direkte
understøttelse af den slags erklæringer findes i mere omfattende Web-ontologisprog,
f.eks. OWL [OWL2-OVERVIEW].
rdfs:range
er en forekomst af rdf:Property
, som bruges til at angive, at værdierne af en
egenskab er forekomster i én eller flere klasser.
Triplen
P rdfs:range C
angiver, at P er en forekomst
af klassen rdf:Property
, at C er en forekomst af klassen rdfs:Class
og at de ressourcer, der er angivet af objekter i
tripler med prædikatet P, er forekomster i klassen C.
Hvor P har mere end én egenskab
af typen rdfs:range, er de ressourcer, der er angivet af objekterne i tripler
med prædikatet P, forekomster i alle de klasser, der er angivet af egenskaberne
rdfs:range
.
Egenskaben rdfs:range
kan anvendes på sig selv, således at rdfs:range af rdfs:range
er klassen rdfs:Class
. Dette angiver, at enhver ressource, der udgør
værdien af en egenskab af typen rdfs:range
, er
en forekomst af rdfs:Class
.
Egenskaben rdfs:range
kan anvendes på egenskaber. Dette kan i RDF beskrives
med egenskaben rdfs:domain
, således at rdfs:domain
af rdfs:range
er klassen rdf:Property
. Dette angiver, at enhver ressource, med en egenskab
af typen rdfs:range
, er en forekomst af rdf:Property
.
rdfs:domain
er en forekomst af rdf:Property
, der bruges til at angive, at enhver ressource, der
har en given egenskab, er en forekomst af en eller flere klasser.
En tripel af typen:
P rdfs:domain C
angiver, at P er en forekomst af klassen rdf:Property
, at C er en forekomst af klassen rdfs:Class
, og at de ressourcer, der er angivet af subjekter i tripler med prædikatet P, er forekomster i klassen C.
Hvor P har mere end én egenskab
af typen rdfs:domain, så er de ressourcer, der er angivet af subjekterne i
tripler med prædikatet P, forekomster i alle de klasser, der er angivet af
egenskaberne rdfs:domain
.
Egenskaben rdfs:domain
kan anvendes på sig selv, således at rdfs:domain af rdfs:domain
er klassen rdf:Property
. Dette angiver, at enhver ressource med en egenskab
af typen rdfs:domain
er en forekomst af rdf:Property
.
Egenskaben rdfs:range
af rdfs:domain
er klassen rdfs:Class
. Dette angiver, at enhver ressource, der udgør
værdien i en egenskab af typen rdfs:domain
, er en forekomst af rdfs:Class
.
rdf:type
er en forekomst af rdf:Property
, der bruges til at angive, at en ressource er en forekomst
af en klasse.
En tripel af typen:
R rdf:type C
angiver, at C er en forekomst
af rdfs:Class
, og R er en forekomst af C.
Egenskaben rdfs:domain
af rdf:type
er rdfs:Resource.
Egenskaben rdfs:range
af rdf:type er rdfs:Class
.
Egenskaben rdfs:subClassOf
er en forekomst af rdf:Property
, der bruges til at angive, at alle forekomsterne i en
klasse er forekomster i en anden.
En tripel af typen:
C1 rdfs:subClassOf C2
angiver, at C1 er en forekomst
af rdfs:Class
, C2 er en forekomst af rdfs:Class
, og at C1 er en underklasse af
C2. Egenskaben rdfs:subClassOf
er transitiv.
Egenskaben rdfs:domain
af rdfs:subClassOf
er rdfs:Class
. Egenskaben rdfs:range
af rdfs:subClassOf er rdfs:Class
.
Egenskaben rdfs:subPropertyOf
er en forekomst af rdf:Property
, der bruges til at angive, at alle ressourcer, der er
knyttet sammen af én egenskab, også er knyttet sammen af en anden.
En tripel af typen:
P1 rdfs:subPropertyOf P2
angiver, at P1 er en forekomst af rdf:Property
, P2 er en forekomst af rdf:Property
, og P1 er en underegenskab
af P2. Egenskaben rdfs:subPropertyOf
er transitiv.
Egenskaben rdfs:domain
af rdfs:subPropertyOf
er rdf:Property
. Egenskaben rdfs:range
af rdfs:subPropertyOf er rdf:Property
.
Egenskaben rdfs:label
er en forekomst af rdf:Property
, der kan bruges til at danne en version af et ressourcenavn,
der kan læses af mennesker.
En tripel af typen:
R rdfs:label L
angiver, at L er en betegnelse for R, der kan læses af mennesker.
Egenskaben rdfs:domain
af rdfs:label er rdfs:Resource
. Egenskaben rdfs:range
af rdfs:label er rdfs:Literal
.
Betegnelser på flere sprog understøttes af funktionen sprogmærke i RDF-literaler.
rdfs:comment
er en forekomst af rdf:Property
, der kan bruges til at danne en ressourcebeskrivelse,
der kan læses af mennesker.
En tripel af typen:
R rdfs:comment L
angiver, at L er en beskrivelse af R, der kan læses af mennesker.
Egenskaben rdfs:domain
af rdfs:comment
er rdfs:Resource
. Egenskaben rdfs:range
af rdfs:comment
er rdfs:Literal
.
En tekstkommentar hjælper til at tydeliggøre meningen med klasser og egenskaber i RDF. Sådan en integreret dokumentation supplerer brugen af både formelle teknikker (ontologier og regelbaserede sprog) og uformelle (læselig dokumentation og forskellige eksempler). En række dokumentationsformer kan kombineres for at angive den tilsigtede mening med de klasser og egenskaber, der er beskrevet i et RDF-vokabularium. Eftersom RDF-vokabularier udtrykkes som RDF-grafer, kan vokabularier, som er defineret i andre navneområder, bruges til at levere en mere omfattende dokumentation.
Dokumentation på flere sprog understøttes gennem brugen af sprogmærker i RDF-literaler.
Dette afsnit er ikke normativt.
Denne vejledning præsenterer et RDF-vokabularium, der kan beskrive den meningsfulde brug af egenskaber og klasser i RDF-data. Et RDF-vokabularium kan f.eks. beskrive begrænsninger i de typer af værdier, der er passende for en egenskab, eller for de klasser, som det giver mening at tillægge sådanne egenskaber.
RDF Schema har en mekanisme
til at beskrive denne information, men angiver ikke, om og hvordan et program
skal bruge den. Et RDF-vokabularium kan f.eks. erklære, at egenskaben forfatter
bruges til at angive ressourcer, der er forekomster i
klassen person
. Men det oplyser ikke, om eller hvordan et program
skal behandle den rækkevidde af informationer. Forskellige programmer vil bruge
denne information på forskellige måder. Værktøjer til datatjek vil måske bruge
den som en hjælp til at finde fejl i nogle datasæt, et interaktivt
redigeringsprogram vil måske foreslå passende værdier, og et
ræsonneringsprogram vil måske bruge den til at udlede yderligere information fra
dataene.
RDF-vokabularier kan beskrive
relationer mellem poster fra flere uafhængigt udviklede vokabularier. Eftersom IRI’er
bruges til at identificere klasser og egenskaber på internettet, er det muligt
at oprette nye egenskaber med et domæne
eller
en rækkevidde
, hvis værdier er en klasse, der er defineret i et andet navneområde.
I dette afsnit defineres yderligere klasser og egenskaber, herunder begreber til at repræsentere containere og RDF-udsagn og sprede beskrivelser af RDF-vokabularier på internettet.
Dette afsnit er ikke normativt.
RDF-containere er ressourcer, der bruges til at repræsentere samlinger. Den samme ressource kan dukke op i en container mere end én gang. I modsætningen til den virkelige verden kan en container være indeholdt i sig selv.
Der er defineret tre forskellige slags containere. Den formelle semantik [RDF11-MT] er identisk for alle tre klasser af containere, men forskellige klasser kan bruges til at angive yderligere information på en uformel måde. Klassen rdf:Bag bruges til at angive, at det er hensigten, at containeren skal være uordnet. Klassen rdf:Seq bruges til at angive, at rækkefølgen, som udtrykt af nummerrækkefølgen i containerens container membership properties, er betydningsfuld. Klassen rdf:Alt bruges til at angive, at den typiske behandling af containeren er at vælge ét af dens medlemmer.
Et hønsehus kan have egenskaben, at det er lavet af træ, uden at det betyder, at alle de høns, der er indeholdt i det, også er lavet af træ. På samme måde er en egenskab ved en container ikke nødvendigvis en egenskab, der gælder for alle dens medlemmer.
RDF-containere defineres af følgende klasser og egenskaber.
Klassen rdfs:Container
er en overklasse til containerklasserne i RDF, dvs.rdf:Bag
, rdf:Seq
, rdf:Alt
.
Klassen rdf:Bag
er en klasse bestående af RDF-containere med
betegnelsen ”bag”. Det er en underklasse af
rdfs:Container
. Skønt den formelt ikke er forskellig fra klasserne rdf:Seq
eller rdf:Alt
, så bruges klassen rdf:Bag
almindeligvis til at fortælle en menneskelig læser, at det er meningen, at containeren skal være uordnet.
Klassen rdf:Seq
er klassen af RDF-containere med betegnelsen ”Seq”. Den
er en underklasse af rdfs:Container
. Skønt den formelt ikke er forskellig fra klasserne rdf:Bag
eller rdf:Alt
, så bruges klassen rdf:Seq
almindeligvis til at fortælle en menneskelig læser, at det er hensigten, at nummerrækkefølgen i containerens container membership properties er betydningsfuld.
Klassen rdf:Alt
er en klasse af RDF-containere med betegnelsen ”Alt”.
Den er en underklasse af
rdfs:Container
. Skønt den formelt ikke er forskellig fra klasserne rdf:Seq
og rdf:Bag
, så bruges klassen rdf:Alt
almindeligvis til at fortælle en menneskelig læser, at den typiske behandling
af containeren er at vælge ét af dens medlemmer. Det første medlem af containeren,
dvs. værdien af egenskaben rdf:_1
, er standardvalget.
5.1.5 rdfs:ContainerMembershipProperty
Klassen rdfs:ContainerMembershipProperty
har som forekomster egenskaberne rdf:_1, rdf:_2, rdf:_3 ...
, der bruges til at angive, at en ressource er medlem
af en container. Klassen rdfs:ContainerMembershipProperty
er en underklasse af
rdf:Property
. Hver forekomst af rdfs:ContainerMembershipProperty
er en underegenskab af egenskaben rdfs:member
.
Givet en container kaldet C, angiver en tripel af typen:
C rdf:_nnn O
at O er medlem af containeren
C, hvor nnn
er en decimalrepræsentation af et heltal større end 0
og uden foranstillede nuller.
ContainerMembershipProperty kan også bruges på andre ressourcer end containere.
Egenskaben rdfs:member
er en forekomst af rdf:Property
, som er en overegenskab for alle containermedlemskabsegenskaber, dvs. at hver containermedlemskabsegenskab har en relation af typen rdfs:subPropertyOf
til egenskaben rdfs:member.
Egenskaben rdfs:domain
af rdfs:member
er rdfs:Resource
. Egenskaben rdfs:range
af rdfs:member
er rdfs:Resource
.
Dette afsnit er ikke normativt.
RDF-containere er åbne i den forstand, at RDF’s kernespecifikationer ikke definerer en mekanisme, der kan angive, at der ikke er flere medlemmer. En samling af klasser og egenskaber i RDF kan beskrives som en lukket samling, dvs. én, der ikke kan have flere medlemmer.
En samling beskrives af en emneliste, der vil virke bekendt for brugere med erfaring i at bruge Lisp og lignende programmeringssprog. Der findes en forkortet notation til at beskrive samlinger i Turtle-syntaks.
RDFS kræver ikke, at der kun skal være ét førsteelement i en listeagtig struktur, eller at den listeagtige struktur overhovedet har et førsteelement.
Klassen rdf:List
er en forekomst af klassen rdfs:Class
, der kan bruges til at opbygge beskrivelser af lister
og andre listeagtige strukturer.
Egenskaben rdf:first
er en forekomst af rdf:Property
, der kan bruges til at opbygge beskrivelser af lister
og andre listeagtige strukturer.
En tripel af typen:
L rdf:first O
angiver, at der er en førsteelementsrelation mellem L og O.
Egenskaben rdfs:domain
af rdf:first
er rdf:List
. Egenskaben rdfs:range
af rdf:first
er rdfs:Resource
.
Egenskaben rdf:rest
er en forekomst af rdf:Property
, der kan bruges til at opbygge beskrivelser af lister
og andre listeagtige strukturer.
En tripel af typen:
L rdf:rest O
angiver, at der er en ”resten af listen-relation” mellem L og O.
Egenskaben rdfs:domain
af rdf:rest
er rdf:List
. Egenskaben rdfs:range
af rdf:rest
er rdf:List
.
Ressourcen rdf:nil
er en forekomst af rdf:List
, der kan bruges til at repræsentere en tom liste
eller andre listeagtige strukturer.
En tripel af typen:
L rdf:rest rdf:nil
angiver, at L er en forekomst
af rdf:List
, der har ét emne. Det emne kan angives ved at bruge
egenskaben rdf:first
.
Dette afsnit er ikke normativt.
Klassen rdf:Statement
er en forekomst af klassen rdfs:Class.
Den er beregnet til at beskrive klassen af RDF-udsagn.
Et udsagn i RDF er dannet af en token for en RDF-tripel. Subjektet i et RDF-udsagn
er en forekomst af rdfs:Resource
, der er identificeret af triplens subjekt. Prædikatet
i et RDF-udsagn er en forekomst af rdf:Property
, der identificeres af triplens prædikat. Objektet i
et RDF-udsagn er en forekomst af rdfs:Resource
, der identificeres af triplens objekt. Klassen rdf:Statement
er domænet tilhørende egenskaberne rdf:predicate
, rdf:subject
og rdf:object
. Forskellige individuelle forekomster af rdf:Statement
kan have samme værdier for egenskaberne rdf:predicate
, rdf:subject
og rdf:object
.
Egenskaben rdf:subject
er en forekomst af rdf:Property
, der bruges til at angive et udsagns subjekt.
En tripel af typen:
S rdf:subject R
angiver, at S er en forekomst
af rdf:Statement
, og at S’ets subjekt er R.
Egenskaben rdfs:domain
af rdf:subject
er rdf:Statement
. Egenskaben rdfs:range
af rdf:subject
er rdfs:Resource
.
Egenskaben rdf:predicate
er en forekomst af rdf:Property
, der bruges til at angive udsagnets prædikat.
En tripel af typen:
S rdf:predicate P
angiver, at S er en forekomst
af rdf:Statement
, at P er en forekomst af rdf:Property
, og at S’ets prædikat er P.
Egenskaben rdfs:domain
af rdf:predicate
er rdf:Statement
, og rdfs:range
er rdfs:Resource
.
rdf:object
er en forekomst af rdf:Property
, der bruges til at angive udsagnets objekt.
En tripel af typen:
S rdf:object O
angiver, at S er en forekomst
af rdf:Statement
, og at S’ets objekt er O.
Egenskaben rdfs:domain
af rdf:object
er rdf:Statement
. Egenskaben rdfs:range
af rdf:object
er rdfs:Resource
.
De følgende funktionsklasser og -egenskaber er defineret i RDF’s kernenavneområder.
Egenskaben rdfs:seeAlso
er en forekomst af rdf:Property
, der
bruges til at angive en ressource, der kan give
yderligere information om subjektressourcen.
En tripel af typen:
S rdfs:seeAlso O
angiver, at ressourcen O kan give yderligere information om S. Det er måske muligt at hente repræsentationer af O fra internettet, men det er ikke påkrævet. Når sådanne repræsentationer kan hentes, angives der ingen restriktioner af deres format.
Egenskaben rdfs:domain
af rdfs:seeAlso
er rdfs:Resource
. Egenskaben rdfs:range
af rdfs:seeAlso
er rdfs:Resource
.
Egenskaben rdfs:isDefinedBy
er en forekomst af rdf:Property
, der kan bruges til at angive en ressource, som
definerer subjektressourcen. Denne egenskab kan bruges til at angive et RDF-vokabularium,
hvori der er beskrevet en ressource.
En tripel af typen:
S rdfs:isDefinedBy O
angiver, at ressourcen O definerer
S. Det er måske muligt at hente repræsentationer af O på internettet, men det
er ikke nødvendigt. Når sådanne repræsentationer kan hentes, angives der ingen
restriktioner af deres format. rdfs:isDefinedBy
er en underegenskab
af rdfs:seeAlso
.
Egenskaben rdfs:domain
af rdfs:isDefinedBy
er rdfs:Resource
. Egenskaben rdfs:range
af rdfs:isDefinedBy
er rdfs:Resource
.
Egenskaben rdf:value
er en forekomst af rdf:Property
, der kan bruges til at beskrive strukturerede værdier.
rdf:value har i sig selv ikke noget meningsindhold. Den er et stykke vokabularium, der kan bruges i faste udtryk, som illustreret i nedenstående eksempel:
<http://www.example.com/2002/04/products#item10245>
<http://www.example.org/terms/weight> [
rdf:value 2.4 ;
<http://www.example.org/terms/units> <http://www.example.org/units/kilograms>
] .
Trods manglen på formel beskrivelse af denne egenskabs meningsindhold, er der værdi i at definere den for på den måde at opmuntre til at bruge almindelige udtryk i denne slags eksempler.
Egenskaben rdfs:domain
af rdf:value
er rdfs:Resource
. Egenskaben rdfs:range
af rdf:value
er rdfs:Resource
.
Dette afsnit er ikke normativt.
Tabellerne i dette afsnit giver en oversigt over vokabulariet RDF Schema.
Navn på klasse | Kommentar |
---|---|
rdfs:Resource | Ressourceklassen, alt. |
rdfs:Literal | Klassen af literale værdier, f. eks. tekststrenge og heltal. |
rdf:langString | Klassen af strengværdier med sprogmærke. |
rdf:HTML | Klassen af literale værdier i HTML. |
rdf:XMLLiteral | Klassen af literale værdier i XML. |
rdfs:Class | Klassen af klasser. |
rdf:Property | Klassen af RDF-egenskaber. |
rdfs:Datatype | Klassen af RDF-datatyper. |
rdf:Statement | Klassen af RDF-udsagn. |
rdf:Bag | Klassen af uordnede containere. |
rdf:Seq | Klassen af ordnede containere. |
rdf:Alt | Klassen af containere for alternativer. |
rdfs:Container | Klassen af RDF-containere. |
rdfs:ContainerMembershipProperty | Klassen af ContainerMembershipProperty, rdf:_1, rdf:_2, ... , som alle er underegenskaber af ”medlem”. |
rdf:List | Klassen af RDF-lister. |
Navn på egenskab | Kommentar | Domæne | rækkevidde |
---|---|---|---|
rdf:type | Subjektet er forekomst af en klasse. | rdfs:Resource | rdfs:Class |
rdfs:subClassOf | Subjektet er underklasse af en klasse. | rdfs:Class | rdfs:Class |
rdfs:subPropertyOf | Subjektet er en underegenskab af en egenskab. | rdf:Property | rdf:Property |
rdfs:domain | Et domæne af subjektegenskaben. | rdf:Property | rdfs:Class |
rdfs:range | En rækkevidde af subjektegenskaben. | rdf:Property | rdfs:Class |
rdfs:label | Subjektnavn, der kan læses af mennesker. | rdfs:Resource | rdfs:Literal |
rdfs:comment | En beskrivelse af subjektressourcen. | rdfs:Resource | rdfs:Literal |
rdfs:member | Et medlem af subjektressourcen. | rdfs:Resource | rdfs:Resource |
rdf:first | Første emne i RDF-subjektlisten. | rdf:List | rdfs:Resource |
rdf:rest | Resten af RDF-subjektlisten efter første emne. | rdf:List | rdf:List |
rdfs:seeAlso | Yderligere informationer om subjektressourcen. | rdfs:Resource | rdfs:Resource |
rdfs:isDefinedBy | Definitionen på subjektressourcen. | rdfs:Resource | rdfs:Resource |
rdf:value | Idiomatisk egenskab til brug for strukturerede værdier. | rdfs:Resource | rdfs:Resource |
rdf:subject | Subjektet i RDF-subjektudsagnet. | rdf:Statement | rdfs:Resource |
rdf:predicate | Prædikatet i RDF-subjektudsagnet. | rdf:Statement | rdfs:Resource |
rdf:object | Objektet i RDF-subjektudsagnet. | rdf:Statement | rdfs:Resource |
I tillæg til disse klasser og
egenskaber bruger RDF også egenskaber kaldet rdf:_1
,
rdf:_2
, rdf:_3
... osv. Hver især
er både en underegenskab af rdfs:member
og en forekomst
af klassen rdfs:ContainerMembershipProperty
. Der er også en forekomst af rdf:List
kaldet rdf:nil
, der
er en tom rdf:List
.
Dette afsnit er ikke normativt.
Det oprindelige design af RDF Schema blev udviklet af RDF Schema-arbejdsgruppen (1997-2000). Denne aktuelle dokumentation er hovedsageligt en redaktionel afklaring af dette design. Det store arbejde, som medlemmerne af RDF-kernearbejdsgruppen har udført, samt feedback om implementeringen fra mange medlemmer af RDF-interessegruppen, har været til stor nytte. I 2013-2014 redigerede Guus Schreiber dette dokument på vegne af RDF-arbejdsgruppenfor at bringe det i overensstemmelse med RDF 1.1-specifikationerne.
David Singer fra IBM ledte den originale RDF Schema-gruppe gennem hovedparten af denne dokumentations udvikling. Vi takker David for hans indsats og IBM for at støtte ham og os i disse bestræbelser. Der skal også rettes en særlig tak til Andrew Layman for hans redaktionelle arbejde med tidlige versioner af denne dokumentation.
Medlemmerne i den oprindelige RDF Schema-arbejdsgruppe omfattede:
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.)
Dette afsnit er ikke-normativt.
Ændringer i RDF 1.1 Recommendation
Ændringer i RDF 1.1 Proposed Edited Recommendation
rdf:langString
og rdf:HTML
blev tilføjet.rdf:HTML
og rdf:XMLLiteral
blev angivet som ikke normative.