Copyright © 2003 W3C ® ( MIT , ERCIM , Keio ), All Rights Reserved. W3C liability , trademark , document use and software licensing rules apply.
The Resource Description Framework (RDF) is a framework for representing information in the Web.
This document 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, deleted text: meaning of RDF documents, 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 21 February 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 http://lists.w3.org/Archives/Public/www-rdf-comments/ .
This is Publication as a deleted text: public W3C Last Call Working Draft for review does not imply endorsement by the W3C Members and other interested parties. Membership. This deleted text: section describes the status of this document at the time of its publication. It is a draft document and may be updated, replaced, replaced or obsoleted by other documents at any time. It is inappropriate to deleted text: use W3C Working Drafts as reference material or to cite this document as other than "work work in progress". progress. A list of current W3C Recommendations and other technical documents can be found at <a href="/TR/"> http://www.w3.org/TR/ </a>. http://www.w3.org/TR/.
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, deleted text: meaning of RDF documents, key concepts, datatyping, character normalization and handling of URI references.
Normative documentation of deleted text: the RDF deleted text: core 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 on top of a core. layered. The RDF deleted text: core 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 . The meaning of RDF is discussed in <a href="#section-Meaning"> section Section 4 </a>, including discussion of social mechanisms, the interaction between social and formal meaning and the implications of publication of an RDF document. discusses URI references reserved for use by RDF.
RDF's abstract syntax is a graph, which can be serialized using XML (but which is quite distinct from XML's tree-based infoset [ <a href="#ref-xml-infoset"> XML-INFOSET Section 5 ]). The abstract syntax captures the fundamental structure of RDF, independently of any concrete syntax used for serialization. The formal semantics of RDF are defined in terms of the abstract syntax. discusses datatypes. XML content of literals is described in section 5 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:
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:
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 deleted text: the RDF model theory specification [ 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 simple assertions statements about anything. any resource.
In general, it is not assumed that all complete information about any topic resource is available. deleted text: A consequence of this is that RDF cannot does not prevent anyone from making assertions that are nonsensical or inconsistent with other statements, or the world as people see it, and it. Designers of applications that build upon use RDF need to find ways should be aware of this and may design their applications to deal with tolerate incomplete and conflicting or inconsistent sources of information. deleted text: (This is where RDF departs from more prescriptive approaches to representing data in XML, which aim to present information that is well-formed and complete for an application's needs.) </p> <h4> <a id="section-expression-simple" name="section-expression-simple"> 2.2.7 Arbitrary Expression of Simple Facts </a> </h4> <p> RDF can represent arbitrary information that can be expressed as simple facts. (What constitutes a simple fact is discussed later, in <a href="#section-SimpleFacts"> section 3.5 </a> ) </p> <h4> <a id="section-agreements" name="section-agreements"> 2.2.8 A Basis for Binding Agreements </a> </h4> <p> RDF is intended to convey assertions that are meaningful to the extent that they may, in appropriate contexts, be used to express the terms of binding agreements. </p> <p> This goal is explored further in <a href= "#section-Social"> section 4.2 </a> below.
RDF uses the following key concepts:
The underlying structure of any expression in RDF can be viewed as is a directed labelled graph, which consists collection of nodes triples, each consisting of a subject, a predicate and labelled directed arcs that link pairs an object. A set of nodes (these notions are defined such triples is called an RDF graph (defined more formally in section 6 ). The RDF graph This can be illustrated by a node and directed-arc diagram, in which each triple is represented as a set of triples: node-arc-node link (hence the term "graph").
<img src="http://www.w3.org/TR/rdf-concepts/Graph-ex.gif" alt= "image of the RDF triple comprising (subject, predicate, object)" height="72" width="361" />
Each property arc triple represents a statement of a relationship between the things denoted by the nodes that it links, having links. Each triple has three parts:
The direction of the arc is significant: it always points toward the object object.
The nodes of a statement. 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 (i.e. logical (logical AND) of deleted text: all the statements that corresponding to all the triples it contains. A formal account of the meaning of RDF graphs is given in [ RDF-SEMANTICS ].
<a href="#section-Graph-Node" > Nodes </a> in an RDF graph are URIs A node may be a URI with optional fragment identifiers identifier ( <a href="#dfn-URI-reference" > URI references reference , or <a id= "dfn-URIref" name="dfn-URIref"> URIrefs URIref ), literals, a literal, or blank (having no separate form of identification). Arcs Properties are deleted text: labelled with URI references . (See [ <a href= "#ref-uris"> 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 .)
The A URI reference or literal used as a node identifies what that node represents. The label on an arc A URI reference used as a predicate identifies the a relationship between the nodes connected things represented by the arc. The arc label nodes it connects. A predicate URI reference may also be a node in the graph.
A <a href="#dfn-blank-node" > blank node is an RDF graph 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 blank node 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. deleted text: </p> <p> Note that such blank node identifiers are deleted text: <em> not deleted text: </em> part of the RDF abstract syntax, and the representation of statements that use 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.
deleted text: RDF uses the datatype abstraction defined by XML Schema Part 2: Datatypes [ <a href="#ref-xml-schema2"> XML-SCHEMA2 </a> ], and may be used with any datatype definition that conforms to this abstraction, even if not actually defined in terms of XML Schema. </p> <p> A deleted text: <dfn> <a id="dfn-datatype-mapping" name= "dfn-datatype-mapping"> datatype mapping </a> </dfn> is a set of pairs whose first element belongs to the <dfn> <a id="dfn-lexical-space" name="dfn-lexical-space"> lexical space </a> </dfn> of the datatype, and the second element belongs to the <dfn> <a id="dfn-value-space" name="dfn-value-space"> value space </a> </dfn> of the datatype: </p> <ul> <li> Each member of the <cite> lexical space </cite> is paired with (maps to) exactly one member of the <cite> value space </cite>. </li> <li> Each member of the <cite> value space </cite> may be paired with any number (including zero) of members consists of deleted text: the <cite> lexical space </cite> (lexical representations for that value). </li> </ul> <p> With one exception, the datatypes used in RDF have a deleted text: <var> <cite> lexical space </cite> </var> consisting of space, a set of strings. The exception is <a href= "#dfn-rdf-XMLLiteral" class="code"> rdf:XMLLiteral </a>, whose lexical value space deleted text: also includes pairs of strings and language identifiers. The value obtained through its datatype mapping may depend on the language identifier. a lexical-to-value mapping, see section 5 .
For example, the datatype 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"} |
| Datatype 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 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 references. The predefined XML Schema datatypes [ XML-SCHEMA2 ] are expected to be widely used for this purpose.
deleted text: Certain XML Schema built-in datatypes are not suitable for use within RDF. For example, the <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#QName"> QName </a> datatype requires a namespace declaration to be in scope during the mapping, and is not recommended for use in RDF. </p> <p> The defining authority of a URI which identifies a datatype is responsible for specifying the datatype's lexical space, value space and datatype mapping. </p> <p> 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 arc. predicate.
Literals may be plain or typed :
Continuing the example from <a href="#section-Datatypes"> section 3.3 , the typed literals which that can be defined using the XML Schema datatype xsd:boolean are:
| Typed Literal | Datatype 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
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 objects. 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 objects. 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 5 6 from the [ RDF-PRIMER ]:
This information might correspond to a row in a table "STAFFADDRESSES" , with a primary key STAFFID , and additional columns STREET , STATE , CITY and ZIP 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). deleted text: The expressive power of RDF corresponds to the existential-conjunctive (EC) subset of first order logic [ <a href= "#ref-sowa"> Sowa </a> ].
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 <a href="http://www.w3.org/TR/rdf-mt/#entail"> 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 .
<h3>RDF uses URIs URI references to identify resources and properties. Certain URIs URI references are reserved for use given specific meaning by RDF, and may not be used for any purpose not sanctioned the RDF specifications. RDF. Specifically, URIs URI references with the following leading substrings substring are reserved for defined by the RDF core vocabulary: specifications:
Used with the RDF/XML serialization, these this URI prefix strings correspond string corresponds to XML namespaces namespace names [ XML-NS ] associated with the RDF deleted text: core vocabulary terms.
Note: these this namespace URIs are name is the same as those that used in the earlier RDF documents recommendation [ RDF-MS deleted text: ] [ <a href="#ref-rdf-schema"> RDF-SCHEMA </a> ].
deleted text: <p class="todo"> [[[ <b> NOTE FOR REVIEWERS: </b> Some terms in these namespaces have been deprecated, some have been added, and some RDF schema terms have had their meaning changed. We invite community feedback regarding the relative costs of adopting these changes under the old namespace URIs vs creating new URIs for this revision of RDF.]]] </p>Vocabulary terms in the rdf: namespace are listed in <a href= "http://www.w3.org/TR/rdf-syntax-grammar/#section-Namespace"> section 5.1 of the RDF syntax specification [ <a href= "#ref-rdf-syntax"> RDF-SYNTAX ]. </p> <p> Vocabulary Some of these terms deleted text: defined in the <span class="code"> rdfs: </span> namespace are defined in by the RDF schema vocabulary specification [ <a href= "#ref-rdf-vocabulary"> specifications to denote specific concepts. Others have syntactic purpose (e.g. rdf:ID is part of the RDF/XML syntax).
There are two aspects to the meaning of an The datatype abstraction used in RDF deleted text: graph. There is compatible with the formal meaning as determined by the RDF semantics abstraction used in XML Schema Part 2: Datatypes [ <a href= "#ref-rdf-semantics"> RDF-SEMANTICS XML-SCHEMA2 ]. This determines, with mathematical precision, the conclusions that can logically be drawn from an RDF graph. There is also the social meaning
A datatype consists of the graph. It is the social meaning that affects what it means to people a lexical space, a value space and how it interacts with human social institutions such as our systems of law. a lexical-to-value mapping.
deleted text: <h3> <a id="section-AssertedForm" name="section-AssertedForm"> 4.1 Asserted and Non-asserted Forms </a> </h3>RDF/XML expressions, i.e. encodings of RDF graphs, can be used to make claims or assertions about the 'real' world. Such expressions are said to be The <a id="dfn-asserted" name= "dfn-asserted"> asserted lexical space </dfn>. </p> <p> Not every RDF/XML expression is asserted. Some may convey meaning that is partly determined by the circumstances in which they are used. For example, in English, a statement "I don't believe that George is of a clown" contains the words "George datatype is a clown", which, considered in isolation, has the form set of an assertion that George exhibits certain comic qualities. However, considering the whole sentence, no such assertion is considered to be made. Unicode [ UNICODE ] strings.
<h3>The <a id="section-Social" name="section-Social"> 4.2 Social Meaning lexical-to-value mapping </h3> <p> When an RDF graph is asserted in the Web, its publisher of a datatype is saying something about their view a set of the world. Such an assertion should be understood pairs whose first element belongs to deleted text: carry the same social import and responsibilities as an assertion in any other format. A combination lexical space of social (e.g. legal) the datatype, and deleted text: technical machinery (protocols, file formats, publication frameworks) provide the contexts that fix second element belongs to the intended meanings value space of the vocabulary of some piece of RDF, and which distinguish assertions from other uses (e.g. citations, denials or illustrations). datatype:
<p> The technical machinery includes protocols for transferring information (e.g. HTTP, SMTP) and file formats for encapsulating and labelling information (e.g. MIME, XML). A media type, <span class="code"> application/rdf+xml </span> [ <a href= "#ref-rdf-mime-type"> RDF-MIME-TYPE </a> ] indicates the useA datatype is opaque to logical reasoners. This information may be used identified by human interpreters of RDF information, one or programmers writing software to perform specialized forms of deduction in the Semantic Web. more URI references.
deleted text: <h3> <a name="section-authority" id= "section-authority"> 4.3 Authoritative Definition of Terms </a> </h3>deleted text: The social conventions surrounding use of RDF assume that may be used with any RDF URI reference gains its meaning from some defining individual, organization or context. This applies most notably datatype definition that conforms to RDF predicate URI references. this abstraction, even if not defined in terms of XML Schema.
These social conventions Certain XML Schema built-in datatypes are rooted in the URI specification [ <a href= "#ref-uris"> URI </a> ] and registration procedures [ <a href= "#ref-uri-reg"> URI-REG </a> ]. A URI scheme registration refers to a specification of the detailed syntax and interpretation not suitable for that scheme, from which use within RDF. For example, the defining authority for QName datatype requires a given URI may namespace declaration to be deduced. In the case of http: URIs, in scope during the defining specification mapping, and is the HTTP protocol specification not recommended for use in RDF. [ <a href= "#ref-http"> HTTP RDF-SEMANTICS ], which specifies how to use the HTTP protocol to obtain ] contains a resource representation from the host named in the URI; thus, the owner more detailed discussion of the indicated DNS domain controls (observable aspects of) the URI's meaning. specific XML Schema built-in datatypes.
Thus, Note: When the choice of terms used in published RDF datatype is deleted text: significant in determining its meaning, through reference to definitions asserted by the defining authorities for those terms. </p> <p> For important documents, the use of third-party vocabulary should be restricted to terms defined by trustworthy parties (e.g. recognized standards bodies or reputable organizations), or that otherwise have socially well-established meanings. </p> <p> However, even when a URI reference can be dereferenced as an RDF/XML document, it's use within an asserted RDF graph does not implicitly assert the contents of the referenced document. using XML Schema:
<h3> <a id="section-Interaction" name="section-Interaction"> 4.4 Interaction Between Social and Formal Meaning </a> </h3> <p> Human publishers of RDF content commit themselvesRDF 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 deleted text: datatype, <span class="code"> rdf:XMLLiteral </span>. </p> <p> As part of the definition of this datatype, an ancillary definition is used. </p> <p> The <em> XML document corresponding to </em> a pair <var> ( str, lang ) </var> is formed as follows: </p> <div class="block"> <p> Concatenate the five strings: </p> <ol> <li> <span class="code"> "<rdf-wrapper xml:lang='" </span> </li> <li> <var> lang </var> </li> <li> <span class="code"> "'>" </span> </li> <li> <var> str </var> </li> <li> <span class="code"> "</rdf-wrapper>" </span> </li> </ol> <p> Encode the resulting Unicode string in UTF-8 to form the corresponding XML document. </p> <p> No escaping is applied. The choice of <span class="code"> rdf-wrapper </span> is fixed but arbitrary. </p> </div> <p> The <em> XML document corresponding to </em> a string <var> str </var> is formed as the XML document corresponding to the pair <var> (str, "") </var>. </p> <p> Using this, the datatype deleted text: <a id="dfn-rdfs-XMLLiteral" name= "dfn-rdfs-XMLLiteral" > </a> rdf:XMLLiteral </dfn> is , defined as follows.
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 equality equivalence between RDF graphs. A definition of equality 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 G and G' are equal equivalent if there is a bijection M between the nodes of the two graphs, such that:
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' .
A URI reference within an RDF graph (an RDF URI reference) is a Unicode string [ UNICODE ] that:
The encoding consists of:
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.
deleted text: Editors' Note: </strong> This section is in the scope of the <a href="http://www.w3.org/2001/tag/"> TAG </a> issue <a href="http://www.w3.org/2001/tag/ilist#IRIEverywhere-27"> IRIEverywhere-27 </a>. The editors are expecting a resolution of this issue during the last call period. This may result in updates to this section. </p> <p> <strong> 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, and constrained to be in Unicode Normal Form C [ <a href="#ref-nfc"> NFC </a> ] (for compatibility with [ <a href="#ref-charmod"> CHARMOD </a> ]). reference.
Note: RDF URI references are compatible with <a href= "http://www.w3.org/TR/xml-names11/#IRIs"> 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.
A literal in an RDF graph contains three components called: one or two named components.
<ul> <li> TheAll literals have a lexical form being a Unicode [ UNICODE ] string string, which SHOULD be in Normal Form C [ NFC ]. </li> <li> The
Plain literals have a lexical form and optionally a language identifier tag as defined by [ RFC-3066 ], normalized to lowercase. </li> <li> The
<a id="dfn-datatype-URI" name= "dfn-datatype-URI"> datatype URI Typed literals being an <a href= "#dfn-URI-reference"> RDF URI reference </a>. </li> </ul> <p> The have a lexical form is present in all RDF literals; the language identifier and the datatype URI may be absent from an RDF literal. </p> <p> A a <a id="dfn-plain-literal" name="dfn-plain-literal"> plain literal </a> </dfn> is one in which the datatype URI deleted text: is absent. </p> <p> A <dfn> <a id="dfn-typed-literal" name="dfn-typed-literal"> typed literal is one in which the datatype being an RDF URI is present. 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 identifier, tag, care must be taken not to confuse language with locale. The language identifier only tag relates only to human language text. Presentational issues, how to best represent typed data to the end-user, 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:
Note: RDF Literals are distinct and distinguishable from RDF URI references; e.g. http://example.org as an RDF Literal (untyped, without a language identifier) tag) is not equal to http://example.org as an RDF URI reference.
The datatype URI refers to a datatype . For XML Schema built-in datatypes, URIs such as http://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 datatype lexical-to-value mapping associated with the datatype URI to the lexical form. deleted text: Exceptionally, if the datatype is <a href= "#section-XMLLiteral" class="code"> rdf:XMLLiteral </a> and the literal has a language identifier, then the datatype mapping is applied to the pair form by the lexical form and the language identifier.
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 syntacticly syntactically ill-formed.
<p> A typed literal for which the datatype does not map the lexical form to a value is not syntacticly ill-formed. </p>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 </a> , , 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, that a URI reference in an RDF graph, any 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 identifier, the fragment identifer identifies the same thing as the fragment identifier that it does in an application/rdf+xml [ <a href= "#ref-rdf-mime-type"> RDF-MIME-TYPE </a> ] representation of the resource identified by the absolute URI component. Thus:
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).
deleted text: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), i 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).
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.
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.