BWM's review of:

Critical to fix for this draft are in strong orange and are listed here:

Critical 1

Critical 2

Critical 3

Critical 4

Critical 5

Errors and other issues that should be addressed by the editor, but necessarily for this publication, are in strong purple. Suggested replacement text is in normal purple.

Editorial comments in strong green. Suggested replace text in normal green. These comments are suggestions to the editor and may be adopted or not at the editoris discretion.

Occasionally, there will be something I particularly like noted in strong blue, in what case there isn't much need for suggested replacement text.


RDF Vocabulary Description Language 1.0: RDF Schema

W3C Working Draft @@ November 2002

@@PLEASE NOTE: this is the EDITOR's WORKING COPY. '@@' indicates further work needed.
TODO: Missed out rdfs:XMLLiteral. Need definition text.
This Version:
Latest Version:
Previous Version:
Dan Brickley, W3C/ILRT <>
R.V. Guha, IBM <> Has Guha agreed to having his name on this?



The Resource Description Framework (RDF) is a general-purpose language for representing information in the Web. This specification describes how to use RDF to describe RDF vocabularies. This specification also defines a basic vocabulary for this purpose, as well as conventions that can be used by Semantic Web applications to support more sophisticated RDF vocabulary description.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document.

This document is a Working Draft of the World Wide Web Consortium RDF Core Working group, and has been produced as part of the Semantic Web Activity.

The Resource Description Framework is part of the W3C Semantic Web Activity. The goal of this activity, and of RDF specifically, is to produce a language for the exchange of machine-understandable information using the Web.

The RDF Vocabulary Description Language presented here is an editorial revision revision of the language described in the Working Draft of April 30th 2002, incorporating editorial suggestions received in review comments. The specification has been revised in the light of feedback and extended to include the new rdfs:Datatype class used by RDF's datatyping mechanism, as well as the rdf:List, rdf:first, rdf:rest and rdf:nil constructs now supported by the RDF/XML syntax. Additional differences between this document and the March 27th 2000 Candidate Recommendation are described in the April 30th 2002 Working Draft.

@@ refs to other specs: RDF Model Theory [RDFMT] @@

In conformance with W3C policy requirements, known patent and IPR constraints associated with this Working Draft are detailed on the RDF Core Working Group Patent Disclosure page.

Comments on this document are invited and should be sent to the public mailing list An archive of comments is available at

It is inappropriate to use a W3C Working Draft as reference material or to cite them as other than "work in progress". This is work in progress and does not imply endorsement by, or the consensus of W3C. A list of current W3C Recommendations and other technical documents can be found at



The Resource Description Framework (RDF) defines a simple model for describing relationships among resources in terms of named properties and values. RDF properties may be thought of as attributes of resources and in this sense correspond to traditional attribute-value pairs. RDF properties also represent relationships between resources. As such, the RDF data model can therefore resemble an entity-relationship diagram. The RDF data model itself, however, provides no mechanisms for describing these properties, nor does it provide any mechanisms for describing the relationships between these properties and other resources. Data model is a dodgy term. Delete sentence about entity relationship diagrams and replace next with: The core RDF specification provides no means of describing these properties nor for describing relationships between them and other resources. That is the role of this specification. The RDF vocabulary description language defines classes and properties that can be used to describe other classes and properties.

Resource description communities require the ability to say certain things about certain kinds of resources. For describing bibliographic resources, for example, descriptive attributes including "author", "title", and "subject" are common. For digital certification, attributes such as "checksum" and "authorization" are often required. The declaration of these properties (attributes) and their corresponding semantics are defined in the context of RDF as an RDF schema. A schema does not define the semantics of properties, it describes properties to some extent. A schema defines ditto not only the properties of the resource (e.g., title, author, subject, size, color, etc.) Hmm thats not a very property centric way of saying it. but may also define the kinds of resources being described (books, Web pages, people, companies, etc.).

RDF schemas Name and describe properties (attributes). A schema describes not only properties, but also categories of resources (books, Web pages, people, companies etc.) and the properties that may be used to describe them.

