The Resource Description Framework (RDF) is a framework for
representing information in the Web.
RDF Concepts and Abstract Syntax defines an abstract syntax
on which RDF is based, and which serves to link its concrete
syntax to its formal semantics. It also includes discussion of
design goals, key concepts, datatyping, character normalization
and handling of URI references.
This section describes the status of this document at the time of
its publication. Other documents may supersede this document. A list
of current W3C publications and the latest revision of this technical
report can be found in the
W3C
technical reports index
at http://www.w3.org/TR/.
This is a W3C
Last Call Working Draft
of the
RDF Core Working Group
and has been produced as part of the W3C
Semantic Web Activity
Activity Statement
).
A recent change prohibits control characters in RDF URI References.
A second change
weakens the language concerning Unicode Normal Form C.
Detailed changes from the previous
05 September 2003 Working Draft
are described in the
changes section
These are in addition to the
changes
between the
23 January 2003
and the
05 September 2003
Working Drafts.
This document is in the Last Call review period, which ends on 07
November 2003. This Last Call publication consolidates changes and
editorial improvements undertaken in response to feedback received
during the previous
Last
Call
publication of the RDFCore specifications which began on 23
January 2003. A
list of the Last
Call issues
addressed by the Working Group is also available.
This document has been endorsed by the RDF Core Working Group.
This document is being released for review by W3C Members and
other interested parties to encourage feedback and comments,
especially with regard to how the changes made affect existing
implementations and content.
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
www-rdf-comments@w3.org
. An
archive of comments is available at
Publication as a Working Draft does not imply endorsement
by the W3C Membership. This is a draft document and may be updated,
replaced or obsoleted by other documents at any time. It is
inappropriate to cite this document as other than work in progress. A
list of current
W3C Recommendations
and other technical documents
can be found at
The Resource Description Framework (RDF) is a framework for
representing information in the Web.
This document defines an abstract syntax on which RDF is based,
and which serves to link its concrete syntax to its formal
semantics.
This abstract syntax is quite distinct from XML's tree-based infoset [
XML-INFOSET
]. It also includes discussion of design goals,
key concepts, datatyping, character normalization
and handling of URI references.
Normative documentation of RDF falls into the following
areas:
Within this document, normative sections are explicitly labelled as such.
Explicit notes are informative.
The framework is designed so that vocabularies can be layered.
The RDF and RDF vocabulary definition (RDF schema)
languages
RDF-VOCABULARY
] are the first
such vocabularies.
Others (cf. OWL [
OWL
] and
the applications mentioned in the primer
RDF-PRIMER
]) are in development.
In
section 2
the background rationale and design goals
are introduced.
Key concepts follow in
section 3
Section 4
discusses URI references
reserved for use by RDF.
Section 5
discusses datatypes.
XML content of
literals is described in
section
5.1
, and the abstract syntax is defined in
section 6
of this document.
Section 7
discusses the role of fragment
identifiers in URI references used with RDF.
RDF has an abstract syntax that reflects a simple graph-based
data model, and formal semantics with a rigorously defined notion
of entailment providing a basis for well founded deductions in RDF
data.
The development of RDF has been motivated by the following uses,
among others:
Web metadata: providing information about Web resources and
the systems that use them (e.g. content rating, capability
descriptions, privacy preferences, etc.)
Applications that require open rather than constrained
information models (e.g. scheduling activities, describing
organizational processes, annotation of Web resources, etc.)
To do for machine processable information (application data)
what the World Wide Web has done for hypertext: to allow data to
be processed outside the particular environment in which it was
created, in a fashion that can work at Internet scale.
Interworking among applications: combining data from several
applications to arrive at new information.
Automated processing of Web information by software agents:
the Web is moving from having just human-readable information to
being a world-wide network of cooperating processes. RDF provides
a world-wide lingua franca for these processes.
RDF is designed to represent information in a minimally
constraining, flexible way. It can be used in isolated
applications, where individually designed formats
might be more direct and easily understood, but RDF's generality offers greater value from
sharing. The value of information thus increases as it becomes
accessible to more applications across the entire Internet.
The design of RDF is intended to meet the following goals:
having a simple data model
having formal semantics and provable inference
using an extensible URI-based vocabulary
using an XML-based syntax
supporting use of XML schema datatypes
allowing anyone to make statements about any
resource
RDF has a simple data model that is easy for applications to
process and manipulate. The data model is independent of any
specific serialization syntax.
Note:
the term "model" used here in "data model" has a
completely different sense to its use in the term "model theory".
See [
RDF-SEMANTICS
for more information about "model
theory" as used in the literature of mathematics and logic.
RDF has a formal semantics which provides a dependable basis for
reasoning about the meaning of an RDF expression. In particular, it
supports rigorously defined notions of entailment which provide a
basis for defining reliable rules of inference in RDF data.
The vocabulary is fully extensible, being based on URIs with
optional fragment identifiers (
URI references
, or
URIrefs
). URI references are used for naming all kinds
of things in RDF.
The other kind of value that appears in RDF data is a
literal.
RDF has a recommended XML serialization form [
RDF-SYNTAX
], which can be used to encode the
data model for exchange of information among applications.
RDF can use values represented according to XML schema datatypes
XML-SCHEMA2
], thus assisting the
exchange of information between RDF and other XML applications.
To facilitate operation at Internet scale, RDF is an
open-world framework that allows anyone to make statements
about any resource.
In general, it is not assumed that complete information
about any resource is available. RDF does not prevent anyone
from making assertions that are nonsensical or inconsistent
with other statements, or the world as people see it. Designers
of applications that use RDF should be aware of this and may
design their applications to tolerate incomplete or
inconsistent sources of information.
RDF uses the following key concepts:
Graph data model
URI-based vocabulary
Datatypes
Literals
XML serialization syntax
Expression of simple facts
Entailment
The underlying structure of any expression in RDF is a
collection of triples, each consisting of a subject, a
predicate and an object. A set of such triples is called an RDF
graph (defined more formally in
section 6
). This can be
illustrated by a node and directed-arc diagram, in which each
triple is represented as a node-arc-node link (hence the term
"graph").
Each triple represents a statement of a relationship between
the things denoted by the nodes that it links. Each triple has
three parts:
subject
an
object
, and
predicate
(also called a
property
) that denotes a
relationship.
The direction of the arc is significant: it always points
toward the object.
The
nodes
of an RDF graph
are its subjects and objects.
The assertion of an RDF triple says that some relationship,
indicated by the predicate, holds between the things denoted by
subject and object of the triple. The assertion of an RDF graph
amounts to asserting all the triples in it, so the meaning of
an RDF graph is the conjunction (logical AND) of the statements
corresponding to all the triples it contains. A formal account
of the meaning of RDF graphs is given in [
RDF-SEMANTICS
].
A node may be a URI with optional fragment identifier (
URI reference
, or
URIref
), a literal,
or blank (having no separate form of identification).
Properties are
URI references
. (See [
URI
], section 4, for a description of URI
reference forms, noting that relative URIs are not used in an
RDF graph. See also
section
6.4
.)
A URI reference or literal used as a node identifies what
that node represents. A URI reference used as a predicate
identifies a relationship between the things represented by the nodes it connects. A
predicate URI reference may also be a node in the graph.
blank node
is a node that is
not a URI reference or a literal. In the RDF abstract syntax, a
blank node is just a unique node that can be used in one or
more RDF statements, and has no globally distinguishing
identity.
A convention used by some linear representations of an RDF
graph to allow several statements to reference the same
unidentified resource is to use a
blank node
identifier
, which is a local identifier that can be
distinguished from all URIs and literals. When graphs are
merged, their blank nodes must be kept distinct if meaning is
to be preserved; this may call for re-allocation of blank node
identifiers. Note that such blank node identifiers are not part
of the RDF abstract syntax, and the representation of triples
containing blank nodes is entirely dependent on the particular
concrete syntax used.
Datatypes are used by RDF in the representation of values such
as integers, floating point numbers and dates.
A datatype consists of a lexical space, a value space and a lexical-to-value
mapping, see
section 5
For example, the lexical-to-value mapping for the XML Schema datatype
xsd:boolean
, where each member of the value space
(represented here as 'T' and 'F') has two lexical representations,
is as follows:
Value Space
{T, F}
Lexical Space
{"0", "1", "true", "false"}
Lexical-to-Value Mapping
{<"true", T>, <"1", T>, <"0", F>,
<"false", F>}
RDF predefines just one datatype
rdf:XMLLiteral
, used for
embedding XML in RDF (see
section
5.1
).
There is no built-in concept of numbers or dates or other common
values. Rather, RDF defers to datatypes that are defined
separately, and identified with URI references.
The predefined XML Schema
datatypes [
XML-SCHEMA2
] are expected
to be widely used for this purpose.
RDF provides no mechanism for defining new datatypes. XML Schema
Datatypes [
XML-SCHEMA2
] provides an
extensibility framework suitable for defining new datatypes for use
in RDF.
Literals are used to identify values such as numbers and dates
by means of a lexical representation. Anything represented by a
literal could also be represented by a URI, but it is often more
convenient or intuitive to use literals.
A literal may be the object of an RDF statement, but not the
subject or the predicate.
Literals may be
plain
or
typed
plain literal
is a string combined
with an optional language tag. This may be used for
plain text in a natural language. As recommended in the RDF
formal semantics [
RDF-SEMANTICS
], these plain literals are
self-denoting.
typed literal
is a string combined with a
datatype URI. It denotes the
member of the identified datatype's value space obtained by
applying the lexical-to-value mapping to the literal string.
Continuing the example from
section
3.3
, the typed literals that can be defined using the XML
Schema datatype
xsd:boolean
are:
Typed Literal
Lexical-to-Value Mapping
Value
<"true", T>
<"1", T>
<"false", F>
<"0", F>
For text that may contain
markup, use typed literals
with type
rdf:XMLLiteral
If language annotation is required,
it must be explicitly included as markup, usually by means of an
xml:lang
attribute.
[XHTML]
may be included within RDF
in this way. Sometimes, in this latter case,
an additional
span
or
div
element is needed to carry an
xml:lang
or
lang
attribute.
The string in both plain and typed literals is recommended to
be in Unicode Normal Form C
[NFC]
. This is motivated
by
[CHARMOD]
particularly
section 4
Early Uniform Normalization
Some simple facts indicate a relationship between
two things.
Such a fact may be represented as an RDF triple in which the predicate
names the relationship, and the subject and object denote the two things.
A familiar representation of such a fact might be
as a row in a table in a relational database. The table has
two columns, corresponding to the subject and the object of the
RDF triple.
The name of the table corresponds to the predicate
of the RDF triple. A further familiar representation may be as a
two place predicate
in first order logic.
Relational databases permit a table to have an arbitrary number of columns,
a row of which expresses information corresponding to a predicate in first
order logic with an arbitrary number of places. Such a row, or predicate,
has to be decomposed for representation as RDF triples. A simple form of
decomposition introduces a new blank node, corresponding to the row, and a
new triple is introduced for each cell in the row. The subject of each
triple is the new blank node, the predicate corresponds to the column name,
and object corresponds to the value in the cell. The new blank node may
also have an
rdf:type
property whose value corresponds
to the table name.
As an example, consider Figure 6 from the
RDF-PRIMER
]:
RDF Primer Figure 6: Using a Blank Node
This information might correspond to a row in a table
"STAFFADDRESSES"
with a primary key
STAFFID
and additional columns
STREET
STATE
CITY
and
POSTALCODE
Thus, a more complex fact is expressed in RDF using a
conjunction (logical-AND) of simple binary relationships. RDF does not
provide means to express negation (NOT) or disjunction (OR).
Through its use of extensible URI-based vocabularies, RDF
provides for expression of facts about arbitrary subjects; i.e.
assertions of named properties about specific named things. A URI
can be constructed for any thing that can be named, so RDF facts
can be about any such things.
The ideas on meaning and inference in RDF are underpinned by the
formal concept of
entailment
, as
discussed in the RDF
semantics document [
RDF-SEMANTICS
].
In brief, an RDF expression A is said to
entail
another RDF expression B if every possible
arrangement of things in the world that makes A true also makes B
true. On this basis, if the truth of A is presumed or demonstrated
then the truth of B can be inferred .
RDF uses URI references to identify resources and properties. Certain
URI references are given specific meaning by RDF. Specifically, URI
references with the following leading substring are defined by the RDF
specifications:
(conventionally associated with namespace prefix
rdf:
Used with the RDF/XML serialization, this URI prefix
string corresponds to XML namespace names [
XML-NS
] associated with the RDF
vocabulary terms.
Note:
this namespace name is the same
as that used in the earlier RDF recommendation [
RDF-MS
].
Vocabulary terms in the
rdf:
namespace are listed in
section 5.1
of the RDF syntax specification [
RDF-SYNTAX
]. Some of these terms are
defined by the RDF specifications to denote specific concepts.
Others have syntactic purpose (e.g. rdf:ID is part of
the RDF/XML syntax).
The datatype abstraction used in RDF is compatible with
the abstraction used in
XML Schema Part 2:
Datatypes [
XML-SCHEMA2
].
A datatype consists of a lexical space, a value space and a lexical-to-value
mapping.
The
lexical space
of a datatype is a set of Unicode [
UNICODE
] strings.
The
lexical-to-value mapping
of a datatype is a set of pairs whose
first element belongs to
the
lexical space
of the datatype,
and the second element belongs to the
value space
of the datatype:
Each member of the lexical space is paired with (maps to) exactly one member
of the value space.
Each member of the value space may be paired with any number (including
zero) of members of the lexical space (lexical representations for that
value).
A datatype is identified by one or more URI references.
RDF may be used with any datatype definition that conforms to this
abstraction, even if not defined in terms of XML Schema.
Certain XML Schema built-in datatypes are not suitable for use
within RDF. For example, the
QName
datatype requires a namespace declaration to be in scope during
the mapping, and is not recommended for use in RDF.
RDF-SEMANTICS
] contains
more detailed discussion
of specific XML Schema built-in datatypes.
Note:
When the datatype is defined using XML Schema:
All values correspond to some lexical form, either using
the lexical-to-value mapping of the datatype or if it is a union
datatype with a lexical mapping associated with one of the member
datatypes.
XML Schema facets remain part of the datatype and are used by the XML
Schema mechanisms that control the lexical space and the value space;
however, RDF does not define a standard mechanism to access these facets.
In [
XML-SCHEMA1
],
white space normalization
occurs
during
validation
according to the value of the
whiteSpace
facet
. The lexical-to-value mapping used in RDF datatyping
occurs after this, so that the whiteSpace facet has no
effect in RDF datatyping.
RDF provides for XML content as a possible literal value. This
typically originates from the use of
rdf:parseType="Literal"
in the RDF/XML Syntax [
RDF-SYNTAX
].
Such content is indicated in an RDF graph using a typed literal
whose datatype is a special built-in datatype
rdf:XMLLiteral
defined as follows.
A URI reference for
identifying this datatype
is
The lexical space
is the set of all
strings:
The value space
is a set of entities, called XML values, which is:
disjoint from the lexical space;
disjoint from the value space of any XML schema datatype
XML-SCHEMA2
];
disjoint from the set of Unicode character strings [
UNICODE
] strings;
and in 1:1 correspondence with the lexical space.
The lexical-to-value mapping
is a one-one mapping from the lexical space onto the value space,
i.e. it is both injective and surjective.
Note:
Not all values of this datatype are compliant
with XML 1.1 [
XML 1.1
]. If compliance
with XML 1.1 is desired, then only those values that are
fully
normalized
according to XML 1.1 should be used.
Note:
XML values can be thought of as the
XML-INFOSET
] or the
XPATH
nodeset corresponding to the lexical form, with an appropriate equality
function.
Note:
RDF applications may use additional equivalence relations, such as
that which relates an
xsd:string
with an
rdf:XMLLiteral
corresponding to
a single text node of the same string.
This section defines the RDF abstract syntax. The RDF abstract
syntax is a set of triples, called the RDF graph.
This section also defines equivalence between RDF graphs. A
definition of equivalence is needed to support the RDF Test Cases [
RDF-TESTS
] specification.
Implementation Note:
This
abstract
syntax is the
syntax over which the formal semantics are defined.
Implementations are free to represent RDF graphs in
any other equivalent form. As an example:
in an RDF graph,
literals with datatype
rdf:XMLLiteral
can be represented
in a non-canonical
format, and canonicalization performed during the comparison between two
such literals. In this example the comparisons may be
being performed either between syntactic structures or
between their denotations in the domain of discourse.
Implementations that do not require any such comparisons can
hence be optimized.
An
RDF
triple
contains three components:
An RDF triple is conventionally written in the order subject,
predicate, object.
The predicate is also known as the
property
of the triple.
An
RDF
graph
is a set of RDF triples.
The set of
nodes
of an RDF graph is the set of subjects and objects of
triples in the graph.
Two RDF graphs
and
G'
are equivalent if there
is a bijection
between the nodes of the two graphs,
such that:
M(lit)=lit
for all
RDF literals
lit
which
are nodes of either graph.
M(uri)=uri
for all
RDF URI references
uri
which are nodes of either graph.
The triple
( s, p, o )
is in
if and
only if the triple
( M(s), p, M(o) )
is in
G'
With this definition, there are the same number of blank nodes in the two graphs,
and
shows how each blank node in
can be replaced with
a new blank node to give
G'
URI reference
within an RDF graph (an RDF URI reference) is a
Unicode string [
UNICODE
] that:
does not contain any control characters ( #x00 - #x1F, #x7F-#x9F)
and
would produce a
valid URI character sequence (per RFC2396 [
URI
], sections 2.1)
representing an absolute URI with optional
fragment identifier
when subjected to the encoding described below.
The encoding consists of:
encoding the Unicode string as UTF-8
RFC-2279
], giving a sequence of octet values.
%-escaping octets that do not correspond to permitted US-ASCII characters.
The disallowed octets that must be %-escaped include all those that do not
correspond to US-ASCII characters, and the excluded characters listed in
Section 2.4 of [
URI
], except for the number sign (#), percent sign (%),
and the square bracket characters re-allowed in [
RFC-2732
].
Disallowed octets must be escaped with the URI escaping mechanism (that is, converted to %HH,
where HH is the 2-digit hexadecimal numeral corresponding to the octet value).
Two RDF URI references are equal if and only if they compare as
equal, character by character, as Unicode strings.
Note:
RDF URI references are compatible with the
anyURI
datatype as defined by XML schema datatypes [
XML-SCHEMA2
], constrained to be an
absolute rather than a relative URI reference.
Note:
RDF URI references are compatible with
International Resource
Identifiers
as defined by [
XML
Namespaces 1.1
].
Note:
this section anticipates an RFC on Internationalized Resource
Identifiers. Implementations may issue warnings concerning the use
of RDF URI References that do not conform with [
IRI draft
] or its
successors.
Note:
The restriction to absolute URI references is
found in this abstract syntax. When there is a well-defined base
URI, concrete syntaxes, such as RDF/XML, may permit relative URIs
as a shorthand for such absolute URI references.
literal
in an RDF graph
contains one or two named components.
All literals have a
lexical form
being a Unicode [
UNICODE
] string, which SHOULD be in Normal Form C [
NFC
].
Plain literals
have
lexical form
and optionally a
language tag
as
defined by [
RFC-3066
], normalized to lowercase.
Typed literals
have a
lexical form
and a
datatype URI
being an
RDF URI reference
Note:
Literals in which the lexical form begins with a
composing character (as defined by [
CHARMOD
]) are allowed however they may cause
interoperability problems, particularly with XML version 1.1 [
XML 1.1
].
Note:
When using the language tag, care must be
taken not to confuse language with locale. The language
tag relates only to human language text. Presentational
issues should
be addressed in end-user applications.
Note:
The case normalization of
language tags is part of
the description of the abstract syntax, and consequently the abstract
behaviour of RDF applications. It does not constrain an
RDF implementation to actually normalize the case. Crucially, the result
of comparing two language tags should not be sensitive to the case of
the original input.
Two literals are equal if and only if all of the following
hold:
The strings of the two lexical forms compare equal, character
by character.
Either both or neither have language tags.
The language tags, if any, compare
equal.
Either both or neither have datatype URIs.
The two datatype URIs, if any, compare equal, character by
character.
Note:
RDF Literals are distinct and distinguishable
from RDF URI references; e.g. http://example.org as an RDF
Literal (untyped, without a language tag) is not equal to
The datatype URI refers to a
datatype
. For XML Schema
built-in
datatypes, URIs such as
are used. The URI
of the datatype
rdf:XMLLiteral
may be used.
There may be other, implementation dependent, mechanisms by which
URIs refer to datatypes.
The
value
associated with a typed literal is found by
applying the lexical-to-value mapping associated with the datatype URI to
the lexical form.
If the lexical form is not in
the lexical space of the datatype associated with the datatype URI,
then no literal value can be associated with the typed literal.
Such a case, while in error, is not
syntactically
ill-formed.
Note:
In application contexts, comparing the values of typed literals (see
section
6.5.2
is usually more helpful than comparing their syntactic forms (see
section
6.5.1
).
Similarly, for comparing RDF Graphs,
semantic notions of entailment (see
RDF-SEMANTICS
]) are usually
more helpful than syntactic equality (see
section
6.3
).
The
blank nodes
in an RDF graph
are drawn from an infinite set.
This set of blank nodes, the set of all
RDF URI references
and the set of all
literals
are pairwise disjoint.
Otherwise, this set of blank nodes is arbitrary.
RDF makes no reference to any internal structure of blank nodes.
Given two blank nodes, it is
possible to determine whether or not they are the same.
RDF uses an
RDF URI
Reference
, which may include a fragment identifier, as a
context free identifier for a resource. RFC 2396 [
URI
] states that the meaning of a fragment
identifier depends on the MIME content-type of a document, i.e.
is context dependent.
These apparently conflicting views are reconciled by
considering that a URI reference in an RDF graph is treated
with respect to the MIME type
application/rdf+xml
RDF-MIME-TYPE
]. Given an RDF URI
reference consisting of an absolute URI and a fragment
identifier, the fragment identifer identifies the same thing
that it does in an
application/rdf+xml
representation of the
resource identified by the absolute URI component. Thus:
we assume that the URI part (i.e. excluding fragment
identifier) identifies a resource, which is presumed to have
an RDF representation. So when
eg:someurl#frag
is used in an RDF
document,
eg:someurl
is taken to
designate some RDF document (even when no such document can
be retrieved).
eg:someurl#frag
means the thing
that is indicated, according to the rules of the
application/rdf+xml
MIME content-type as
a "fragment" or "view" of the RDF document at
eg:someurl
. If the document does not
exist, or cannot be retrieved, or is available only in
formats other than
application/rdf+xml
, then exactly what
that view may be is somewhat undetermined, but that does not
prevent use of RDF to say things about it.
the RDF treatment of a fragment identifier allows it to
indicate a thing that is entirely external to the document,
or even to the "shared information space" known as the Web.
That is, it can be a more general idea, like some particular
car or a mythical Unicorn.
in this way, an
application/rdf+xml
document acts as an
intermediary between some Web retrievable documents (itself,
at least, also any other Web retrievable URIs that it may
use, possibly including schema URIs and references to other
RDF documents), and some set of possibly abstract or non-Web
entities that the RDF may describe.
This provides a handling of URI references and their
denotation that is consistent with the RDF model theory and
usage, and also with conventional Web behavior. Note that
nothing here requires that an RDF application be able to
retrieve any representation of resources identified by the URIs
in an RDF graph.
This document contains a significant contribution from Pat
Hayes, Sergey Melnik and Patrick Stickler, under whose leadership
was developed the framework described in the RDF family of
specifications for representing datatyped values, such as integers
and dates.
The editors acknowledge valuable contributions from the
following:
Frank Manola,
Pat Hayes,
Dan Brickley,
Jos de Roo,
Dave Beckett,
Patrick Stickler,
Peter F. Patel-Schneider,
Jerome Euzenat,
Massimo Marchiori,
Tim Berners-Lee,
Dave Reynolds
and Dan Connolly.
Jeremy Carroll thanks
Oreste
Signore
, his host at the
W3C
Office in Italy
and
Istituto di Scienza e Tecnologie dell'Informazione
"Alessandro Faedo"
, part of the
Consiglio Nazionale delle Ricerche
where Jeremy is a visiting researcher.
This document is a product of extended deliberations by the
RDFcore Working Group, whose members have included:
Art Barstow (W3C),
Dave Beckett (ILRT),
Dan Brickley (ILRT),
Dan Connolly (W3C),
Jeremy Carroll (Hewlett Packard),
Ron Daniel (Interwoven Inc),
Bill dehOra (InterX),
Jos De Roo (AGFA),
Jan Grant (ILRT),
Graham Klyne (Nine by Nine),
Frank Manola (MITRE Corporation),
Brian McBride (Hewlett Packard),
Eric Miller (W3C),
Stephen Petschulat (IBM),
Patrick Stickler (Nokia),
Aaron Swartz (HWG),
Mike Dean (BBN Technologies / Verizon),
R. V. Guha (Alpiri Inc),
Pat Hayes (IHMC),
Sergey Melnik (Stanford University) and
Martyn Horner (Profium Ltd).
This specification also draws upon an earlier RDF Model and
Syntax document edited by Ora Lassilla and Ralph Swick, and RDF
Schema edited by Dan Brickley and R. V. Guha. RDF and RDF Schema
Working Group members who contributed to this earlier work are:
Nick Arnett (Verity),
Tim Berners-Lee (W3C),
Tim Bray (Textuality),
Dan Brickley (ILRT / University of Bristol),
Walter Chang (Adobe),
Sailesh Chutani (Oracle),
Dan Connolly (W3C),
Ron Daniel (DATAFUSION),
Charles Frankston (Microsoft),
Patrick Gannon (CommerceNet),
R. V. Guha (Epinions, previously of Netscape
Communications),
Tom Hill (Apple Computer),
Arthur van Hoff (Marimba),
Renato Iannella (DSTC),
Sandeep Jain (Oracle),
Kevin Jones, (InterMind),
Emiko Kezuka (Digital Vision Laboratories),
Joe Lapp (webMethods Inc.),
Ora Lassila (Nokia Research Center),
Andrew Layman (Microsoft),
Ralph LeVan (OCLC),
John McCarthy (Lawrence Berkeley National Laboratory),
Chris McConnell (Microsoft),
Murray Maloney (Grif),
Michael Mealling (Network Solutions),
Norbert Mikula (DataChannel),
Eric Miller (OCLC),
Jim Miller (W3C, emeritus),
Frank Olken (Lawrence Berkeley National Laboratory),
Jean Paoli (Microsoft),
Sri Raghavan (Digital/Compaq),
Lisa Rein (webMethods Inc.),
Paul Resnick (University of Michigan),
Bill Roberts (KnowledgeCite),
Tsuyoshi Sakata (Digital Vision Laboratories),
Bob Schloss (IBM),
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.) and
Lauren Wood (SoftQuad).
9.1 Normative References
[RDF-SYNTAX]
RDF/XML
Syntax Specification (Revised)
, Dave Beckett, World Wide
Web Consortium, 10 October 2003 (work in progress). This version
of the RDF/XML Syntax Specification (Revised) is
latest version is at
[RDF-SEMANTICS]
RDF Semantics
P. Hayes, World Wide
Web Consortium, 10 October 2003 (work in progress).
This version of the RDF Semantics is
is at
[RDF-MIME-TYPE]
Application/rdf+xml Media Type Registration
, A. Swartz,
IETF Internet Draft, September 11 2003 (work in progress). Version
available at
[XML]
Extensible Markup
Language (XML) 1.0, Second Edition
, T. Bray, J. Paoli,
C.M. Sperberg-McQueen and E. Maler, Editors. World Wide Web
Consortium. 6 October 2000. This version is
. The
latest version of XML is available at
[XML-NS]
Namespaces in
XML
, T. Bray, D. Hollander and A. Layman, Editors.
World Wide Web Consortium. 14 January 1999. This version is
The
latest version
of Namespaces in XML
is available at
[RFC-2279]
RFC 2279
- UTF-8, a transformation format of ISO 10646
, F.
Yergeau, IETF, January 1998. This document is
[URI]
RFC
2396 - Uniform Resource Identifiers (URI): Generic
Syntax
, T. Berners-Lee, R. Fielding and L. Masinter,
IETF, August 1998. This document is
[RFC-2732]
RFC 2732
- Format for Literal IPv6 Addresses in URL's
, R. Hinden,
B. Carpenter and L. Masinter, IETF, December 1999. This document
is http://www.isi.edu/in-notes/rfc2732.txt.
[UNICODE]
The Unicode Standard, Version 3
, The Unicode
Consortium, Addison-Wesley, 2000. ISBN 0-201-61633-5, as updated
from time to time by the publication of new versions. (See
for the latest version and additional information on versions of
the standard and of the Unicode Character Database).
[NFC]
Unicode
Normalization Forms,
Unicode Standard Annex #15, Mark
Davis, Martin Dürst. (See
for the latest version).
[RFC-3066]
RFC 3066
- Tags for the Identification of Languages
, H.
Alvestrand, IETF, January 2001. This document is
[XML-XC14N]
Exclusive XML Canonicalization Version 1.0
, J. Boyer, D.E. Eastlake 3rd, J. Reagle, Authors/Editors. W3C Recommendation. World Wide Web Consortium, 18 July 2002. This version of Exclusive XML
Canonicalization is
The
latest version of Canonical XML
is at http://www.w3.org/TR/xml-exc-c14n.
[XML-SCHEMA2]
XML Schema
Part 2: Datatypes
, W3C Recommendation, World Wide Web
Consortium, 2 May 2001.This version is
latest version
is available at
9.2 Informational
References
[RDF-TESTS]
RDF Test
Cases
, Jan Grant and Dave Beckett, Editors. Work in
progress. World Wide Web Consortium, 10 October 2003. This version
of the RDF Test Cases is
The latest version of the RDF Test Cases is at
[RDF-PRIMER]
RDF
Primer
, F. Manola, E. Miller, Editors, World Wide Web
Consortium W3C Working Draft, work in progress, 10 October 2003.
This version of the RDF Primer is
latest version of the RDF
Primer
is at http://www.w3.org/TR/rdf-primer/.
[RDF-VOCABULARY]
RDF Vocabulary
Description Language 1.0: RDF Schema
, Dan Brickley, R.V.
Guha, World Wide Web Consortium, 10 October 2003 (work in progress).
This version of the RDF Vocabulary
Description Language is http://www.w3.org/TR/2003/WD-rdf-schema-20031010/.
The latest version is at
[CHARMOD]
Character Model
for the World Wide Web 1.0
, M. Dürst, F. Yergeau,
R. Ishida, M. Wolf, T. Texin, Editors, World Wide Web
Consortium Working Draft, work in progress, 22 August 2003.
This version of the Character Model is
latest version of the Character
Model
is at http://www.w3.org/TR/charmod/.
[XML-1.1]
Extensible Markup
Language (XML) 1.1
, John Cowan, Editor.
W3C Candidate Recommendation 15 October 2002.
This version is
latest version
is available at
[XML-SCHEMA1]
XML Schema Part 1: Structures
W3C Recommendation, World Wide Web
Consortium, 2 May 2001.
This version is
latest version
is available at
[XML-NAMESPACES-1.1]
Namespaces
in XML 1.1
, Tim Bray, Dave Hollander, Andrew Layman,
Richard Tobin, Editors. W3C Candidate Recommendation 18 December 2002.
This version is
latest version
is available at
[XML-INFOSET]
XML
Information Set
, John Cowan and Richard Tobin, W3C
Recommendation, 24 October 2001. This document is
The
latest version
is available at
[XPATH]
XML Path Language (XPath) Version 1.0
, J. Clark and S. DeRose, Editors. World Wide Web Consortium, 16 November 1999. This version of XPath is
. The
latest version of XPath
is at
[OWL]
OWL Web
Ontology Language Reference
, Mike Dean, Guus Schreiber.
W3C
Candidate Recommendation 18 August 2003.
Latest version is available at
[RDF-MS]
Resource
Description Framework (RDF) Model and Syntax
Specification
, O. Lassila and R. Swick, Editors. World
Wide Web Consortium. 22 February 1999. This version is
latest version of RDF
M&S
is available at
[XHTML]
XHTML
1.0 The Extensible HyperText Markup Language (Second Edition)
World
Wide Web Consortium. 26 January 2000, revised 1 August 2002. This version is
latest version of XHTML 1
is available at
[IRI draft]
Internationalized Resource Identifiers (IRIs)
, M. Dürst
and M. Suignard, Internet-Draft, June 2003, expires December 2003. This document
is
We divide these into non-editorial and editorial.
The non-editorial changes also list consquential editorials changes.
Editorial changes are those which do not result in any change in
the meaning of an RDF document or the behaviour of an RDF application.
pfps-14
Deleted
section 4 about social meaning
cf
msg from meeting at tech plenary
Also removed
previous
section 2.2.8
("A Basis for Binding Agreements") as
this also related to social meaning. Also: removed mention in
section
3.3. Datatypes
about the defining authority of a datatype URI. Small
consequential changes in abstract and introduction and
bulleted list at start of section 2.2
Consequential deletion of
[HTTP]
and
[URI-REG]
references.
macgregor-01
macgregor-02
These issues, about distinguishing asserted and
non-asserted statements and propositional attitudes, aref
addressed by the removal of
section 4
which raised doubts
about their inclusion in RDF.
danc-02 goofy literals
The
definition of literal
was reworked to exclude the case
of a typed literal with a language tag. Also changed from using the term
language identifier to use the term langauge tag.
Section 3.4
also affected).
See also
WG resolution on typed literals
XMLLiteral simplification
There has been a significant simplication in
this part
of the document.
reagle-01
reagle-02
Exclusive canonicalization is now used throughout, and the lexical-to-value
mapping has been simplified, with the real work being done in the RDF syntax document.
Added a new implementation note at very end of section 6 to indicate that
canonicalization is not needed for some RDF applications.
language tag
As per
WG resolution
this is no longer significant.
Consequential changes in
section 6.5.2
I18N clarification
As per
WG decision
a paragraph is added to
section 3.4
to encourage use of XML Literal
when markup may be required. Added informative reference to
[XHTML]
Wrapping
This is dropped, as in the
WG resolution
value space
The current text was approved by WG decision on
15th August
references
The old reference to
C14N
is replaced by one to
EXC-C14N
williams-02
Given changes in advice from I18N, we deleted the normalization form C
constraint from
RDF URI references definition
Removed nomormative dependency on RDFS
As per
WG decision
section 4
has had
old text to do with the
RDFS namespace
deleted. Consequential editorial changes.
[RDF-VOCABULARY]
changed to being an informative reference.
Reference to old version of schema
dropped.
absolute URIs
The
normative
restriction to absolute URIs had got lost
in the LC working draft due to editorial error. This restriction
was still stated in informative text. The phrase "representing an absolute URI with optional
fragment identifier" is added
to
section 6.4
Clarifying datatypes
The normative text concerning datatypes is reworked.
The old text from
section 3.3
is replaced by updated text in
section 5
Specific changes concern:
xmlsch-02
Concerning the whiteSpace facet is also addressed by that same note, just before section 5.1.
xmlsch-03
we globally use the term lexical-to-value mapping instead of
datatype mapping or any other term
xmlsch-04
We do not change the definition of value space but add a note, just before section 5.1,
clarifying the relationship with XML Schema datatypes.
pfps-13
Concerning facets is addressed by that same note, just before section 5.1.
inappropriate XML schema datatypes
A link to the new discussion in RDF Semantics is provided.
tex-01
Add new note at end of
section 6.5
concerning case of language tags
williams-01
Reworked text in section 3.2 to be more consistent with
view of URIs as nodes (rather than node labels). Included
revised introduction of node concept in section 3.1. Used
some of
Pat Hayes' suggested text
in section 3.1. Also some
impact on rewording in section 2.2.6. Some further small
reworking of sections 3.1, 3.2 in response to RDFcore mailing
list comments. Added last sentence to
section 6.6
Changed arc to predicate in
section 3.4
predicate
or property
Section 3.1, replace use of "property" by "predicate", also in
picture
Similarly, other uses throughout the document. The term
"property" still appears, but "predicate" is now used as the
lead term. The naming convention is that
predicate, node, triple are
preferred as syntactic terms; property, resource, statement are preferred
as semantic terms.
Related to
pfps-15 on the Primer
Deleted section
2.2.7
(which didn't say anything not
already covered by section 2.2.6), and
revised title and wording
of
section 2.2.6
pfps-22
pfps-23
Revised text in section 4 to clarify role of RDF(S)
vocabulary. Also changed term "URI" to "URI reference".
After
further discussion
with the commentator,
further changes
were agreed by the WG.
FragID clarifications
Reworked text in
section 7
to clarify
its intent, and
added note that retrieval of resource representation is not
required . This in response to last-call comments from
Stuart
Williams
and
Massimo Marchiori
Removed term RDF Core
As per
WG decision
, the term RDF Core has been replaced throughout.
In particular title of
section 4
changed.
Minor changes to
section 1
, and the body
of
section 4
language identifier vs language tag
globally replaced "langauge identifier" with "language tag"
Namespace name
Also changed "namespace URI" to
"namespace name", to be more consistent with XML namespace
termonology.
pfps-18
While this comment was accepted, it has not resulted in any changes in this documented.
danc-01
s/equal/equivalent/ in
section 6.3
xmlsch-06 natural language data
s/should/may/ in
section 3.4
pfps-16
Removed one false sentence from section 3.5 concerning expressive power; and consequentially
[SOWA] reference
deleted editors note concerning tag issue IRI-Everywhere
Renumbering
Renumbered previous
section 3.7
to
section 4
, as it doesn't
really seem to belong in "Concepts" (and to minimize
renumbering of the document).
Renumbered old
section 5
as
5.1
, and moved the normative text of
old
section 3.3
to become the new
section 5
, leaving the
new
section 3.3
as informative.
Permitted additionally clarification in
bulleted list in introduction
as to which parts of this documents are normative.
Consequential changes to
section 1.1
Typos from XMLSCH-WG
s/syntacticly/syntactically/ in
section 6.5.2
s/element tag/element/ in
section 5.1
note the text has changed so that the exact instance of the problem did not occur, but the
term, as corrected still does.
s/XML element content/XML data/ in
section 5.1
Polishing
Deleted most of some spurious repetitive discursive text in
section 1.1
, moved contentful phrase into
section 1.
Minor changes in
bulleted list at start of section 2.2
Minor fix to reference in note of
section 2.2.1
Two word simplification in bullet list at start of
section 3
s/Representation/RDF Expression/ in title of
section 3.5
s/and/combined with/ in second bullet in
section 3.4
added "set of" to definition of
nodes
Replaced "The language tags of the two lexical forms compare equal." with
"The language tags, if any, compare equal. " in
section 6.5.1
Added "of blank nodes" to
section 6.6
Updated figure and changed ZIP to POSTALCODE in 3.5 to track changes in the primer.
Deleted duplicate sentence at end of in
section 6.5.2
Added "mentioned" to
section 1
removed italics from lingua franca
2.1
s/which/that/ in
section 3.4
s/objects/things/ in
section 3.5
s/relates only/only relates/ in
section 6.5
References
Updated links to
[OWL]
[XML-NAMESPACES-1.1]
[XML-1.1]
[CHARMOD]
[RDF-MIME-TYPE]
Used dated URIs where possible:
change to
[XML-NAMESPACES-1.1]
[XML-1.1]
[XML-SCHEMA2]
[XML-INFOSET]
New reference to
XML Schema part 1
We divide these into non-editorial and editorial.
The non-editorial changes also list consquential editorials changes.
Editorial changes are those which do not result in any change in
the meaning of an RDF document or the behaviour of an RDF application.
IRIs
Excluded control characters from
RDF URI References
Added note in same section, permitting implementors to read and partially act on IRI-draft.
Added informative reference to
IRI draft
NFC
Weakened the language concerning Normal Form C from MUST to SHOULD, as agreed
on
3rd October
More NFC
Added text in section
3.4
Literals
suggesting reading Charmod