W3C

RDF Vocabulary Description Language 1.0: RDF Schema

W3C Working Draft 30 April 2002

This Version:
http://www.w3.org/TR/2002/WD-rdf-schema-20020430/
Latest Version:
http://www.w3.org/TR/rdf-schema
Previous Version:
http://www.w3.org/TR/2000/CR-rdf-schema-20000327
Editors:
Dan Brickley, W3C/ILRT <danbri@w3.org>
R.V. Guha <guha@guha.com>

Acknowledgments

Abstract

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.

This specification is a revision of the Candidate Recommendation of March 27 2000, incorporating editorial suggestions received in review comments. This is the first publication of the RDF Schema specification by the RDF Core Working Group. The group is chartered to incorporate feedback on the RDFS design.

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 a revision of the language described in the RDF Schema 1.0 Candidate Recommendation of March 27 2000. The specification has been revised in the light of feedback with the goal of clarifying the relationship between RDF vocabulary description and XML schemas, while also providing a clearer basis for subsequent work on Web ontology languages.

A number of editorial changes have been made, alongside a few technical revisions to align this specification with the formalization of RDF presented in the RDF Model Theory [RDFMT] rdfs:subClassOf and rdfs:subPropertyOf are now allowed to form cycles, and the description of rdfs:domain and rdfs:range has been clarified. This specification also omits the rdfs:ConstraintResource and rdfs:ConstraintProperty constructs previously included, as feedback on the CR release showed that it was not possible to clearly define their meaning. A new property, rdfs:member has been added to the RDF container vocabulary in response to implementor feedback on that aspect of the original RDF design.

Comments on this document are invited and should be sent to the public mailing list www-rdf-comments@w3.org. An archive of comments is available at http://lists.w3.org/Archives/Public/www-rdf-comments/.

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 http://www.w3.org/TR/.


Contents


Introduction

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. 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 defines not only the properties of the resource (e.g., title, author, subject, size, color, etc.) but may also define the kinds of resources being described (books, Web pages, people, companies, etc.).

This document does not specify a vocabulary of descriptive elements such as "author". Instead, it specifies some mechanisms needed to define such elements, 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. 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 - a graph structure describing resources and properties. All RDF vocabularies share some basic common structure: they describe classes of resource and types of relationships between resources. This commonality allows for a finer 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.

Example

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.

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 http://www.w3.org/2000/01/rdf-schema#. This specification also uses the prefix 'rdf' to refer to the core RDF namespace http://www.w3.org/1999/02/22-rdf-syntax-ns#.

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, it does not say whether or how an application should act in processing that class information. Different applications will use this information in different ways. For example, 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 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. 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.
rdf:Bag An unordered collection.
rdf:Seq An ordered collection.
rdf:Alt A collection of alternatives.
rdfs:ContainerMembershipProperty The container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of 'member'.

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 Core Classes and Properties

rdfs:Resource

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

rdfs:Literal

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

rdfs:Class

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.

rdf:Property

rdf:Property represents those resources that are RDF properties.

rdf:type

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

rdfs:subClassOf

The rdfs:subClassOf property represents a specialization relationship between classes of resource. The rdfs:subClassOf property is transitive.

rdfs:subPropertyOf

The property rdfs:subPropertyOf is an instance of rdf:Property that is used to specify that one property is a specialization of another.

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.

rdfs:range

An instance of rdfs:Property that is used to indicate the class(es) that the values of a property will be members of.

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

rdfs:domain

An instance of rdfs:Property that is used to indicate the class(es) that will have as members any resource that has the indicated property.

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.

rdfs:label

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

rdfs:comment

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, 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

rdfs:Container

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

rdf:Bag

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

rdf:Seq

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

rdf:Alt

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

rdfs:ContainerMembershipProperty

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.

rdfs:member

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.

RDF Utility Classes and Properties

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

rdfs:seeAlso

The property rdfs:seeAlso is used to indicate a resource that might provide additional information about the subject resource.

rdfs:isDefinedBy

The property rdfs:isDefinedBy is a subproperty of rdfs:seeAlso, and indicates the resource defining the subject resource. As with rdfs:seeAlso, this property can be applied to any instance of rdfs:Resource and may have as its value any rdfs:Resource.

