Resource Description Framework (RDF): Concepts and Abstract Syntax (original) (raw)
Abstract
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.
Status of this Document
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 W3CLast Call Working Draftof the RDF Core Working Groupand has been produced as part of the W3CSemantic 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 previous05 September 2003 Working Draftare described in the changes section. These are in addition to the changes between the 23 January 2003and 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 Disclosurepage.
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/.
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 http://www.w3.org/TR/.
Table of Contents
- 1. Introduction
- 2. Motivations and Goals
- 3. RDF Concepts
- 4. RDF Vocabulary URI and Namespace (Normative)
- 5. Datatypes (Normative)
- 6. Abstract Syntax (Normative)
- 7. Fragment Identifiers
- 8. Acknowledgments
- 9. References
- A: Revisions between Drafts 23 January and 05 September 2003
- B: Revisions since Working Draft 05 September 2003
1. Introduction
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:
- XML serialization syntax [RDF-SYNTAX],
- formal semantics [RDF-SEMANTICS], and
- this document, (sections 4, 5 and 6).
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.
1.1 Structure of this Document
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.
2. Motivations and Goals
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.
2.1 Motivation
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.
2.2 Design Goals
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
2.2.1 A Simple Data Model
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.
2.2.2 Formal Semantics and Inference
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.
2.2.3 Extensible URI-based Vocabulary
The vocabulary is fully extensible, being based on URIs with optional fragment identifiers (URI references, orURIrefs). 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.
2.2.4 XML-based Syntax
RDF has a recommended XML serialization form [RDF-SYNTAX], which can be used to encode the data model for exchange of information among applications.
2.2.5 Use XML Schema Datatypes
RDF can use values represented according to XML schema datatypes [XML-SCHEMA2], thus assisting the exchange of information between RDF and other XML applications.
2.2.6 Anyone Can Make Statements About Any Resource
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.
3. RDF Concepts
RDF uses the following key concepts:
- Graph data model
- URI-based vocabulary
- Datatypes
- Literals
- XML serialization syntax
- Expression of simple facts
- Entailment
3.1 Graph Data Model
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:
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].
3.2 URI-based Vocabulary and Node Identification
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.
A 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.
3.3 Datatypes
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 datatypexsd: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.
3.4 Literals
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 :
- A 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.
- A 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 |
---|---|---|
<xsd:boolean, "true"> | <"true", T> | T |
<xsd:boolean, "1"> | <"1", T> | T |
<xsd:boolean, "false"> | <"false", F> | F |
<xsd:boolean, "0"> | <"0", F> | 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 anxml: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.
3.5 RDF Expression of Simple Facts
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 andPOSTALCODE.
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.
3.6 Entailment
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 toentail 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 .
4. RDF Vocabulary URI and Namespace (Normative)
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:
- http://www.w3.org/1999/02/22-rdf-syntax-ns# (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).
5. Datatypes (Normative)
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 QNamedatatype requires a namespace declaration to be in scope during the mapping, and is not recommended for use in RDF. [RDF-SEMANTICS] contains a 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 validationaccording 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.
5.1 XML Content within an RDF Graph
RDF provides for XML content as a possible literal value. This typically originates from the use ofrdf: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 datatyperdf:XMLLiteral, defined as follows.
A URI reference for identifying this datatype
ishttp://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral.
The lexical space
is the set of all strings:
- which are well-balanced, self-contained XML content[XML];
- for which encoding as UTF-8 [RFC 2279] yields exclusive Canonical XML (with comments, with empty InclusiveNamespaces PrefixList) [XML-XC14N];
- for which embedding between an arbitrary XML start tag and an end tag yields a document conforming to XML Namespaces [XML-NS]
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 arefully 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:stringwith an rdf:XMLLiteral
corresponding to a single text node of the same string.
6. Abstract Syntax (Normative)
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.
6.1 RDF Triples
An RDF triple contains three components:
- the subject, which is an RDF URI referenceor a blank node
- the predicate, which is an RDF URI reference
- the object, which is an RDF URI reference, a literalor a blank node
An RDF triple is conventionally written in the order subject, predicate, object.
The predicate is also known as the property of the triple.
6.2 RDF Graph
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.
6.3 Graph Equivalence
Two RDF graphs G and G' are equivalent if there is a bijection M 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 G if and only if the triple ( M(s), p, M(o) ) is inG'
With this definition, there are the same number of blank nodes in the two graphs, and M shows how each blank node in G can be replaced with a new blank node to give G'.
6.4 RDF URI References
A 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.
6.5 RDF Literals
A 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 a 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.
6.5.1 Literal Equality
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 http://example.org as an RDF URI reference.
6.5.2 The Value Corresponding to a Typed Literal
The datatype URI refers to a datatype. For XML Schema built-in datatypes, URIs such ashttp://www.w3.org/2001/XMLSchema#int 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).
6.6 Blank Nodes
The blank nodes in an RDF graph are drawn from an infinite set. This set of blank nodes, the set of all RDF URI referencesand 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.
7. Fragment Identifiers
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.
8. Acknowledgments
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), iTsuyoshi 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. References
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 http://www.w3.org/TR/2003/WD-rdf-syntax-grammar-20031010/. The latest version is at http://www.w3.org/TR/rdf-syntax-grammar/.
[RDF-SEMANTICS]
RDF Semantics, P. Hayes, World Wide Web Consortium, 10 October 2003 (work in progress). This version of the RDF Semantics is http://www.w3.org/TR/2003/WD-rdf-mt-20031010/. The latest version is at http://www.w3.org/TR/rdf-mt/.
[RDF-MIME-TYPE]
Application/rdf+xml Media Type Registration, A. Swartz, IETF Internet Draft, September 11 2003 (work in progress). Version available at http://www.ietf.org/internet-drafts/draft-swartz-rdfcore-rdfxml-mediatype-03.txt.
[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 ishttp://www.w3.org/TR/2000/REC-xml-20001006. The latest version of XML is available at http://www.w3.org/TR/REC-xml.
[XML-NS]
Namespaces in XML, T. Bray, D. Hollander and A. Layman, Editors. World Wide Web Consortium. 14 January 1999. This version ishttp://www.w3.org/TR/1999/REC-xml-names-19990114/. The latest version of Namespaces in XML is available at http://www.w3.org/TR/REC-xml-names/.
[RFC-2279]
RFC 2279 - UTF-8, a transformation format of ISO 10646, F. Yergeau, IETF, January 1998. This document is http://www.isi.edu/in-notes/rfc2279.txt.
[URI]
RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax, T. Berners-Lee, R. Fielding and L. Masinter, IETF, August 1998. This document is http://www.isi.edu/in-notes/rfc2396.txt.
[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 http://www.unicode.org/unicode/standard/versions/ 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 http://www.unicode.org/unicode/reports/tr15/ for the latest version).
[RFC-3066]
RFC 3066 - Tags for the Identification of Languages, H. Alvestrand, IETF, January 2001. This document is http://www.isi.edu/in-notes/rfc3066.txt.
[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 http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/. 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 http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/. The latest version is available at http://www.w3.org/TR/xmlschema-2/.
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 ishttp://www.w3.org/TR/2003/WD-rdf-testcases-20031010/. The latest version of the RDF Test Cases is at http://www.w3.org/TR/rdf-testcases/.
[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 http://www.w3.org/TR/2003/WD-rdf-primer-20031010/. The 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 http://www.w3.org/TR/rdf-schema/.
[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 http://www.w3.org/TR/2003/WD-charmod-20030822/. The 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 http://www.w3.org/TR/2002/CR-xml11-20021015/. The latest version is available at http://www.w3.org/TR/xml11/.
[XML-SCHEMA1]
XML Schema Part 1: Structures W3C Recommendation, World Wide Web Consortium, 2 May 2001. This version is http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/. The latest version is available at http://www.w3.org/TR/xmlschema-1/.
[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 http://www.w3.org/TR/2002/CR-xml-names11-20021218/. The latest version is available at http://www.w3.org/TR/xml-names11/.
[XML-INFOSET]
XML Information Set, John Cowan and Richard Tobin, W3C Recommendation, 24 October 2001. This document is http://www.w3.org/TR/2001/REC-xml-infoset-20011024/. The latest version is available at http://www.w3.org/TR/xml-infoset/.
[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 http://www.w3.org/TR/1999/REC-xpath-19991116. The latest version of XPath is at http://www.w3.org/TR/xpath.
[OWL]
OWL Web Ontology Language Reference, Mike Dean, Guus Schreiber. W3C Candidate Recommendation 18 August 2003. Latest version is available at http://www.w3.org/TR/owl-ref/.
[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 http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/. The latest version of RDF M&S is available at http://www.w3.org/TR/REC-rdf-syntax/.
[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 http://www.w3.org/TR/2002/REC-xhtml1-20020801/. The latest version of XHTML 1 is available at http://www.w3.org/TR/xhtml1/.
[IRI draft]
Internationalized Resource Identifiers (IRIs), M. Dürst and M. Suignard, Internet-Draft, June 2003, expires December 2003. This document is http://www.w3.org/International/iri-edit/draft-duerst-iri-04.
Appendix A: Revisions between Drafts 23 January and 05 September 2003
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.
Appendix A.1: Non-Editorial Revisions
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.
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.
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.
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 resolutionthis is no longer significant. Consequential changes in section 6.5.2
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].
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 C14Nis replaced by one to EXC-C14N.
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.
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.
Appendix A.2: Editorial Revisions
Clarifying datatypes
The normative text concerning datatypes is reworked. The old text from section 3.3is replaced by updated text in section 5. Specific changes concern:
Concerning the whiteSpace facet is also addressed by that same note, just before section 5.1.
we globally use the term lexical-to-value mapping instead of datatype mapping or any other term
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.
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.
Add new note at end of section 6.5 concerning case of language tags
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
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.
Revised text in section 4 to clarify role of RDF(S) vocabulary. Also changed term "URI" to "URI reference".
After further discussionwith 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 andMassimo Marchiori.
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.
While this comment was accepted, it has not resulted in any changes in this documented.
s/equal/equivalent/ in section 6.3
xmlsch-06 natural language data
s/should/may/ insection 3.4.
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.7to 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.3to become the new section 5, leaving the new section 3.3 as informative.
Permitted additionally clarification in bulleted list in introductionas to which parts of this documents are normative.
Consequential changes to section 1.1.
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.
Appendix B: Revisions since Working Draft 05 September 2003
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.
Appendix B.1: Non-Editorial Revisions
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.
Weakened the language concerning Normal Form C from MUST to SHOULD, as agreed on 3rd October.
Appendix B.2: Editorial Revisions
Added text in section 3.4 Literals suggesting reading Charmod