This document does not specify a vocabulary of descriptive elements s/elements/properties/ such as "author". Instead, it specifies some delete some mechanisms needed d/needed/ to define s/define/describe/ such elements s/elements/properties/, to name the classes of resources they may be used with, to restrict possible combinations of classes and relationships, and to help detect violations of those restrictions. ... to restrict properties to apply to only certain classes of resource and to restrict also the the values of properties to specific classes. Thus, d/thus,/ this document defines a vocabulary description language.

RDF's vocabulary description language, RDF Schema, is specified in terms of the basic RDF information model s/the basic RDF information model/RDF/ and delete to end. Need ref to concepts here. [@@concepts] - a graph structure describing resources and properties. All RDF vocabularies share some basic s/some basic/a/ common structure: they describe classes of resource and types of relationships between resources. This commonality allows for a finer finer that what? s/finer/fine/ grained mixing of machine-processable vocabularies, and addresses the need [EXTWEB] to create metadata in which statements can draw upon multiple vocabularies that are managed in a decentralized fashion by independent communities.

The RDF Schema approach to vocabulary description allows vocabulary designers to represent descriptions of classes and properties in the World Wide Web, for example by describing ways in which combinations of classes, properties and values can be used together meaningfully.


The remainder of this specification introduces the details of this approach. A simple example is presented here in diagrammatic form, illustrating the use of the RDF Schema vocabulary for describing classes and properties, and the connection to application-level data.

an introductory example, showing node and arc diagram of instance data mixed with schema vocabulary.

(JPEG and PNG versions of this image are available)

This example illustrates the way in which RDF can be used to describe real world things (people, documents), the classes they fall into (such as eg:Document, eg:Person), and the properties that are used to relate members of these classes -- in this example the property eg:author. Through the use of RDF Schema, we can describe the relationship between RDF properties (such as eg:author) and these classes of resource. In this example, we use RDF Schema to say that the eg:author property relates documents to people. The example also shows that all documents are considered to be works, and that all people are agents. An extension of this example might show a subproperty relationship between eg:author and the better known and more general Dublin Core ([DCMI]) property dc:creator.

Editorial note: this example is new material, replacing the more varied collection of examples used previously. The current draft does not yet present a full account of this example, nor include an RDF/XML test case based on the schema and instance data shown here. I like this example, though it doesn't illustrate multiple domain/range contraints.

RDF Schema - a vocabulary description language

The language defined in this specification consists of a collection of RDF resources that can be used to describe properties of other RDF resources (including properties) which define application-specific RDF vocabularies. The core vocabulary is defined in a namespace informally called 'rdfs' here, and identified by the URI reference This specification also uses the prefix 'rdf' to refer to the core RDF namespace

Editorial Note: this Working Draft does not propose a change to the namespace URIs use, nor to the prefix 'rdfs' traditionally used to indicate the vocabulary description language's namespace URI . The Working Group seek feedback from implementors on the costs and benefits of moving to a new RDFS namespace URI. Implementors should note that the description of rdfs:domain and rdfs:range in this specification differs from that in earlier versions of the RDF Schema specification.

The RDF Schema class and property system is similar to the type systems of object-oriented programming languages such as Java. However, RDF differs from many such systems in that instead of defining a class in terms of the properties its instances may have, an RDF schema will define properties in terms of the classes of resource to which they apply. This is the role of the rdfs:domain and rdfs:range mechanisms described in this specification. For example, we could define the eg:author property to have a domain of eg:Document and a range of eg:Person, whereas a classical OO system might typically define a class eg:Book with an attribute called eg:author of type eg:Person. Using the RDF approach, it is easy for others to subsequently define additional properties with a domain of Document or a range of eg:Person. This can be done without the need to re-define the original description of these classes. One benefit of the RDF property-centric approach is that it is very easy for anyone to say anything they want about existing resources, which is one of the architectural principles of the Web [BERNERS-LEE98].

Domain and Range vocabulary

This specification introduces an RDF vocabulary for describing the meaningful use of properties and classes in RDF data. For example, an RDF schema might describe limitations on the types of values that are appropriate for some property, or on the classes to which it makes sense to ascribe such properties.

