--- a/rdf-concepts/index.html Thu Nov 17 15:43:58 2011 +0000
+++ b/rdf-concepts/index.html Fri Nov 18 19:30:47 2011 +0000
@@ -134,7 +134,7 @@
</section>
-<section id="section-Introduction">
+<section id="section-Introduction" class="informative">
<h2>Introduction</h2>
<p class="issue">This document reflects current progress of the RDF Working
@@ -144,288 +144,156 @@
editors expect to work on a number of issues, some of which are
listed in boxes like this throughout the document.</p>
- <p>The Resource Description Framework (RDF) is a framework for
- representing information in the Web.</p>
+ <p>The <em>Resource Description Framework</em> (RDF) is a framework
+ for representing information in the Web.</p>
<p>This document defines an abstract syntax (a data model)
- on which RDF is based,
- and which serves to link concrete syntaxes to its formal
- semantics. It also includes discussion of
- key concepts, datatyping, character normalization
- and handling of IRIs.</p>
-
- <p>Normative documentation of RDF falls into the following
- areas:</p>
+ which serves to link all RDF-based languages and specifications,
+ including:</p>
<ul>
- <li>Serialization syntaxes (Turtle [[TURTLE-TR]], RDFa [[RDFA-PRIMER]], RDF/XML [[RDF-SYNTAX-GRAMMAR]], N-Triples [[N-TRIPLES]]),</li>
-
- <li>the RDF Vocabulary Description Language ([[RDF-SCHEMA]]),</li>
-
- <li>a formal model-theoretic semantics [[!RDF-MT]], and</li>
-
- <li>this document.</li>
- </ul>
-
- <p>The framework is designed so that vocabularies can be layered.
- The terms defined in [[RDF-SCHEMA]] are the first such vocabulary.
- Several other vocabularies for RDF are
- mentioned in the Primer [[RDF-PRIMER]].</p>
-</section>
-
-
-<section id="conformance"></section>
-
+ <li>Serialization syntaxes for storing and exchanging RDF
+ (e.g., <a href="http://www.w3.org/TR/turtle/">Turtle</a> [[TURTLE-TR]]
+ and <a href="http://www.w3.org/TR/REC-rdf-syntax/">RDF/XML</a>
+ [[RDF-SYNTAX-GRAMMAR]]),</li>
-<section id="section-Concepts" class="informative">
- <h2>RDF Concepts</h2>
-
- <p class="issue">This section is quite redundant with later
- normative sections and the RDF Primer. Its removal has been
- proposed. There is <a href="http://www.w3.org/2011/rdf-wg/wiki/User:Rcygania2/RDF_Concepts_Introduction">draft text</a>
- for replacing this section as well as the Introduction section. This is
- <a href="http://www.w3.org/2011/rdf-wg/track/issues/68">ISSUE-68</a>.</p>
+ <li>the <a href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL
+ Query Language</a> [[RDF-SPARQL-QUERY]],</li>
- <p>RDF uses the following key concepts:</p>
-
- <ul>
- <li>Graph data model</li>
+ <li>the <a href="http://www.w3.org/TR/rdf-schema/">RDF Vocabulary
+ Description Language</a> [[RDF-SCHEMA]],</li>
- <li>IRI-based vocabulary</li>
-
- <li>Datatypes</li>
-
- <li>Literals</li>
-
- <li>Entailment</li>
+ <li>a <a href="http://www.w3.org/TR/rdf-mt/">formal
+ model-theoretic semantics for RDF</a> [[RDF-MT]].</li>
</ul>
-<section id="section-data-model">
- <h3>Graph Data Model</h3>
+<section id="data-model">
+ <h3>Graph-based Data Model</h3>
- <p>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
-<a href="#section-Graph-syntax">section 6</a>). 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”).</p>
+ <p>The core structure of the abstract syntax is a collection of
+ <a title="RDF triple">triples</a>, each consisting of a <a>subject</a>,
+ a <a>predicate</a> and an <a>object</a>. A set of such triples is called
+ an <a>RDF graph</a>. 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”.</p>
<div class="figure">
<img src="Graph-ex.gif" alt="image of the RDF triple comprising (subject, predicate, object)" />
</div>
- <p>Each triple represents a statement of a relationship between
- the things denoted by the nodes that it links. Each triple has
- three parts:</p>
- <ol>
- <li>a <a>subject</a>,</li>
- <li>an <a>object</a>, and</li>
- <li>a <a>predicate</a> (also called a
- <a>property</a>) that denotes a
- relationship.</li>
- </ol>
- <p>The direction of the arc is significant: it always points
- toward the object.</p>
- <p>The <a title="node">nodes</a> of an RDF graph
- are its subjects and objects.</p>
- <p>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-MT]].</p>
-</section>
-
-
-<section id="section-IRI-Vocabulary">
- <h3>IRI-based Vocabulary and Node Identification</h3>
-
- <p>A <a>node</a> may be an <a>IRI</a>, a <a>literal</a>,
- or <a title="blank node">blank</a> (having no separate form of identification).
- Properties are <a title="IRI">IRIs</a>.</p>
- <p>An <a>IRI</a> or <a>literal</a> used as a node identifies what
- that node represents. An IRI used as a predicate
- identifies a relationship between the things represented by the nodes it connects. A
- predicate IRI may also be a node in the graph.</p>
- <p>A <a>blank node</a> is a node that is
- not an IRI 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.</p>
- <p>A convention used by some linear representations of an RDF
- graph to allow several statements to use the same
- blank node is to use a <dfn>blank node
- identifier</dfn>, which is a local identifier that can be
- distinguished from all IRIs 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.</p>
+ <p>There may be three kinds of <a title="node">nodes</a> in an
+ <a>RDF graph</a>: <a title="IRI">IRIs</a>, <a title="literal">literals</a>,
+ and <a title="blank node">blank nodes</a>.</p>
</section>
-<section id="section-Datatypes-intro">
- <h3>Datatypes</h3>
-
- <p>Datatypes are used by RDF in the representation of values such
- as integers, floating point numbers and dates.</p>
-
- <p>
-A datatype consists of a lexical space, a value space and a lexical-to-value
-mapping, see <a href="#section-Datatypes">section 5</a>.
-</p>
-
- <p>For example, the lexical-to-value mapping for the XML Schema datatype
- <var>xsd:boolean</var>, where each member of the value space
- (represented here as 'T' and 'F') has two lexical representations,
- is as follows:</p>
-
- <table border="1" cellpadding="5" summary=
- "A table detailing the xsd:boolean datatype.">
- <tr>
- <th align="left">Value Space</th>
-
- <td>{T, F}</td>
- </tr>
-
- <tr>
- <th align="left">Lexical Space</th>
+<section id="resources-and-statements">
+ <h3>Resources and Statements</h3>
- <td>{"0", "1", "true", "false"}</td>
- </tr>
-
- <tr>
- <th align="left">Lexical-to-Value Mapping</th>
-
- <td>{<"true", T>, <"1", T>, <"0", F>,
- <"false", F>}</td>
- </tr>
- </table>
+ <p>Any <a>IRI</a> and <a>literal</a> <dfn title="denote">denotes</dfn>
+ some thing in the universe of discourse. These things are called
+ <dfn title="resource">resources</dfn>. Anything can be a resource,
+ including physical things, documents, and abstract concepts.
+ Literals denote <a title="datatype">datatyped</a> resources such as
+ strings, numbers, and dates. A special kind of literals,
+ <a>language-tagged strings</a>, denote plain-text strings in a
+ natural language.</p>
- <p>RDF predefines just one datatype <code><a>rdf:XMLLiteral</a></code>,
- used for embedding XML in RDF (see <a href="#section-XMLLiteral">section
- 5.1</a>). RDF also defines
- <code><a title="language-tagged string">rdf:langString</a></code>, used
- for plain text in a natural language, but this is not formally considered
- a datatype.</p>
+ <p>The assertion of an <a>RDF triple</a> says that <em>some relationship,
+ indicated by the <a>predicate</a>, holds between the
+ <a title="resource">resources</a> <a title="denote">denoted</a> by
+ the <a>subject</a> and <a>object</a></em>. This statement corresponding
+ to an RDF triple is known as an <dfn>RDF statement</dfn>.
+ The predicate itself is an <a>IRI</a> and denotes a relationship type,
+ also known as a <dfn>property</dfn>.</p>
- <p>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 <a title="IRI">IRIs</a>.
- The predefined XML Schema
- datatypes [[!XMLSCHEMA11-2]] are expected
- to be widely used for this purpose.</p>
+ <p>The assertion of an <a>RDF graph</a> amounts to asserting all the
+ triples in it, so the meaning of an RDF graph is the conjunction
+ (logical AND) of the <a title="RDF statement">statements</a>
+ corresponding to all the triples it contains.</p>
-
- <p>RDF provides no mechanism for defining new datatypes. XML Schema
- Datatypes [[!XMLSCHEMA11-2]] provides an
- extensibility framework suitable for defining new datatypes for use
- in RDF.</p>
+ <p>The <a title="RDF statement">statement</a> corresponding to a
+ triple with a <a>blank node</a> says that something with the given
+ relationship exists, without explicitly naming it.</p>
</section>
-<section id="section-Literals">
- <h3>Literals</h3>
-
- <p><a title="literal">Literals</a> 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 an <a>IRI</a>, but it is often more
- convenient or intuitive to use literals. All literals have a
- <a>datatype IRI</a>. A literal denotes a member of the
- datatype's <a>value space</a>, as indicated by its
- <a>lexical-to-value mapping</a>.</li>
-
- <p>A literal may be the object of an RDF statement, but not the
- subject or the predicate.</p>
-
- <p>Continuing the example from <a href="#section-Datatypes-intro">section
- 3.3</a>, the literals that can be defined using the XML
- Schema datatype <var>xsd:boolean</var> are:</p>
-
- <table border="1" cellpadding="5" summary=
- "This table lists the literals of type xsd:boolean.">
- <tr>
- <th>Literal</th>
-
- <th>Lexical-to-Value Mapping</th>
-
- <th>Value</th>
- </tr>
-
- <tr>
- <td align="center"><xsd:boolean, "true"></td>
-
- <td align="center"><"true", T></td>
-
- <td align="center">T</td>
- </tr>
+<section id="referents">
+ <h3>The Referent of an IRI</h3>
- <tr>
- <td align="center"><xsd:boolean, "1"></td>
-
- <td align="center"><"1", T></td>
-
- <td align="center">T</td>
- </tr>
-
- <tr>
- <td align="center"><xsd:boolean, "false"></td>
-
- <td align="center"><"false", F></td>
-
- <td align="center">F</td>
- </tr>
-
- <tr>
- <td align="center"><xsd:boolean, "0"></td>
+ <p>The <a>resource</a> <a title="denote">denoted</a> by an <a>IRI</a>
+ is also called its <dfn>referent</dfn>.
+ What exactly is denoted by any given IRI is out of scope of this
+ specification and is treated in documents like
+ <em><a href="http://www.w3.org/TR/webarch/">Architecture of the
+ World Wide Web, Volume One</a></em> [[WEBARCH]] and
+ <em><a href="http://www.w3.org/TR/cooluris/">Cool URIs for the
+ Semantic Web</a></em> [[COOLURIS]].
+ A very brief and partial account follows:</p>
- <td align="center"><"0", F></td>
-
- <td align="center">F</td>
- </tr>
- </table>
+ <ul>
+ <li>By social convention, the
+ <a href="http://www.w3.org/TR/webarch/#uri-ownership">IRI owner</a>
+ [[WEBARCH]] gets to say what an <a>IRI</a> <a title="denote">denotes</a>.
+ They do this when “<dfn>minting</dfn>” a new IRI.</li>
- <p>For text that may contain
- markup, use literals
-with type <a href="#section-XMLLiteral">rdf:XMLLiteral</a>.
-If language annotation is required,
-it must be explicitly included as markup, usually by means of an
-<code>xml:lang</code> attribute.
-XHTML [[XHTML10]] may be included within RDF
-in this way. Sometimes, in this latter case,
- an additional <code>span</code> or <code>div</code>
- element is needed to carry an
-<code>xml:lang</code> or <code>lang</code> attribute.
- </p>
+ <li>The IRI owner can establish the intended <a>referent</a>
+ by means of a specification or other document that explains
+ what is denoted. For example, [[RDF-SCHEMA]] specifies the referents
+ of various IRIs that start with
+ <code>http://www.w3.org/2000/01/rdf-schema#</code>.</li>
-<p class="issue">Update the XHTML 1.0 reference to something more recent?</p>
+ <li>A good way of communicating the intended referent to the world
+ is to set up the IRI so that it resolves to such a document.</li>
+
+ <li>Such a document can, in fact, be an <a>RDF document</a>
+ that describes the denoted resource by means of
+ <a title="RDF statement">RDF statements</a>.</li>
+ </ul>
+
+ <p>An <dfn>RDF vocabulary</dfn> is a collection of <a title="IRI">IRIs</a>
+ with clearly established <a title="referent">referents</a>
+ intended for use in <a title="RDF graph">RDF graphs</a>. For example,
+ the IRIs documented in [[RDF-SCHEMA]] are the RDF Schema vocabulary.
+ RDF Schema can itself be used to define and document additional
+ RDF vocabularies. Some such vocabularies are mentioned in the
+ Primer [[RDF-PRIMER]].</p>
+</section>
+
+
+<section id="entailment">
+ <h3>Formal Meaning and Entailment</h3>
+
+ <p>The idea of meaning in RDF is underpinned by the formal concept
+ of <dfn>entailment</dfn>. In brief, an <a>RDF graph</a> <em>A</em>
+ is said to <em>entail</em> another RDF graph <em>B</em> if every
+ possible arrangement of things in the world that makes <em>A</em> true
+ also makes <em>B</em> true. On this basis, if the truth of <em>A</em>
+ is presumed or demonstrated then the truth of <em>B</em> can be inferred.
+ An account of meaning and entailment in RDF, using the formalism of
+ model theory, is given in [[RDF-MT]].</p>
+</section>
+
+
+<section id="managing-graphs">
+ <h3>Merging and Managing RDF Graphs</h3>
+
+ <p class="note">This section should explain terminology around working
+ with multiple graphs, and explain the fact that graphs merge easily.
+ This will be added once the Working Group has finalised a design.</p>
+
+ <p>An <dfn>RDF document</dfn> is a document that encodes an
+ <a>RDF graph</a> in a <dfn>concrete RDF syntax</dfn>, such as
+ Turtle [[TURTLE-TR]], RDFa [[RDFA-PRIMER]], RDF/XML [[RDF-SYNTAX-GRAMMAR]],
+ or N-Triples [[N-TRIPLES]].</p>
+</section>
+
</section>
-<section id="section-Entailment">
- <h3>Entailment</h3>
-
- <p>The ideas on meaning and inference in RDF are underpinned by the
- formal concept of <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#entail">
-<cite>entailment</cite></a>, as
- discussed in the RDF
- semantics document [[!RDF-MT]].
-In brief, an RDF expression A is said to
-<dfn title="entailment">entail</dfn> 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 .
-</p>
-</section>
-
-</section>
+<section id="conformance"></section>
<section id="section-URIspaces">
@@ -466,14 +334,18 @@
tracks the integration of new XSD 1.1 datatypes.</p>
</p>
-<p>
-The datatype abstraction used in RDF is compatible with
-the abstraction used in
-XML Schema Part 2:
- Datatypes [[!XMLSCHEMA11-2]].</p>
+ <p>Datatypes are used with RDF <a title="literal">literals</a>
+ to represent values such as string, numbers and dates.
+ The datatype abstraction used in RDF is compatible with XML Schema
+ [[!XMLSCHEMA11-2]]. Any datatype definition that conforms
+ to this abstraction MAY be used in RDF, even if not defined
+ in terms of XML Schema. RDF re-uses the XML Schema built-in datatypes,
+ and provides one additional built-in datatype,
+ <code><a>rdf:XMLLiteral</a></code>.</p>
- <p>A <dfn>datatype</dfn> consists of a lexical space, a value space
- and a lexical-to-value mapping.</p>
+ <p>A <dfn>datatype</dfn> consists of a <a>lexical space</a>,
+ a <a>value space</a> and a <a>lexical-to-value mapping</a>, and
+ is denoted by one or more <a title="IRI">IRIs</a>.</p>
<p>The <dfn>lexical space</dfn> of a datatype is a set of Unicode [[!UNICODE]] strings.</p>
<p>
@@ -494,21 +366,15 @@
value).
</li>
</ul>
-<p>
-A datatype is identified by one or more IRIs.
-</p>
-<p>
-RDF may be used with any datatype definition that conforms to this
-abstraction, even if not defined in terms of XML Schema.
-</p>
- <p>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
+
+ <p class="note">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.
- [[!RDF-MT]] contains a
-<a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#dtype_interp">more detailed discussion</a>
- of specific XML Schema built-in datatypes. </p>
+ [[RDF-MT]] contains a
+ <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#dtype_interp">more detailed discussion</a>
+ of specific XML Schema built-in datatypes.</p>
<div class="note">
<p>When the datatype is defined using XML Schema:
@@ -549,6 +415,51 @@
The <a>value space</a> associated with the datatype IRI is the set
of all pairs of strings and language tags.</p>
+ <p>For example, the XML Schema datatype <code>xsd:boolean</code>,
+ where each member of the <a>value space</a> has two lexical
+ representations, is defined as follows:</p>
+
+ <dl>
+ <dt>Lexical space:</dt>
+ <dd>{“<code>true</code>”, “<code>false</code>”, “<code>1</code>”, “<code>0</code>”}</dd>
+ <dt>Value space:</dt>
+ <dd>{<em><strong>true</strong></em>, <em><strong>false</strong></em>}</dd>
+ <dt>Lexical-to-value mapping</dt>
+ <dd>{
+ <“<code>true</code>”, <em><strong>true</strong></em>>,
+ <“<code>false</code>”, <em><strong>false</strong></em>>,
+ <“<code>1</code>”, <em><strong>true</strong></em>>,
+ <“<code>0</code>”, <em><strong>false</strong></em>>,
+ }</dd>
+ </dl>
+
+ <p>The <a title="literal">literals</a> that can be defined using this
+ datatype are:</p>
+
+ <table border="1" cellpadding="5" summary=
+ "This table lists the literals of type xsd:boolean.">
+ <tr>
+ <th>Literal</th>
+ <th>Value</th>
+ </tr>
+ <tr>
+ <td align="center"><“<code>true</code>”, <code>xsd:boolean</code>></td>
+ <td align="center"><em><strong>true</strong></em></td>
+ </tr>
+ <tr>
+ <td align="center"><“<code>false</code>”, <code>xsd:boolean</code>></td>
+ <td align="center"><em><strong>false</strong></em></td>
+ </tr>
+ <tr>
+ <td align="center"><“<code>1</code>”, <code>xsd:boolean</code>></td>
+ <td align="center"><em><strong>true</strong></em></td>
+ </tr>
+ <tr>
+ <td align="center"><“<code>0</code>”, <code>xsd:boolean</code>></td>
+ <td align="center"><em><strong>false</strong></em></td>
+ </tr>
+ </table>
+
<section id="section-XMLLiteral">
<h3>XML Content within an RDF Graph</h3>
@@ -561,11 +472,14 @@
This is <a href="http://www.w3.org/2011/rdf-wg/track/issues/13">ISSUE-13</a>.</p>
<p>RDF provides for XML content as a possible literal value.
- Such content is indicated in an RDF graph using a literal
- whose datatype is the built-in datatype
- <dfn>rdf:XMLLiteral</dfn>,
- defined as follows.</p>
+ Such content is indicated in an RDF graph using a typed literal
+ whose datatype is a special built-in datatype <code>rdf:XMLLiteral</code>.
+ This allows the inclusion of text that contains markup, such as
+ XHTML [[XHTML10]].</p>
+ <p class="issue">Update the XHTML 1.0 reference to something more recent?</p>
+
+ <p><code><dfn>rdf:XMLLiteral</dfn></code> is defined as follows.</p>
<dl>
<dt><a name="XMLLiteral-uri" id="XMLLiteral-uri">An IRI for
@@ -644,6 +558,9 @@
with an <code>rdf:XMLLiteral</code> corresponding to
a single text node of the same string.</p>
+ <p class="note">If language annotation of XML literals is required,
+ it must be explicitly included as markup, usually by means of an
+ <code>xml:lang</code> attribute.</p>
</section>
</section>
@@ -723,7 +640,8 @@
<p>The predicate is also known as the <dfn>property</dfn> of the triple.</p>
<p>The set of <dfn title="node">nodes</dfn> of an <a>RDF graph</a>
- is the set of subjects and objects of triples in the graph.</p>
+ is the set of subjects and objects of triples in the graph.
+ Predicate IRIs MAY also appear as nodes in the graph.</p>
<p><a title="IRI">IRIs</a>, <a title="blank node">blank nodes</a> and
<a title="literal">literals</a> are collectively known as
@@ -810,6 +728,9 @@
<section id="section-Graph-Literal">
<h3>RDF Literals</h3>
+ <p>Literals are used to denote values such as strings, numbers and dates
+ by means of a lexical representation.</p>
+
<p>A <dfn>literal</dfn> in an <a>RDF graph</a> consists of:</p>
<ul>
@@ -911,12 +832,11 @@
to the <a>lexical form</a>.</li>
</ul>
- <p>
- If the lexical form is not in
- the lexical space of the datatype associated with the datatype IRI,
-then no literal value can be associated with the literal.
-Such a case, while in error, is not <em>syntactically</em> ill-formed.</p>
-
+ <p>If the <a>lexical form</a> is not in
+ the <a>lexical space</a> of the datatype,
+ then the typed literal is <dfn>ill-typed</dfn>, and no literal value can be
+ associated with the typed literal. Such a case, while in error, is not
+ <em>syntactically</em> ill-formed.</p>
<p class="note">
In application contexts, comparing the values of literals (see
@@ -929,7 +849,7 @@
6.5.1</a>).
Similarly, for comparing RDF Graphs,
semantic notions of entailment (see
-[[!RDF-MT]]) are usually
+[[RDF-MT]]) are usually
more helpful than syntactic equality (see
<a href="#section-graph-equality">
section
@@ -941,20 +861,34 @@
<section id="section-blank-nodes">
- <h3>Blank Nodes</h3>
+ <h3>Blank Nodes</h3>
-<p>
-The <dfn title="blank node">blank nodes</dfn> in an RDF graph
-are drawn from an infinite set.
-This set of blank nodes, the set of all <a title="IRI">IRIs</a>
-and the set of all <a title="literal">literals</a> are pairwise disjoint.
-</p>
-<p>
-Otherwise, this set of blank nodes is arbitrary.
-</p>
-<p>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.</p>
+ <p>The <dfn title="blank node">blank nodes</dfn> in an RDF graph
+ are drawn from an infinite set. This set is disjoint from the set
+ of all <a title="IRI">IRIs</a> and the set of all
+ <a title="literal">literals</a>.
+ Otherwise, this set of blank nodes is arbitrary.</p>
+
+ <p>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.</p>
+
+ <div class="note">
+ <p>Some concrete syntaxes for RDF use
+ <dfn title="blank node identifier">blank node identifiers</dfn>
+ to allow several statements to use the same
+ blank node. A blank node identifier is a local identifier that can be
+ distinguished from IRIs and literals. Such blank node identifiers are
+ <em>not</em> part of the RDF abstract syntax, but are entirely
+ dependent on the particular concrete syntax used.</p>
+
+ <p>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.</p>
+ </div>
+
+ <p class="issue">Should “Graph merge” be defined in this spec?
+ If not, then the previous paragraph could just as well go.</p>
<section id="section-skolemization">
@@ -1130,6 +1064,7 @@
<h2>Changes from RDF 2004</h2>
<ul>
+ <li>2011-11-18: Replaced informative <em>Introduction</em> and <em>RDF Concepts</em> sections with a new extended introduction. Folded some content from <em>RDF Concepts</em> into the later normative sections, mostly as examples and notes.</li>
<li>2011-11-10: Changed XSD references to version 1.1</li>
<li>2011-11-10: Replaced the <a href="#section-fragID">section on fragment identifiers</a> with an updated account that follows RFC 3986</li>
<li>2011-11-09: Updated the two sections on literals to reflect the <a href="http://www.w3.org/2011/rdf-wg/track/issues/71">ISSUE-71</a> resolution that literals with language tag now have the datatype IRI <code>rdf:langString</code>. Formally introduced the term “language-tagged string”.</li>