rdf:value

The rdf:value property identifies the principal value (usually a string) of a property when the property value is a structured resource.

rdf:Statement

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.

rdf:subject

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.

rdf:predicate

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.

rdf:object

The predicate 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. This property can be used to specify the object of an RDF statement.


References

Normative References

[RDFMT]
RDF Model Theory, W3C Working Draft, 29 April 2002
[RDFMS]
Resource Description Framework (RDF) Model and Syntax, W3C Recommendation, 22 February 1999
http://www.w3.org/TR/1999/REC-rdf-syntax-19990222
[XMLNS]
Namespaces in XML; W3C Recommendation, 14 January 1999
http://www.w3.org/TR/1999/REC-xml-names-19990114

Informational References

[BERNERS-LEE98]
What the Semantic Web can represent, Tim Berners-Lee, 1998
http://www.w3.org/DesignIssues/RDFnot.html
[EXTWEB]
Web Architecture: Extensible Languages, Tim Berners-Lee and Dan Connolly, 1998
http://www.w3.org/TR/1998/NOTE-webarch-extlang-19980210
[DCMI]
Dublin Core Metadata Initiative
http://www.dublincore.org/
[SCHEMA-ARCH]
The Cambridge Communiqué, W3C NOTE, 7 October 1999, Swick and Thompson
http://www.w3.org/TR/1999/NOTE-schema-arch-19991007
[XML]
Extensible Markup Language (XML) 1.0, W3C Recommendation, 10-February-1988, Section 3.2 Element Type Declarations
http://www.w3.org/TR/1998/REC-xml-19980210.html#elemdecls

Acknowledgements

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.

<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="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 xml:lang="en">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 xml:lang="en">type</rdfs:label>
  <rdfs:comment>Indicates membership 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 xml:lang="en">Class</rdfs:label>
  <rdfs:comment>The concept of Class</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 xml:lang="en">subClassOf</rdfs:label>
  <rdfs:comment>Indicates membership 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 xml:lang="en">subPropertyOf</rdfs:label>
  <rdfs:comment>Indicates specialization of properties</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 xml:lang="en">Property</rdfs:label>
  <rdfs:comment>The concept of a property.</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 xml:lang="en">comment</rdfs:label>
  <rdfs:comment>Use this for descriptions</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 xml:lang="en">label</rdfs:label>
  <rdfs:comment>Provides a human-readable version of a resource name.</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 xml:lang="en">domain</rdfs:label>
  <rdfs:comment>A domain class for a property type</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 xml:lang="en">range</rdfs:label>
  <rdfs:comment>A range class for a property type</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 xml:lang="en">seeAlso</rdfs:label>
  <rdfs:comment>A resource that provides 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#"/>
  <rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
  <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#seeAlso"/>
  <rdfs:label xml:lang="en">isDefinedBy</rdfs:label>
  <rdfs:comment>Indicates the namespace of a 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 xml:lang="en">Literal</rdfs:label>
  <rdfs:comment>This represents the set of atomic values, eg. textual strings.</rdfs:comment>
</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 xml:lang="en">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 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 xml:lang="en">subject</rdfs:label>
  <rdfs:comment>The subject of an 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 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 xml:lang="en">predicate</rdfs:label>
  <rdfs:comment>the predicate of an 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/1999/02/22-rdf-syntax-ns#Property"/>
</rdf:Property>

<rdf:Property 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 xml:lang="en">object</rdfs:label>
  <rdfs:comment>The object of an RDF statement.</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
</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 xml:lang="en">Container</rdfs:label>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  <rdfs:comment>This represents the set 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 xml:lang="en">Bag</rdfs:label>
  <rdfs:comment xml:lang="en">An unordered collection.</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 xml:lang="en">Seq</rdfs:label>
  <rdfs:comment xml:lang="en">An ordered collection.</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 xml:lang="en">Alt</rdfs:label>
  <rdfs:comment xml:lang="en">A collection 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 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="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 xml:lang="en">member</rdfs:label>
  <rdfs:comment>a member of a container</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Container"/>
</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 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="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Property>

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


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.


Comments
$Date: 2002/04/30 18:59:20 $