RDF Schema provides a mechanism for describing this information, but does not say whether or how an application should use it. For example, while an RDF schema can assert that an author property is used to indicate resources that are members of the class Person ... property has values that are members of the class ..., it does not say whether or how an application should act in processing that class information s/class information/assertion/. Different applications will use this information in different ways. For example, a d/a/ data checking tools might use this to help discover errors in some dataset, an interactive editor might suggest appropriate values, and a reasoning application might use it to infer additional information from instance data.

RDF schemas can describe relationships between vocabulary items from multiple independently developed schemas. Since URI references are used to identify classes and properties in the Web, it is possible to create new properties that have a domain or range whose value is a class defined in another namespace.

This specification does not attempt to enumerate all the possible forms of vocabulary description that are useful for representing the meaning of RDF classes and properties. Instead, the RDF vocabulary description strategy is to acknowledge that there are many techniques through which the meaning of classes and properties can be indicated, and to establish some conventions for using RDF/XML to describe the characteristics of RDF classes and properties.

Richer schema or 'ontology' languages such as DAML+OIL, W3C WebOnt language, inference rule languages and other formalisms (for example temporal logics) will each contribute to our ability to capture meaningful generalizations about data in the Web. RDF vocabulary designers can create and deploy Semantic Web applications using the basic d/the basic/ RDF Schema 1.0 facilities, while exploring richer vocabulary description languages that share this general approach.

RDF Schema overview

This table presents an overview of the basic vocabulary of RDF, drawing together vocabulary originally defined in the RDF Model and Syntax specification with classes and properties that originate with RDF Schema. I found this sentence hard to read for some reason. This table presents a summary of the classes and properties defined by RDF and RDF Schema. Each class and property is described in more detail below. The core classes and properties define the machinery of RDF's vocabulary description language. The utility and container vocabulary provide additional support for describing collections and RDF statements, and for deployment of RDF vocabulary descriptions on the World Wide Web.

RDF classes

Class name comment
rdfs:Resource The class Resource.
rdfs:Class The concept of Class
rdf:Property The concept of a property.
rdfs:Literal The class rdfs:Literal represents the set of literal values, eg. textual strings.
rdf:Statement The class of RDF statements.
rdfs:Container This represents the set Containers. The class of RDF containers
rdf:Bag An unordered collection. The class of unordered containers
rdf:Seq An ordered collection. The class of ordered containers
rdf:Alt A collection of alternatives. The class of alternative containers
rdfs:ContainerMembershipProperty The container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of 'member'. The class of propertie used to assert membership of a container, rdf:_1, RDF:_2 ..., all of which are sub-properties of rdfs:member.

rdf:List? I'm not quites ure what you are doing here. Picking out the vocabulary from the older specs beforing adding in the new? Is that valuable? rdfs:Datatype

RDF properties

Property name comment domain range
rdfs:isDefinedBy Indicates the namespace of a resource rdfs:Resource rdfs:Resource
rdf:subject The subject of an RDF statement. rdf:Statement rdfs:Resource
rdf:predicate the predicate of an RDF statement. rdf:Statement rdf:Property
rdf:object The object of an RDF statement. rdf:Statement not specified
rdf:type Indicates membership of a class rdfs:Resource rdfs:Class
rdfs:member a member of a container rdfs:Container not specified
rdfs:subClassOf Indicates membership of a class rdfs:Class rdfs:Class
rdf:value Identifies the principal value (usually a string) of a property when the property value is a structured resource rdfs:Resource not specified
rdfs:subPropertyOf Indicates specialization of properties rdf:Property rdf:Property
rdfs:comment Use this for descriptions rdfs:Resource rdfs:Literal
rdfs:label Provides a human-readable version of a resource name. rdfs:Resource rdfs:Literal
rdfs:domain A domain class for a property type rdf:Property rdfs:Class
rdfs:range A range class for a property type rdf:Property rdfs:Class
rdfs:seeAlso A resource that provides information about the subject resource rdfs:Resource rdfs:Resource

rdf:_1, etc rdf:first, rdf:next, rdf:nil

RDF Core Classes and Properties


All things described by RDF are called resources, and are members of the class rdfs:Resource.


The class rdfs:Literal represents the self-denoting nodes called the 'literals' in the RDF graph structure. They are not self denoting. The class rdfs:Literal respresents the class of literal values such as strings and integers. Property values such as textual strings are examples of RDF literals.


This corresponds to the generic concept of a type or category of resource.

RDF class membership is used to represent types or categories of resource. Two classes may happen to have the same members, while remaining distinct resources. A Resources may be a member of more than one class. Note that rdfs:Class is a member of itself.


rdf:Property represents those resources that are RDF properties.


rds:Datatype represents those resources that are RDF datatypes.

@@crossref to MT, Concepts (here?); also to Syntax spec for datatype syntax.@@


The rdf:type property indicates that a resource is a member of a class.

When a resource has an rdf:type property whose value is some specific class, we say that the resource is an instance of or a member of (to be consistent with language under rdfs:Class) the specified class.

The value of an rdf:type property will always be a resource that is an instance of rdfs:Class. The resource known as rdfs:Class is itself a resource of rdf:type rdfs:Class.


The rdfs:subClassOf property represents a specialization relationship between classes of resource. s/./, that is, if class A is a subclass of B, then all instances of A are also instances of B./ The rdfs:subClassOf property is transitive.


The property rdfs:subPropertyOf is an instance of rdf:Property that is used to specify that one property is a specialization of another. s/./ that is, if P is a subproproperty of Q, and resource R has property P with a value V, then R also has property Q with value V./ We really need to be able to talk about statements here, but we can't because they haven't been introduced. Or can we.

Sub-property hierarchies can be used to express hierarchies of range and domain constraints. All rdfs:range and rdfs:domain properties that apply to an RDF property also apply to each of its sub-properties.

Editorial Note: The term 'super-property' is sometimes used to indicate the relationship between some property and another more general property that it is a rdfs:subPropertyOf. The current name for this property (and also rdfs:subClassOf, which might better be labelled 'super-class'), may be somewhat confusing. The Working Group is not currently inclined to change these names, but seeks implementor feedback on the costs and benefits of such a change.


An instance of rdf:Property that is used to indicate the class(es) that the values of a property will be members of. ... is used to assert that the values of a property are members of one or more classes.

The value of an rdfs:range property is always a Class. The rdfs:range property can itself be used to express this: the rdfs:range of rdfs:range is the class rdfs:Class. This indicates that any resource that is the value of a range property will be s/will be/is/ a class.

The rdfs:range property is only applied to properties. This can also be represented in RDF using the rdfs:domain property. The rdfs:domain of rdfs:range is the class rdf:Property. This indicates that the range property applies to resources that are themselves properties.


An instance of rdf:Property that is used to indicate the class(es) that will have as members any resource that has the indicated property. That was real hard to parse. And pretty hard to write. We don't have the machinery to express this easily. rdfs:domain is an instance of rdf:Property. It may be applied only to other properties. Only instances of rdfs:Class may be values of rdfs:domain. A property P having an rdfs:domain property with value C, indicates that any resource with property P is a member of class C. I'm not sure that's any better. Needs more work.

The rdfs:domain of rdfs:domain is the class rdf:Property. This indicates that the domain property is used on resources that are properties.

The rdfs:range of rdfs:domain is the class rdfs:Class. This indicates that any resource that is the value of a domain property will be a class.

Editorial Note: these definitions are consistent with the RDF Model Theory [RDFMT] formalization of RDF Schema, but do not yet provide a full account of rdfs:range and rdfs:domain. In particular, the use of multiple domain and range properties should be shown as an RDF/XML test case, and integrated with the example introduced above.

Note: range, domain and sub-property hierarchies

Sub-property hierarchies can be used to express hierarchies of range and domain constraints. All rdfs:range and rdfs:domain properties that apply to an RDF property also apply to each of its sub-properties.


The rdfs:label property is used to provide a human-readable version of a resource's name.


The rdfs:comment property is used to provide a human-readable description of a resource.

A textual comment helps clarify the meaning of RDF classes and properties. Such inline documentation complements the use of both formal techniques (Ontology and rule languages) and informal (prose documentation, examples, test cases). A variety of documentation forms can be combined to indicate the intended meaning of the classes and properties described in an RDF Schema.

Multilingual documentation of schemas is supported at the syntactic level through use of the xml:lang language tagging facility. Since RDF schemas are expressed as RDF graphs, d/Since ...graphs, / vocabularies defined in other namespaces may be used to provide richer documentation.

RDF Utility and Container Classes and Properties

RDF defines a number of additional classes and properties, including constructs for representing containers and RDF statements, and for deploying RDF vocabulary descriptions in the World Wide Web.

RDF Container Classes and Properties


The rdfs:Container class is a super-class of the RDF Container classes, ie. rdf:Bag, rdf:Seq, rdf:Alt.


The rdf:Bag class represents RDF's 'Bag' container construct, and is a subclass of rdfs:Container.


The rdf:Seq class represents RDF's 'Sequence' container construct, and is a subclass of rdfs:Container.


The rdf:Alt class represents RDF's 'Alt' container construct, and is a subclass of rdfs:Container.


The rdfs:ContainerMembershipProperty class has as members the property rdfs:member and the properties _1, _2, _3 ... that can be used to indicate membership of Bag, Seq and Alt containers. rdfs:ContainerMembershipProperty is a subclass of rdf:Property. Each container membership property is a rdfs:subPropertyOf the rdfs:member property.

The formal semantics of RDF [@@ref] does not distinguish between rdf:Bag, rdf:Seq and rdf:Alt. Formally, they are all equivalent ordered containers. However, rdf:Bag will normally be used to indicate that the order of the members is not significant. rdf:Seq will normally be used to indicate that this order is significant. rdf:Alt will be used to indicate the container represents a choice of values.


The rdfs:member property is a super-property of the container membership properties, and a member of the class rdfs:ContainerMembershipProperty.

(ie. each numbered container membership property has a rdfs:subPropertyOf relationship to the property rdfs:member).

Editorial Note: It is not clear whether rdfs:member should be a member of rdfs:ContainerMembershipProperty. This needs to be clarified by the Working Group.

Its not mentioned here, but in the RDF version of schema below it is stated that the domain of rdfs:member is a container. I seem to recal we said we weren't going to do that, but would allow the ordinal properties to be used on other things, e.g. street names. We need to be clear on this, and either mention the domain contraint here, or remove it from below.


The rdf:List class represents the class of RDF Lists. It is used with the 'first', 'rest' and 'nil' constructs, and has special case support in the RDF/XML syntax. @@refs to syntax, MT@@


The rdf:first property represents a relationship between an rdf:List and its first item.

The value of an rdf:first property is the first item of an rdf:List. rdf:first has an rdf:domain of rdf:List.


The rdf:rest property represents a relationship between an rdf:List item and the rest of the list, or its end (ie. rdf:nil).

The value of an rdf:rest property is either a resource of type rdf:List representing the rest of the list other than its first element, or it is the special resource rdf:nil to indicate that there are no more items in the list. The rdfs:domain of rdf:rest is rdf:List. The rdfs:range of rdf:List is rdf:List.

@@ is rdf:nil of type rdf:List.


The rdf:nil resource represents the last item in s/the last item/end of/ an rdf:List. Does it have a type?

RDF Utility Classes and Properties

The following utility classes and properties are defined in the RDF core namespaces.


The property rdfs:seeAlso is used to indicate a resource that might provide additional RDF information about the subject resource. subject is a new term, not introduced yet. we need something like this. Without it ... An rdfs:seeAlso property of a resource R, is used to indicate a resource that might provide additional information about R. Hmm, is there some contraint of the value, i.e. that its RDF. I've dropped the RDF from "RDF information" in my formulation.


The property rdfs:isDefinedBy is a subproperty of rdfs:seeAlso, and indicates the resource defining the subject resource.


The rdf:value property identifies the principal value (usually a string) not now we've got datatyping? d/(usually a string)/ of a property when the property value is a structured resource.


The rdf:Statement class represents statements about the properties of resources.

rdf:Statement is the domain of the properties rdf:predicate, rdf:subject and rdf:object.

Different individual rdf:Statement instances may happen to have the same values for their predicate, subject and object properties.


The subject of an RDF statement.

The rdf:subject property indicates a resource that is the subject of some RDF statement.

The rdfs:domain of rdf:subject is rdf:Statement and the rdfs:range is rdfs:Resource. This property can be used to specify the resource described by an RDF statement.


The predicate of an RDF statement.

The rdfs:domain of rdf:predicate is rdf:Statement and the rdfs:range is rdfs:Resource. This property can be used to specify the predicate used in an RDF statement.


The predicate s/predicate/object/ of an RDF statement.

The rdfs:domain of rdf:object is rdf:Statement. No range is defined for this property since values of rdfs:object can include both Literals and Resources. If we are declaring Literal to be a subclass of Resource ... This property can be s/can be/is/ used to specify the object of an RDF statement.


Normative References

RDF Model Theory, W3C Working Draft, 29 April 2002
Resource Description Framework (RDF) Model and Syntax, W3C Recommendation, 22 February 1999
Namespaces in XML; W3C Recommendation, 14 January 1999

Informational References

What the Semantic Web can represent, Tim Berners-Lee, 1998
Web Architecture: Extensible Languages, Tim Berners-Lee and Dan Connolly, 1998
Dublin Core Metadata Initiative
The Cambridge Communiqué, W3C NOTE, 7 October 1999, Swick and Thompson
Extensible Markup Language (XML) 1.0, W3C Recommendation, 10-February-1988, Section 3.2 Element Type Declarations


The RDF Schema design was originally produced by the RDF Schema Working Group (1997-2000). The current specification is largely an editorial clarification of that design, and has benefited greatly from the hard work of the RDF Core Working Group members, and from implementation feedback from many members of the RDF Interest Group.

David Singer of IBM was the chair of the original RDF Schema group throughout most of the development of this specification; we thank David for his efforts and thank IBM for supporting him and us in this endeavor. Particular thanks are also due to Andrew Layman for his editorial work on early versions of this specification.

The original RDF Schema working group membership included:

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

Appendix A: Figures

Figure 1 shows the use of domain and range properties to describe how the core RDF properties are used. This is shown here as a node and arc representation of the RDF graph structure. Nodes with bold outlines are instances of rdfs:Class.

A node and arc diagram showing domains and range properties of some of the main RDF properties

Editorial Note: the current Working Draft omits some figures previously included in this specification. Subsequent revisions may include more diagrammatic illustrations of the RDF Schema class and property hierarchies. Note also that the current diagram is incomplete, omitting rdf:value, rdf:member and other properties.

Appendix B: RDF Schema as RDF/XML

An RDF description of the RDF Core vocabulary is given here in RDF/XML serialization syntax. Please note that the namespace URI for the RDF Schema vocabulary could change in future versions of this specification. This RDF schema includes statements describing RDF resources originally introduced by the 1999 RDF Model and Syntax specification, as well as definitions for resources introduced in the RDF Core Schema vocabulary.

This RDF/XML is also available as a separate RDF/XML document (rdfs-namespace.xml). It is not currently published at the W3C RDF Schema namespace URI.


<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Resource</rdfs:label>
  <rdfs:comment>The class resource, everything.</rdfs:comment>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">type</rdfs:label>
  <rdfs:comment>Indicates membership of a class</rdfs:comment>
  <rdfs:range rdf:resource=""/>
  <rdfs:domain rdf:resource=""/>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Class</rdfs:label>
  <rdfs:comment>The concept of Class</rdfs:comment>
  <rdfs:subClassOf rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">subClassOf</rdfs:label>
  <rdfs:comment>Indicates membership of a class</rdfs:comment>
  <rdfs:range rdf:resource=""/>
  <rdfs:domain rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">subPropertyOf</rdfs:label>
  <rdfs:comment>Indicates specialization of properties</rdfs:comment>
  <rdfs:range rdf:resource=""/>
  <rdfs:domain rdf:resource=""/>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Property</rdfs:label>
  <rdfs:comment>The concept of a property.</rdfs:comment>
  <rdfs:subClassOf rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">comment</rdfs:label>
  <rdfs:comment>Use this for descriptions</rdfs:comment>
  <rdfs:domain rdf:resource=""/>
  <rdfs:range rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">label</rdfs:label>
  <rdfs:comment>Provides a human-readable version of a resource name.</rdfs:comment>
  <rdfs:domain rdf:resource=""/>
  <rdfs:range rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">domain</rdfs:label>
  <rdfs:comment>A domain class for a property type</rdfs:comment>
 <rdfs:range rdf:resource=""/>
  <rdfs:domain rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">range</rdfs:label>
  <rdfs:comment>A range class for a property type</rdfs:comment>
  <rdfs:range rdf:resource=""/>
  <rdfs:domain rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">seeAlso</rdfs:label>
  <rdfs:comment>A resource that provides information about the subject resource</rdfs:comment>
  <rdfs:range rdf:resource=""/>
  <rdfs:domain   rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdf:type resource=""/>
  <rdfs:subPropertyOf rdf:resource=""/>
  <rdfs:label xml:lang="en">isDefinedBy</rdfs:label>
  <rdfs:comment>Indicates the namespace of a resource</rdfs:comment>
  <rdfs:range rdf:resource=""/>
  <rdfs:domain rdf:resource=""/>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Literal</rdfs:label>
  <rdfs:comment>This represents the set of atomic values, eg. textual strings.</rdfs:comment>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Statement</rdfs:label>
  <rdfs:subClassOf rdf:resource=""/>
  <rdfs:comment>The class of RDF statements.</rdfs:comment>

<rdf:Property about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">subject</rdfs:label>
  <rdfs:comment>The subject of an RDF statement.</rdfs:comment>
  <rdfs:domain rdf:resource=""/>
  <rdfs:range rdf:resource=""/>

<rdf:Property about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">predicate</rdfs:label>
  <rdfs:comment>the predicate of an RDF statement.</rdfs:comment>
  <rdfs:domain rdf:resource=""/>
  <rdfs:range rdf:resource=""/>

<rdf:Property about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">object</rdfs:label>
  <rdfs:comment>The object of an RDF statement.</rdfs:comment>
  <rdfs:domain rdf:resource=""/>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Container</rdfs:label>
  <rdfs:subClassOf rdf:resource=""/>
  <rdfs:comment>This represents the set Containers.</rdfs:comment>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Bag</rdfs:label>
  <rdfs:comment xml:lang="en">An unordered collection.</rdfs:comment>
  <rdfs:subClassOf rdf:resource=""/>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Seq</rdfs:label>
  <rdfs:comment xml:lang="en">An ordered collection.</rdfs:comment>
  <rdfs:subClassOf rdf:resource=""/>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">Alt</rdfs:label>
  <rdfs:comment xml:lang="en">A collection of alternatives.</rdfs:comment>
  <rdfs:subClassOf rdf:resource=""/>

<rdfs:Class rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">ContainerMembershipProperty</rdfs:label>
  <rdfs:comment>The container membership properties, rdf:_1, rdf:_2..., all of which are sub-properties of 'member'.</rdfs:comment>
  <rdfs:subClassOf rdf:resource=""/>

<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">member</rdfs:label>
  <rdfs:comment>a member of a container</rdfs:comment>
  <rdfs:domain rdf:resource=""/>


<rdf:Property rdf:about="">
  <rdfs:isDefinedBy rdf:resource=""/>
  <rdfs:label xml:lang="en">value</rdfs:label>
  <rdfs:comment>Identifies the principal value (usually a string) of a property when the property value is a structured resource</rdfs:comment>
  <rdfs:domain rdf:resource=""/>

<rdf:Description rdf:about="">
  <rdfs:seeAlso rdf:resource=""/>


Appendix C: Editorial notes and Issue Tracking

The following editorial issues with this specification are still outstanding. Technical issues relating to this and other RDF Core specifications are tracked in the RDF Issue Tracking document.

$Date: 2002/11/08 15:27:39 $