--- a/rdf-xml/index.html Wed Feb 08 17:39:11 2012 +0100
+++ b/rdf-xml/index.html Wed Feb 08 17:55:57 2012 +0100
@@ -134,6 +134,7 @@
<section id="section-Introduction" class="informative">
+ <h2>Introduction</h2>
<a id="section-Syntax-more" name="section-Syntax-more"></a>
<p>This document defines the
<a href="http://www.w3.org/TR/2000/REC-xml-20001006">XML</a>
@@ -164,22 +165,15 @@
<a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/">RDF Semantics</a> <a href="#ref-rdf-semantics">[RDF-SEMANTICS]</a>.
</p>
-
<p>The complete specification of RDF consists of a number of documents:</p>
<ul>
<li><a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/">RDF Primer</a> <a href="#ref-rdf-primer">[RDF-PRIMER]</a></li>
-
<li><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> <a href="#ref-rdf-concepts">[RDF-CONCEPTS]</a></li>
-
<li><a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/">RDF Semantics</a> <a href="#ref-rdf-semantics">[RDF-SEMANTICS]</a></li>
-
<li>RDF/XML Syntax (this document)</li>
-
<li><a href="http://www.w3.org/TR/2004/REC-rdf-schema-20040210/">RDF Vocabulary Description Language 1.0: RDF Schema</a> <a href="#ref-rdf-vocabulary">[RDF-VOCABULARY]</a></li>
-
<li><a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/">RDF Test Cases</a> <a href="#ref-rdf-tests">[RDF-TESTS]</a></li>
-
</ul>
<p>For a longer introduction to the RDF/XML syntax with a historical
@@ -191,999 +185,1003 @@
-<h2>
-<a id="section-Syntax" name="section-Syntax">2 An XML Syntax for RDF</a>
-</h2>
-
-<p>This section introduces the RDF/XML syntax, describes how it
-encodes RDF graphs and explains this with examples. If there is any
-conflict between this informal description and the formal description
-of the syntax and grammar in sections
-<a href="#section-Data-Model">6 Syntax Data Model</a> and
-<a href="#section-Infoset-Grammar">7 RDF/XML Grammar</a>, the
-latter two sections take precedence.
-</p>
-
-
-<h3><a id="section-Syntax-intro" name="section-Syntax-intro">2.1 Introduction</a></h3>
-
-<p>The
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> <a href="#ref-rdf-concepts">[RDF-CONCEPTS]</a>
-defines the
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-data-model">RDF Graph data model</a> (Section 3.1)
-and the
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph-syntax">RDF Graph abstract syntax</a> (Section 6).
-Along with the
-<a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/">RDF Semantics</a> <a href="#ref-rdf-semantics">[RDF-SEMANTICS]</a>
-
-this provides an abstract syntax with a formal semantics for it.
-The RDF graph has
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-node">nodes</a>
-and labeled directed <em>arcs</em>
-that link pairs of nodes and this is represented as a set of
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-triple">RDF triples</a>
-where each triple contains a
-<em>subject node</em>, <em>predicate</em> and <em>object node</em>.
-Nodes are
-
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>,
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-literal">RDF literals</a>
-or are <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">blank nodes</a>.
-Blank nodes may be given
-a document-local, non-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> identifier called a
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a>.
-Predicates are
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-and can be interpreted as either a relationship between the two
-nodes or as defining an attribute value (object node) for some
-subject node.</p>
-
-<p>In order to encode the graph in XML, the nodes and predicates have to be
-represented in XML terms — element names, attribute names, element contents
-and attribute values.
-RDF/XML uses XML
-<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName">QNames</a>
-as defined in <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">Namespaces in XML</a> <a href="#ref-namespaces">[XML-NS]</a>
-to represent
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>.
-All QNames have a <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-NSName">namespace name</a> which is a URI reference
-and a short
-<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-LocalPart">local name</a>.
-In addition, QNames can either have a short
-
-<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-Prefix">prefix</a>
-or be declared with the default namespace declaration and have none (but
-still have a namespace name)</p>
-
-<p>The
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-represented by a QName is determined by appending the
-<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-LocalPart">local name</a>
-part of the QName after the
-<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-NSName">namespace name</a> (URI reference) part of the QName.
-This is used to shorten the
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-
-of all predicates and some nodes.
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> identifying
-subject and object nodes can also be stored as XML attribute values.
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-literal">RDF literals</a>,
-which can only be object nodes,
-become either XML element text content or XML attribute values.</p>
-
-<p>A graph can be considered a collection of paths of the form node,
-predicate arc, node, predicate arc, node, predicate arc, ... node
-which cover the entire graph. In RDF/XML these turn into sequences of
-elements inside elements which alternate between elements for nodes
-and predicate arcs. This has been called a series of node/arc
-stripes. The node at the start of the sequence turns into the
-outermost element, the next predicate arc turns into a child element,
-and so on. The stripes generally start at the top of an RDF/XML
-document and always begin with nodes.
-</p>
-
-<p>Several RDF/XML examples are given in the following sections
-building up to complete RDF/XML documents. <a href="#example7">Example 7</a>
-is the first complete RDF/XML document.</p>
-
-<h3><a id="section-Syntax-node-property-elements" name="section-Syntax-node-property-elements">2.2 Node Elements and Property Elements</a></h3>
-
-
-<div class="figure">
-<img src="figure1.png" alt="Graph for RDF/XML Example" height="202" width="600" /><br />
-<a id="figure1" name="figure1">Figure 1: Graph for RDF/XML Example</a> (<a href="figure1.svg">SVG version</a>)
-</div>
-
-<p>An RDF graph is given in <a href="#figure1">Figure 1</a>
-
-where the nodes are represented as ovals and contain their
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-where they have them, all the predicate arcs are labeled with
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-and
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-plain-literal">plain literal</a>
-nodes have been written in rectangles.</p>
-
-
-<p>If we follow one node, predicate arc ... , node path through the
-graph shown in <a href="#figure2">Figure 2</a>:
-</p>
-
-<div class="figure">
-<img src="figure2.png" alt="One Path Through the Graph" height="212" width="600" /><br />
-<a id="figure2" name="figure2">Figure 2: One Path Through the Graph</a> (<a href="figure2.svg">SVG version</a>)
-</div>
-
-<p>The left hand side of the <a href="#figure2">Figure 2</a> graph corresponds to the node/predicate arc stripes:</p>
-
-<ol>
-
-<li>Node with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://www.w3.org/TR/rdf-syntax-grammar</code></li>
-<li>Predicate Arc labeled with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://example.org/terms/editor</code></li>
-<li>Node with no <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a></li>
-<li>Predicate Arc labeled with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://example.org/terms/homePage</code></li>
-
-<li>Node with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://purl.org/net/dajobe/</code></li>
-</ol>
-
-<p>In RDF/XML, the sequence of 5 nodes and predicate arcs on
-the left hand side of <a href="#figure2">Figure 2</a> corresponds to
-the usage of five XML elements of two types, for the graph nodes and
-predicate arcs. These are conventionally called <em>node elements</em> and
-<em>property elements</em> respectively. In the striping shown in
-
-<a href="#example1">Example 1</a>, <code>rdf:Description</code> is the
-node element (used three times for the three nodes) and
-<code>ex:editor</code> and <code>ex:homePage</code> are the two
-property elements.
-</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example1" name="example1">Example 1: Striped RDF/XML (<span class="nodeStripe">nodes</span> and <span class="arcStripe">predicate arcs</span>)</a></div>
-
-<div class="exampleInner">
-<div class="preExample">
-<code>
-<span class="nodeStripe"><rdf:Description></span><br />
- <span class="arcStripe"><ex:editor></span><br />
- <span class="nodeStripe"><rdf:Description></span><br />
- <span class="arcStripe"><ex:homePage></span><br />
- <span class="nodeStripe"><rdf:Description></span><br />
- <span class="nodeStripe"></rdf:Description></span><br />
- <span class="arcStripe"></ex:homePage></span><br />
-
- <span class="nodeStripe"></rdf:Description></span><br />
- <span class="arcStripe"></ex:editor></span><br />
-<span class="nodeStripe"></rdf:Description></span><br />
-</code>
-</div>
-</div>
-</div>
-
-<p>The <a href="#figure2">Figure 2</a> graph consists of some nodes
-that are
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-
-(and others that are not) and this can be added
-to the RDF/XML using the <code>rdf:about</code> attribute on node
-elements to give the result in <a href="#example2">Example 2</a>:</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example2" name="example2">Example 2: Node Elements with RDF URI references added</a></div>
-<div class="exampleInner">
-<pre>
-<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
- <ex:editor>
-
- <rdf:Description>
- <ex:homePage>
- <rdf:Description rdf:about="http://purl.org/net/dajobe/">
+<section id="section-Syntax" class="informative">
+ <h2>An XML Syntax for RDF</h2>
+ <p>This section introduces the RDF/XML syntax, describes how it
+ encodes RDF graphs and explains this with examples. If there is any
+ conflict between this informal description and the formal description
+ of the syntax and grammar in sections
+ <a href="#section-Data-Model">6 Syntax Data Model</a> and
+ <a href="#section-Infoset-Grammar">7 RDF/XML Grammar</a>, the
+ latter two sections take precedence.
+ </p>
+
+
+ <h3><a id="section-Syntax-intro" name="section-Syntax-intro">2.1 Introduction</a></h3>
+
+ <p>The
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> <a href="#ref-rdf-concepts">[RDF-CONCEPTS]</a>
+ defines the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-data-model">RDF Graph data model</a> (Section 3.1)
+ and the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph-syntax">RDF Graph abstract syntax</a> (Section 6).
+ Along with the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/">RDF Semantics</a> <a href="#ref-rdf-semantics">[RDF-SEMANTICS]</a>
+
+ this provides an abstract syntax with a formal semantics for it.
+ The RDF graph has
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-node">nodes</a>
+ and labeled directed <em>arcs</em>
+ that link pairs of nodes and this is represented as a set of
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-triple">RDF triples</a>
+ where each triple contains a
+ <em>subject node</em>, <em>predicate</em> and <em>object node</em>.
+ Nodes are
+
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>,
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-literal">RDF literals</a>
+ or are <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">blank nodes</a>.
+ Blank nodes may be given
+ a document-local, non-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> identifier called a
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a>.
+ Predicates are
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+ and can be interpreted as either a relationship between the two
+ nodes or as defining an attribute value (object node) for some
+ subject node.</p>
+
+ <p>In order to encode the graph in XML, the nodes and predicates have to be
+ represented in XML terms — element names, attribute names, element contents
+ and attribute values.
+ RDF/XML uses XML
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName">QNames</a>
+ as defined in <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">Namespaces in XML</a> <a href="#ref-namespaces">[XML-NS]</a>
+ to represent
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>.
+ All QNames have a <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-NSName">namespace name</a> which is a URI reference
+ and a short
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-LocalPart">local name</a>.
+ In addition, QNames can either have a short
+
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-Prefix">prefix</a>
+ or be declared with the default namespace declaration and have none (but
+ still have a namespace name)</p>
+
+ <p>The
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ represented by a QName is determined by appending the
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-LocalPart">local name</a>
+ part of the QName after the
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-NSName">namespace name</a> (URI reference) part of the QName.
+ This is used to shorten the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+
+ of all predicates and some nodes.
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> identifying
+ subject and object nodes can also be stored as XML attribute values.
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-literal">RDF literals</a>,
+ which can only be object nodes,
+ become either XML element text content or XML attribute values.</p>
+
+ <p>A graph can be considered a collection of paths of the form node,
+ predicate arc, node, predicate arc, node, predicate arc, ... node
+ which cover the entire graph. In RDF/XML these turn into sequences of
+ elements inside elements which alternate between elements for nodes
+ and predicate arcs. This has been called a series of node/arc
+ stripes. The node at the start of the sequence turns into the
+ outermost element, the next predicate arc turns into a child element,
+ and so on. The stripes generally start at the top of an RDF/XML
+ document and always begin with nodes.
+ </p>
+
+ <p>Several RDF/XML examples are given in the following sections
+ building up to complete RDF/XML documents. <a href="#example7">Example 7</a>
+ is the first complete RDF/XML document.</p>
+
+ <h3><a id="section-Syntax-node-property-elements" name="section-Syntax-node-property-elements">2.2 Node Elements and Property Elements</a></h3>
+
+
+ <div class="figure">
+ <img src="figure1.png" alt="Graph for RDF/XML Example" height="202" width="600" /><br />
+ <a id="figure1" name="figure1">Figure 1: Graph for RDF/XML Example</a> (<a href="figure1.svg">SVG version</a>)
+ </div>
+
+ <p>An RDF graph is given in <a href="#figure1">Figure 1</a>
+
+ where the nodes are represented as ovals and contain their
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+ where they have them, all the predicate arcs are labeled with
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+ and
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-plain-literal">plain literal</a>
+ nodes have been written in rectangles.</p>
+
+
+ <p>If we follow one node, predicate arc ... , node path through the
+ graph shown in <a href="#figure2">Figure 2</a>:
+ </p>
+
+ <div class="figure">
+ <img src="figure2.png" alt="One Path Through the Graph" height="212" width="600" /><br />
+ <a id="figure2" name="figure2">Figure 2: One Path Through the Graph</a> (<a href="figure2.svg">SVG version</a>)
+ </div>
+
+ <p>The left hand side of the <a href="#figure2">Figure 2</a> graph corresponds to the node/predicate arc stripes:</p>
+
+ <ol>
+
+ <li>Node with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://www.w3.org/TR/rdf-syntax-grammar</code></li>
+ <li>Predicate Arc labeled with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://example.org/terms/editor</code></li>
+ <li>Node with no <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a></li>
+ <li>Predicate Arc labeled with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://example.org/terms/homePage</code></li>
+
+ <li>Node with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://purl.org/net/dajobe/</code></li>
+ </ol>
+
+ <p>In RDF/XML, the sequence of 5 nodes and predicate arcs on
+ the left hand side of <a href="#figure2">Figure 2</a> corresponds to
+ the usage of five XML elements of two types, for the graph nodes and
+ predicate arcs. These are conventionally called <em>node elements</em> and
+ <em>property elements</em> respectively. In the striping shown in
+
+ <a href="#example1">Example 1</a>, <code>rdf:Description</code> is the
+ node element (used three times for the three nodes) and
+ <code>ex:editor</code> and <code>ex:homePage</code> are the two
+ property elements.
+ </p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example1" name="example1">Example 1: Striped RDF/XML (<span class="nodeStripe">nodes</span> and <span class="arcStripe">predicate arcs</span>)</a></div>
+
+ <div class="exampleInner">
+ <div class="preExample">
+ <code>
+ <span class="nodeStripe"><rdf:Description></span><br />
+ <span class="arcStripe"><ex:editor></span><br />
+ <span class="nodeStripe"><rdf:Description></span><br />
+ <span class="arcStripe"><ex:homePage></span><br />
+ <span class="nodeStripe"><rdf:Description></span><br />
+ <span class="nodeStripe"></rdf:Description></span><br />
+ <span class="arcStripe"></ex:homePage></span><br />
+
+ <span class="nodeStripe"></rdf:Description></span><br />
+ <span class="arcStripe"></ex:editor></span><br />
+ <span class="nodeStripe"></rdf:Description></span><br />
+ </code>
+ </div>
+ </div>
+ </div>
+
+ <p>The <a href="#figure2">Figure 2</a> graph consists of some nodes
+ that are
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+
+ (and others that are not) and this can be added
+ to the RDF/XML using the <code>rdf:about</code> attribute on node
+ elements to give the result in <a href="#example2">Example 2</a>:</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example2" name="example2">Example 2: Node Elements with RDF URI references added</a></div>
+ <div class="exampleInner">
+ <pre>
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+
+ <rdf:Description>
+ <ex:homePage>
+ <rdf:Description rdf:about="http://purl.org/net/dajobe/">
+ </rdf:Description>
+ </ex:homePage>
</rdf:Description>
- </ex:homePage>
+
+ </ex:editor>
</rdf:Description>
- </ex:editor>
-</rdf:Description>
-
-</pre>
-</div>
-</div>
-
-<p>Adding the other two paths through the <a href="#figure1">Figure 1</a>
-graph to the RDF/XML in
-<a href="#example2">Example 2</a>
-gives the result in <a href="#example3">Example 3</a>
-
-(this example fails to show that the blank node is
-shared between the two paths, see
-<a href="#section-Syntax-blank-nodes">2.10</a>):</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example3" name="example3">Example 3: Complete description of all graph paths</a></div>
-<div class="exampleInner">
-<pre>
-<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
- <ex:editor>
- <rdf:Description>
-
- <ex:homePage>
- <rdf:Description rdf:about="http://purl.org/net/dajobe/">
+ </pre>
+ </div>
+ </div>
+
+ <p>Adding the other two paths through the <a href="#figure1">Figure 1</a>
+ graph to the RDF/XML in
+ <a href="#example2">Example 2</a>
+ gives the result in <a href="#example3">Example 3</a>
+
+ (this example fails to show that the blank node is
+ shared between the two paths, see
+ <a href="#section-Syntax-blank-nodes">2.10</a>):</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example3" name="example3">Example 3: Complete description of all graph paths</a></div>
+ <div class="exampleInner">
+ <pre>
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+ <rdf:Description>
+
+ <ex:homePage>
+ <rdf:Description rdf:about="http://purl.org/net/dajobe/">
+ </rdf:Description>
+ </ex:homePage>
</rdf:Description>
- </ex:homePage>
- </rdf:Description>
- </ex:editor>
-
-</rdf:Description>
-
-<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
- <ex:editor>
- <rdf:Description>
- <ex:fullName>Dave Beckett</ex:fullName>
- </rdf:Description>
-
- </ex:editor>
-</rdf:Description>
-
-<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
- <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
-</rdf:Description>
-
-</pre>
-
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-multiple-property-elements" name="section-Syntax-multiple-property-elements">2.3 Multiple Property Elements</a></h3>
-
-<p>There are several abbreviations that can be used to make common
-uses easier to write down. In particular, it is common that a
-subject node in the RDF graph has multiple outgoing predicate arcs. RDF/XML
-provides an abbreviation for the corresponding syntax when a node
-element about a resource has multiple property elements. This can be
-abbreviated by using multiple child property elements inside the node
-element describing the subject node.</p>
-
-<p>Taking <a href="#example3">Example 3</a>, there are
-two node elements that can take multiple property elements.
-The subject node with URI reference
-<code>http://www.w3.org/TR/rdf-syntax-grammar</code>
-has property elements <code>ex:editor</code> and <code>ex:title</code>
-
-and the node element for the blank node can take <code>ex:homePage</code>
-and <code>ex:fullName</code>. This abbreviation
-gives the result shown in <a href="#example4">Example 4</a>
-(this example does show that there is a single blank node):</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example4" name="example4">Example 4: Using multiple property elements on a node element</a></div>
-<div class="exampleInner">
-<pre>
-<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
-
- <ex:editor>
- <rdf:Description>
- <ex:homePage>
- <rdf:Description rdf:about="http://purl.org/net/dajobe/">
- </rdf:Description>
- </ex:homePage>
-
- <ex:fullName>Dave Beckett</ex:fullName>
+ </ex:editor>
+
</rdf:Description>
- </ex:editor>
- <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
-</rdf:Description>
-
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-empty-property-elements" name="section-Syntax-empty-property-elements">2.4 Empty Property Elements</a></h3>
-
-<p>When a predicate arc in an RDF graph points to an object node which has no
-further predicate arcs, which appears in RDF/XML as an empty node element
-<code><rdf:Description rdf:about="..."></code>
-<code></rdf:Description></code>
-(or <code><rdf:Description rdf:about="..." /></code>)
-this form can be shortened. This is done by using the
-
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-of the object node as the value of an XML attribute <code>rdf:resource</code>
-on the containing property element and making the property element empty.
-</p>
-
-<p>In this example, the property element <code>ex:homePage</code>
-contains an empty node element with the
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-<code>http://purl.org/net/dajobe/</code>. This can be replaced with
-the empty property element form giving the result shown in
-<a href="#example5">Example 5</a>:</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example5" name="example5">Example 5: Empty property elements</a></div>
-<div class="exampleInner">
-<pre>
-<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
- <ex:editor>
- <rdf:Description>
- <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
-
- <ex:fullName>Dave Beckett</ex:fullName>
+
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+ <rdf:Description>
+ <ex:fullName>Dave Beckett</ex:fullName>
+ </rdf:Description>
+
+ </ex:editor>
</rdf:Description>
- </ex:editor>
- <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
-</rdf:Description>
-
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-property-attributes" name="section-Syntax-property-attributes">2.5 Property Attributes</a></h3>
-
-<p>When a property element's content is string literal,
-it may be possible to use it as an XML attribute on the
-containing node element.
-This can be done for multiple properties on the same node element
-only if the property element name is not repeated
-(required by XML — attribute names are unique on an XML element)
-and any in-scope <code>xml:lang</code> on the
-property element's string literal (if any) are the same (see <a href="#section-Syntax-languages">Section 2.7</a>)
-This abbreviation is known as a <em>Property Attribute</em>
-
-and can be applied to any node element.</p>
-
-<p>This abbreviation can also be used when the property element is
-<code>rdf:type</code> and it has an <code>rdf:resource</code> attribute
-the value of which is interpreted as a
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> object node.</p>
-
-<p>In <a href="#example5">Example 5</a>:,
-there are two property elements with string literal content,
-the <code>dc:title</code> and <code>ex:fullName</code>
-
-property elements. These can be replaced with property attributes
-giving the result shown in <a href="#example6">Example 6</a>:</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example6" name="example6">Example 6: Replacing property elements with string literal content into property attributes</a></div>
-<div class="exampleInner">
-<pre>
-<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
- dc:title="RDF/XML Syntax Specification (Revised)">
- <ex:editor>
- <rdf:Description ex:fullName="Dave Beckett">
-
- <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
</rdf:Description>
- </ex:editor>
-</rdf:Description>
-
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-complete-document" name="section-Syntax-complete-document">2.6 Completing the Document: Document Element and XML Declaration</a></h3>
-
-<p>To create a complete RDF/XML document, the serialization of the
-graph into XML is usually contained inside an <code>rdf:RDF</code>
-XML element which becomes the top-level XML document element.
-Conventionally the <code>rdf:RDF</code> element is also used to
-declare the XML namespaces that are used, although that is not
-required. When there is only one top-level node element inside
-<code>rdf:RDF</code>, the <code>rdf:RDF</code> can be omitted
-although any XML namespaces must still be declared.</p>
-
-<p>The XML specification also permits an XML declaration at
-the top of the document with the XML version and possibly the XML
-content encoding. This is optional but recommended.</p>
-
-<p>Completing the RDF/XML could be done for any of the correct
-complete graph examples from
-<a href="#example4">Example 4</a> onwards but taking the smallest
-<a href="#example6">Example 6</a> and adding the final components,
-gives a complete RDF/XML representation of the original
-<a href="#figure1">Figure 1</a> graph
-in <a href="#example7">Example 7</a>:</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example7" name="example7">Example 7: Complete RDF/XML description of Figure 1 graph</a> (<a href="example07.rdf">example07.rdf</a> output <a href="example07.nt">example07.nt</a>)</div>
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:ex="http://example.org/stuff/1.0/">
-
- <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
- dc:title="RDF/XML Syntax Specification (Revised)">
- <ex:editor>
- <rdf:Description ex:fullName="Dave Beckett">
- <ex:homePage rdf:resource="http://purl.org/net/dajobe/" />
+
+ </pre>
+
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-multiple-property-elements" name="section-Syntax-multiple-property-elements">2.3 Multiple Property Elements</a></h3>
+
+ <p>There are several abbreviations that can be used to make common
+ uses easier to write down. In particular, it is common that a
+ subject node in the RDF graph has multiple outgoing predicate arcs. RDF/XML
+ provides an abbreviation for the corresponding syntax when a node
+ element about a resource has multiple property elements. This can be
+ abbreviated by using multiple child property elements inside the node
+ element describing the subject node.</p>
+
+ <p>Taking <a href="#example3">Example 3</a>, there are
+ two node elements that can take multiple property elements.
+ The subject node with URI reference
+ <code>http://www.w3.org/TR/rdf-syntax-grammar</code>
+ has property elements <code>ex:editor</code> and <code>ex:title</code>
+
+ and the node element for the blank node can take <code>ex:homePage</code>
+ and <code>ex:fullName</code>. This abbreviation
+ gives the result shown in <a href="#example4">Example 4</a>
+ (this example does show that there is a single blank node):</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example4" name="example4">Example 4: Using multiple property elements on a node element</a></div>
+ <div class="exampleInner">
+ <pre>
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+
+ <ex:editor>
+ <rdf:Description>
+ <ex:homePage>
+ <rdf:Description rdf:about="http://purl.org/net/dajobe/">
+ </rdf:Description>
+ </ex:homePage>
+
+ <ex:fullName>Dave Beckett</ex:fullName>
+ </rdf:Description>
+ </ex:editor>
+ <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
+ </rdf:Description>
+
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-empty-property-elements" name="section-Syntax-empty-property-elements">2.4 Empty Property Elements</a></h3>
+
+ <p>When a predicate arc in an RDF graph points to an object node which has no
+ further predicate arcs, which appears in RDF/XML as an empty node element
+ <code><rdf:Description rdf:about="..."></code>
+ <code></rdf:Description></code>
+ (or <code><rdf:Description rdf:about="..." /></code>)
+ this form can be shortened. This is done by using the
+
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ of the object node as the value of an XML attribute <code>rdf:resource</code>
+ on the containing property element and making the property element empty.
+ </p>
+
+ <p>In this example, the property element <code>ex:homePage</code>
+ contains an empty node element with the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ <code>http://purl.org/net/dajobe/</code>. This can be replaced with
+ the empty property element form giving the result shown in
+ <a href="#example5">Example 5</a>:</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example5" name="example5">Example 5: Empty property elements</a></div>
+ <div class="exampleInner">
+ <pre>
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+ <rdf:Description>
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+
+ <ex:fullName>Dave Beckett</ex:fullName>
+ </rdf:Description>
+ </ex:editor>
+ <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
+ </rdf:Description>
+
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-property-attributes" name="section-Syntax-property-attributes">2.5 Property Attributes</a></h3>
+
+ <p>When a property element's content is string literal,
+ it may be possible to use it as an XML attribute on the
+ containing node element.
+ This can be done for multiple properties on the same node element
+ only if the property element name is not repeated
+ (required by XML — attribute names are unique on an XML element)
+ and any in-scope <code>xml:lang</code> on the
+ property element's string literal (if any) are the same (see <a href="#section-Syntax-languages">Section 2.7</a>)
+ This abbreviation is known as a <em>Property Attribute</em>
+
+ and can be applied to any node element.</p>
+
+ <p>This abbreviation can also be used when the property element is
+ <code>rdf:type</code> and it has an <code>rdf:resource</code> attribute
+ the value of which is interpreted as a
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> object node.</p>
+
+ <p>In <a href="#example5">Example 5</a>:,
+ there are two property elements with string literal content,
+ the <code>dc:title</code> and <code>ex:fullName</code>
+
+ property elements. These can be replaced with property attributes
+ giving the result shown in <a href="#example6">Example 6</a>:</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example6" name="example6">Example 6: Replacing property elements with string literal content into property attributes</a></div>
+ <div class="exampleInner">
+ <pre>
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor>
+ <rdf:Description ex:fullName="Dave Beckett">
+
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+ </rdf:Description>
+ </ex:editor>
+ </rdf:Description>
+
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-complete-document" name="section-Syntax-complete-document">2.6 Completing the Document: Document Element and XML Declaration</a></h3>
+
+ <p>To create a complete RDF/XML document, the serialization of the
+ graph into XML is usually contained inside an <code>rdf:RDF</code>
+ XML element which becomes the top-level XML document element.
+ Conventionally the <code>rdf:RDF</code> element is also used to
+ declare the XML namespaces that are used, although that is not
+ required. When there is only one top-level node element inside
+ <code>rdf:RDF</code>, the <code>rdf:RDF</code> can be omitted
+ although any XML namespaces must still be declared.</p>
+
+ <p>The XML specification also permits an XML declaration at
+ the top of the document with the XML version and possibly the XML
+ content encoding. This is optional but recommended.</p>
+
+ <p>Completing the RDF/XML could be done for any of the correct
+ complete graph examples from
+ <a href="#example4">Example 4</a> onwards but taking the smallest
+ <a href="#example6">Example 6</a> and adding the final components,
+ gives a complete RDF/XML representation of the original
+ <a href="#figure1">Figure 1</a> graph
+ in <a href="#example7">Example 7</a>:</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example7" name="example7">Example 7: Complete RDF/XML description of Figure 1 graph</a> (<a href="example07.rdf">example07.rdf</a> output <a href="example07.nt">example07.nt</a>)</div>
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor>
+ <rdf:Description ex:fullName="Dave Beckett">
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/" />
+ </rdf:Description>
+ </ex:editor>
+
</rdf:Description>
- </ex:editor>
-
- </rdf:Description>
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-<p>It is possible to omit <code>rdf:RDF</code> in
-<a href="#example7">Example 7</a> above since there is only one
-
-<code>rdf:Description</code> inside <code>rdf:RDF</code> but this
-is not shown here.</p>
-
-
-<h3><a id="section-Syntax-languages" name="section-Syntax-languages">2.7 Languages: <code>xml:lang</code></a></h3>
-
-<p>RDF/XML permits the use of the <code>xml:lang</code> attribute as defined by
-
-<a href="http://www.w3.org/TR/REC-xml#sec-lang-tag">2.12 Language Identification</a>
-of <a href="http://www.w3.org/TR/2000/REC-xml-20001006">XML 1.0</a> <a href="#ref-xml">[XML]</a>
-to allow the identification of content language.
-The <code>xml:lang</code> attribute can be used on any node element or property element
-to indicate that the included content is in the given language.
-<a href="#section-Syntax-datatyped-literals">Typed literals</a>
-which includes <a href="#section-Syntax-XML-literals">XML literals</a>
-are not affected by this attribute.
-The most specific in-scope language present
-(if any) is applied to property element string literal content or
-property attribute values. The <code>xml:lang=""</code> form
-indicates the absence of a language identifier.</p>
-
-<p>Some examples of marking content languages for RDF properties are shown in
-<a href="#example8">Example 8</a>:</p>
-
-
-<div class="exampleOuter">
-<div class="figure"><a id="example8" name="example8">Example 8: Complete example of <code>xml:lang</code></a> (<a href="example08.rdf">example08.rdf</a> output <a href="example08.nt">example08.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0" encoding="utf-8"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
- <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
- <dc:title xml:lang="en">RDF/XML Syntax Specification (Revised)</dc:title>
-
- <dc:title xml:lang="en-US">RDF/XML Syntax Specification (Revised)</dc:title>
- </rdf:Description>
-
- <rdf:Description rdf:about="http://example.org/buecher/baum" xml:lang="de">
- <dc:title>Der Baum</dc:title>
-
- <dc:description>Das Buch ist außergewöhnlich</dc:description>
- <dc:title xml:lang="en">The Tree</dc:title>
- </rdf:Description>
-</rdf:RDF>
-
-</pre>
-
-</div>
-</div>
-
-
-
-<h3><a id="section-Syntax-XML-literals" name="section-Syntax-XML-literals">2.8 XML Literals: <code>rdf:parseType="Literal"</code></a></h3>
-
-<p>RDF allows
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-XMLLiteral">XML literals</a>
-(<a href="#ref-rdf-concepts">[RDF-CONCEPTS]</a> Section 5, <cite>XML Content within an RDF graph</cite>)
-to be given as the object node of a predicate.
-These are written in RDF/XML as content of a property element (not
-a property attribute) and indicated using the
-
-<code>rdf:parseType="Literal"</code> attribute on the containing
-property element.
-</p>
-
-
-<p>An example of writing an XML literal is given in
-<a href="#example9">Example 9</a> where
-there is a single RDF triple with the subject node
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-<code>http://example.org/item01</code>, the predicate
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-<code>http://example.org/stuff/1.0/prop</code> (from
-
-<code>ex:prop</code>) and the object node with XML literal
-content beginning <code>a:Box</code>.
-</p>
-
-
-<div class="exampleOuter">
-<div class="figure"><a id="example9" name="example9">Example 9: Complete example of <code>rdf:parseType="Literal"</code></a> (<a href="example09.rdf">example09.rdf</a> output <a href="example09.nt">example09.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:ex="http://example.org/stuff/1.0/">
- <rdf:Description rdf:about="http://example.org/item01">
- <ex:prop rdf:parseType="Literal"
- xmlns:a="http://example.org/a#"><a:Box required="true">
- <a:widget size="10" />
- <a:grommit id="23" /></a:Box>
-
- </ex:prop>
- </rdf:Description>
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-datatyped-literals" name="section-Syntax-datatyped-literals">2.9 Typed Literals: <code>rdf:datatype</code></a></h3>
-
-<p>RDF allows
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literals</a>
-to be given as the object node of a predicate. Typed literals consist of a literal
-string and a datatype
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>. These are written in RDF/XML using
-the same syntax for literal string nodes in the property element form
-(not property attribute) but with an additional
-<code>rdf:datatype="</code><em>datatypeURI</em><code>"</code>
-attribute on the property element. Any
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> can be used in the attribute.
-</p>
-
-<p>An example of an RDF
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literal</a>
-is given in <a href="#example10">Example 10</a> where
-there is a single RDF triple with the subject node
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-<code>http://example.org/item01</code>, the predicate
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-<code>http://example.org/stuff/1.0/size</code> (from
-<code>ex:size</code>) and the object node with the
-
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literal</a>
-("123", <code>http://www.w3.org/2001/XMLSchema#int</code>)
-to be interpreted as an
-<a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">W3C XML Schema</a>
-<a href="#ref-xml-schema2">[XML-SCHEMA2]</a> datatype int.
-</p>
-
-
-<div class="exampleOuter">
-<div class="figure"><a id="example10" name="example10">Example 10: Complete example of <code>rdf:datatype</code></a> (<a href="example10.rdf">example10.rdf</a> output <a href="example10.nt">example10.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:ex="http://example.org/stuff/1.0/">
- <rdf:Description rdf:about="http://example.org/item01">
- <ex:size rdf:datatype="http://www.w3.org/2001/XMLSchema#int">123</ex:size>
- </rdf:Description>
-
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-
-
-<h3><a id="section-Syntax-blank-nodes" name="section-Syntax-blank-nodes">2.10 Identifying Blank Nodes: <code>rdf:nodeID</code></a></h3>
-
-<p><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">Blank nodes</a> in the RDF graph are distinct but have no
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> identifier.
-It is sometimes required that the same graph <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">blank node</a> is referred to in the
-RDF/XML in multiple places, such as at the subject and object
-of several RDF triples. In this case, a <em><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a></em>
-
-can be given to the <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">blank node</a> for identifying it
-in the document. Blank node identifiers in RDF/XML are scoped to the
-containing XML Information Set
-<a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a>.
-A <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a> is used
-on a node element to replace
-<code>rdf:about="</code><em>RDF URI reference</em><code>"</code>
-or on a property element to replace
-<code>rdf:resource="</code><em>RDF URI reference</em><code>"</code>
-
-with <code>rdf:nodeID="</code><em><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a></em><code>"</code>
-in both cases.</p>
-
-<p>Taking <a href="#example7">Example 7</a> and explicitly giving
-a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a> of <code>abc</code> to the blank node in it
-gives the result shown in <a href="#example11">Example 11</a>.
-The second <code>rdf:Description</code> property element is
-about the blank node.</p>
-
-
-<div class="exampleOuter">
-<div class="figure"><a id="example11" name="example11">Example 11: Complete RDF/XML description of graph using <code>rdf:nodeID</code> identifying the blank node</a> (<a href="example11.rdf">example11.rdf</a> output <a href="example11.nt">example11.nt</a>)</div>
-<div class="exampleInner">
-<pre>
-
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:ex="http://example.org/stuff/1.0/">
- <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
- dc:title="RDF/XML Syntax Specification (Revised)">
- <ex:editor rdf:nodeID="abc"/>
- </rdf:Description>
-
- <rdf:Description rdf:nodeID="abc"
- ex:fullName="Dave Beckett">
-
- <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
- </rdf:Description>
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-parsetype-resource" name="section-Syntax-parsetype-resource">2.11 Omitting Blank Nodes: <code>rdf:parseType="Resource"</code></a></h3>
-
-<p><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">Blank nodes</a> (not <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> nodes) in RDF graphs can be written
-in a form that allows the
-<code><rdf:Description></code>
-<code></rdf:Description></code> pair to be omitted.
-The omission is done by putting an
-<code>rdf:parseType="Resource"</code>
-attribute on the containing property element
-that turns the property element into a property-and-node element,
-which can itself have both property elements and property attributes.
-Property attributes and the <code>rdf:nodeID</code> attribute
-are not permitted on property-and-node elements.
-
-</p>
-
-<p>Taking the earlier <a href="#example7">Example 7</a>,
-the contents of the <code>ex:editor</code> property element
-could be alternatively done in this fashion to give
-the form shown in <a href="#example12">Example 12</a>:</p>
-
-
-<div class="exampleOuter">
-<div class="figure"><a id="example12" name="example12">Example 12: Complete example using <code>rdf:parseType="Resource"</code></a> (<a href="example12.rdf">example12.rdf</a> output <a href="example12.nt">example12.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:ex="http://example.org/stuff/1.0/">
- <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
- dc:title="RDF/XML Syntax Specification (Revised)">
- <ex:editor rdf:parseType="Resource">
- <ex:fullName>Dave Beckett</ex:fullName>
-
- <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
- </ex:editor>
- </rdf:Description>
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-property-attributes-on-property-element" name="section-Syntax-property-attributes-on-property-element">2.12 Omitting Nodes: Property Attributes on an empty Property Element</a></h3>
-
-<p>If all of the property elements on a blank node element have
-string literal values with the same in-scope <code>xml:lang</code>
-value (if present) and each of these property elements appears at
-most once and there is at most one <code>rdf:type</code> property
-element with a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> object node, these can be abbreviated by
-moving them to be property attributes on the containing property
-element which is made an empty element.</p>
-
-<p>Taking the earlier <a href="#example5">Example 5</a>,
-the <code>ex:editor</code> property element contains a
-blank node element with two property elements
-
-<code>ex:fullname</code> and <code>ex:homePage</code>.
-<code>ex:homePage</code> is not suitable here since it
-does not have a string literal value, so it is being
-<em>ignored</em> for the purposes of this example.
-The abbreviated form removes the <code>ex:fullName</code> property element
-and adds a new property attribute <code>ex:fullName</code> with the
-string literal value of the deleted property element
-to the <code>ex:editor</code> property element.
-The blank node element becomes implicit in the now empty
-
-<code>ex:editor</code> property element. The result is shown in
-<a href="#example13">Example 13</a>.</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example13" name="example13">Example 13: Complete example of property attributes on an empty property element</a> (<a href="example13.rdf">example13.rdf</a> output <a href="example13.nt">example13.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:ex="http://example.org/stuff/1.0/">
- <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
- dc:title="RDF/XML Syntax Specification (Revised)">
- <ex:editor ex:fullName="Dave Beckett" />
- <!-- Note the ex:homePage property has been ignored for this example -->
- </rdf:Description>
-
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-typed-nodes" name="section-Syntax-typed-nodes">2.13 Typed Node Elements</a></h3>
-
-<p>It is common for RDF graphs to have <code>rdf:type</code> predicates
-from subject nodes. These are conventionally called <em>typed
-nodes</em> in the graph, or <em>typed node elements</em> in the
-RDF/XML. RDF/XML allows this triple to be expressed more concisely.
-by replacing the <code>rdf:Description</code> node element name with
-the namespaced-element corresponding to the
-
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> of the value of
-the type relationship. There may, of course, be multiple <code>rdf:type</code>
-predicates but only one can be used in this way, the others must remain as
-property elements or property attributes.
-</p>
-
-<p>The typed node elements are commonly used in RDF/XML with the built-in
-classes in the <a href="#section-Namespace">RDF vocabulary</a>:
-<code>rdf:Seq</code>, <code>rdf:Bag</code>, <code>rdf:Alt</code>,
-
-<code>rdf:Statement</code>, <code>rdf:Property</code> and
-<code>rdf:List</code>.</p>
-
-<p>For example, the RDF/XML in <a href="#example14">Example 14</a>
-could be written as shown in <a href="#example15">Example 15</a>.</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example14" name="example14">Example 14: Complete example with <code>rdf:type</code></a> (<a href="example14.rdf">example14.rdf</a> output <a href="example14.nt">example14.nt</a>)</div>
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:ex="http://example.org/stuff/1.0/">
-
- <rdf:Description rdf:about="http://example.org/thing">
- <rdf:type rdf:resource="http://example.org/stuff/1.0/Document"/>
- <dc:title>A marvelous thing</dc:title>
- </rdf:Description>
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example15" name="example15">Example 15: Complete example using a typed node element to replace an <code>rdf:type</code></a> (<a href="example15.rdf">example15.rdf</a> output <a href="example15.nt">example15.nt</a>)</div>
-<div class="exampleInner">
-<pre>
-
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:ex="http://example.org/stuff/1.0/">
- <ex:Document rdf:about="http://example.org/thing">
- <dc:title>A marvelous thing</dc:title>
- </ex:Document>
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-ID-xml-base" name="section-Syntax-ID-xml-base">2.14 Abbreviating URIs: <code>rdf:ID</code> and <code>xml:base</code></a></h3>
-
-<p>RDF/XML allows further abbreviating <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> in XML attributes in two
-ways. The XML Infoset provides a base URI attribute <code>xml:base</code>
-
-that sets the base URI for resolving relative <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>, otherwise the base URI is that of the document. The base URI applies to
-all RDF/XML attributes that deal with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> which are <code>rdf:about</code>,
-<code>rdf:resource</code>, <code>rdf:ID</code>
-and <code>rdf:datatype</code>.</p>
-
-<p>The <code>rdf:ID</code> attribute on a node element (not property
-element, that has another meaning) can be used instead of
-<code>rdf:about</code> and gives a relative <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> equivalent to <code>#</code>
-concatenated with the <code>rdf:ID</code> attribute value. So for
-example if <code>rdf:ID="name"</code>, that would be equivalent
-to <code>rdf:about="#name"</code>. <code>rdf:ID</code> provides an additional
-check since the same <em>name</em> can only appear once in the
-scope of an <code>xml:base</code> value (or document, if none is given),
-so is useful for defining a set of distinct,
-related terms relative to the same <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.</p>
-
-<p>Both forms require a base URI to be known, either from an in-scope
-<code>xml:base</code> or from the URI of the RDF/XML document.</p>
-
-<p><a href="#example16">Example 16</a> shows abbreviating the node
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> of <code>http://example.org/here/#snack</code> using an
-<code>xml:base</code> of <code>http://example.org/here/</code> and
-an <code>rdf:ID</code> on the <code>rdf:Description</code> node element.
-The object node of the <code>ex:prop</code> predicate is an
-absolute <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-
-resolved from the <code>rdf:resource</code> XML attribute value
-using the in-scope base URI to give the
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-<code>http://example.org/here/fruit/apple</code>.</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example16" name="example16">Example 16: Complete example using <code>rdf:ID</code> and <code>xml:base</code> for shortening URIs </a> (<a href="example16.rdf">example16.rdf</a> output <a href="example16.nt">example16.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:ex="http://example.org/stuff/1.0/"
- xml:base="http://example.org/here/">
- <rdf:Description rdf:ID="snack">
- <ex:prop rdf:resource="fruit/apple"/>
- </rdf:Description>
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-
-
-<h3><a id="section-Syntax-list-elements" name="section-Syntax-list-elements">2.15 Container Membership Property Elements: <code>rdf:li</code> and <code>rdf:_</code><em>n</em></a></h3>
-
-<p>RDF has a set of container membership properties
-and corresponding property elements that are mostly used with
-instances of the
-<code>rdf:Seq</code>, <code>rdf:Bag</code> and <code>rdf:Alt</code>
-
-classes which may be written as typed node elements. The list properties are
-<code>rdf:_1</code>, <code>rdf:_2</code> etc. and can be written
-as property elements or property attributes as shown in
-<a href="#example17">Example 17</a>. There is an <code>rdf:li</code>
-special property element that is equivalent to
-<code>rdf:_1</code>, <code>rdf:_2</code> in order,
-explained in detail in <a href="#section-List-Expand">section 7.4</a>.
-The mapping to the container membership properties is
-always done in the order that the <code>rdf:li</code> special
-property elements appear in XML — the document order is significant.
-The equivalent RDF/XML to <a href="#example17">Example 17</a> written
-in this form is shown in <a href="#example18">Example 18</a>.
-
-</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example17" name="example17">Example 17: Complex example using RDF list properties</a> (<a href="example17.rdf">example17.rdf</a> output <a href="example17.nt">example17.nt</a>)</div>
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-
- <rdf:Seq rdf:about="http://example.org/favourite-fruit">
- <rdf:_1 rdf:resource="http://example.org/banana"/>
- <rdf:_2 rdf:resource="http://example.org/apple"/>
- <rdf:_3 rdf:resource="http://example.org/pear"/>
- </rdf:Seq>
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example18" name="example18">Example 18: Complete example using <code>rdf:li</code> property element for list properties</a> (<a href="example18.rdf">example18.rdf</a> output <a href="example18.nt">example18.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdf:Seq rdf:about="http://example.org/favourite-fruit">
- <rdf:li rdf:resource="http://example.org/banana"/>
- <rdf:li rdf:resource="http://example.org/apple"/>
- <rdf:li rdf:resource="http://example.org/pear"/>
-
- </rdf:Seq>
-</rdf:RDF>
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-parsetype-Collection" name="section-Syntax-parsetype-Collection">2.16 Collections: <code>rdf:parseType="Collection"</code></a></h3>
-
-<p>RDF/XML allows an <code>rdf:parseType="Collection"</code>
-
-attribute on a property element to let it contain multiple node
-elements. These contained node elements give the set of subject
-nodes of the collection. This syntax form corresponds to a set of
-triples connecting the collection of subject nodes, the exact triples
-generated are described in detail in
-<a href="#parseTypeCollectionPropertyElt">Section 7.2.19 Production parseTypeCollectionPropertyElt</a>.
-The collection construction is always done in the order that the node
-elements appear in the XML document. Whether the order of the
-collection of nodes is significant is an application issue and not
-defined here.
-</p>
-
-<p><a href="#example19">Example 19</a> shows a collection of three
-nodes elements at the end of the <code>ex:hasFruit</code>
-property element using this form.</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example19" name="example19">Example 19: Complete example of a RDF collection of nodes using <code>rdf:parseType="Collection"</code></a> (<a href="example19.rdf">example19.rdf</a> output <a href="example19.nt">example19.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:ex="http://example.org/stuff/1.0/">
- <rdf:Description rdf:about="http://example.org/basket">
- <ex:hasFruit rdf:parseType="Collection">
- <rdf:Description rdf:about="http://example.org/banana"/>
- <rdf:Description rdf:about="http://example.org/apple"/>
-
- <rdf:Description rdf:about="http://example.org/pear"/>
- </ex:hasFruit>
- </rdf:Description>
-</rdf:RDF>
-</pre>
-</div>
-</div>
-
-
-<h3><a id="section-Syntax-reifying" name="section-Syntax-reifying">2.17 Reifying Statements: <code>rdf:ID</code></a></h3>
-
-<p>The <code>rdf:ID</code> attribute can be used on a property
-element to reify the triple that it generates (See
-<a href="#section-Reification">section 7.3 Reification Rules</a> for the
-full details).
-The identifier for the triple should be constructed as a
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-made from the relative URI reference
-<code>#</code> concatenated with the <code>rdf:ID</code> attribute
-value, resolved against the in-scope base URI. So for example if
-
-<code>rdf:ID="triple"</code>, that would be equivalent to the <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-formed from relative URI reference <code>#triple</code> against the base URI.
-Each (<code>rdf:ID</code> attribute value, base URI)
-pair has to be unique in an RDF/XML document,
-see <a href="#constraint-id">constraint-id</a>.
-</p>
-
-<p><a href="#example20">Example 20</a> shows a <code>rdf:ID</code>
-
-being used to reify a triple made from the <code>ex:prop</code>
-property element giving the reified triple the
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://example.org/triples/#triple1</code>.</p>
-
-<div class="exampleOuter">
-<div class="figure"><a id="example20" name="example20">Example 20: Complete example of <code>rdf:ID</code> reifying a property element</a> (<a href="example20.rdf">example20.rdf</a> output <a href="example20.nt">example20.nt</a>)</div>
-
-<div class="exampleInner">
-<pre>
-<?xml version="1.0"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:ex="http://example.org/stuff/1.0/"
- xml:base="http://example.org/triples/">
- <rdf:Description rdf:about="http://example.org/">
- <ex:prop rdf:ID="triple1">blah</ex:prop>
- </rdf:Description>
-
-</rdf:RDF>
-
-</pre>
-</div>
-</div>
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+ <p>It is possible to omit <code>rdf:RDF</code> in
+ <a href="#example7">Example 7</a> above since there is only one
+
+ <code>rdf:Description</code> inside <code>rdf:RDF</code> but this
+ is not shown here.</p>
+
+
+ <h3><a id="section-Syntax-languages" name="section-Syntax-languages">2.7 Languages: <code>xml:lang</code></a></h3>
+
+ <p>RDF/XML permits the use of the <code>xml:lang</code> attribute as defined by
+
+ <a href="http://www.w3.org/TR/REC-xml#sec-lang-tag">2.12 Language Identification</a>
+ of <a href="http://www.w3.org/TR/2000/REC-xml-20001006">XML 1.0</a> <a href="#ref-xml">[XML]</a>
+ to allow the identification of content language.
+ The <code>xml:lang</code> attribute can be used on any node element or property element
+ to indicate that the included content is in the given language.
+ <a href="#section-Syntax-datatyped-literals">Typed literals</a>
+ which includes <a href="#section-Syntax-XML-literals">XML literals</a>
+ are not affected by this attribute.
+ The most specific in-scope language present
+ (if any) is applied to property element string literal content or
+ property attribute values. The <code>xml:lang=""</code> form
+ indicates the absence of a language identifier.</p>
+
+ <p>Some examples of marking content languages for RDF properties are shown in
+ <a href="#example8">Example 8</a>:</p>
+
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example8" name="example8">Example 8: Complete example of <code>xml:lang</code></a> (<a href="example08.rdf">example08.rdf</a> output <a href="example08.nt">example08.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0" encoding="utf-8"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
+ <dc:title xml:lang="en">RDF/XML Syntax Specification (Revised)</dc:title>
+
+ <dc:title xml:lang="en-US">RDF/XML Syntax Specification (Revised)</dc:title>
+ </rdf:Description>
+
+ <rdf:Description rdf:about="http://example.org/buecher/baum" xml:lang="de">
+ <dc:title>Der Baum</dc:title>
+
+ <dc:description>Das Buch ist außergewöhnlich</dc:description>
+ <dc:title xml:lang="en">The Tree</dc:title>
+ </rdf:Description>
+ </rdf:RDF>
+
+ </pre>
+
+ </div>
+ </div>
+
+
+
+ <h3><a id="section-Syntax-XML-literals" name="section-Syntax-XML-literals">2.8 XML Literals: <code>rdf:parseType="Literal"</code></a></h3>
+
+ <p>RDF allows
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-XMLLiteral">XML literals</a>
+ (<a href="#ref-rdf-concepts">[RDF-CONCEPTS]</a> Section 5, <cite>XML Content within an RDF graph</cite>)
+ to be given as the object node of a predicate.
+ These are written in RDF/XML as content of a property element (not
+ a property attribute) and indicated using the
+
+ <code>rdf:parseType="Literal"</code> attribute on the containing
+ property element.
+ </p>
+
+
+ <p>An example of writing an XML literal is given in
+ <a href="#example9">Example 9</a> where
+ there is a single RDF triple with the subject node
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ <code>http://example.org/item01</code>, the predicate
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ <code>http://example.org/stuff/1.0/prop</code> (from
+
+ <code>ex:prop</code>) and the object node with XML literal
+ content beginning <code>a:Box</code>.
+ </p>
+
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example9" name="example9">Example 9: Complete example of <code>rdf:parseType="Literal"</code></a> (<a href="example09.rdf">example09.rdf</a> output <a href="example09.nt">example09.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/">
+ <rdf:Description rdf:about="http://example.org/item01">
+ <ex:prop rdf:parseType="Literal"
+ xmlns:a="http://example.org/a#"><a:Box required="true">
+ <a:widget size="10" />
+ <a:grommit id="23" /></a:Box>
+
+ </ex:prop>
+ </rdf:Description>
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-datatyped-literals" name="section-Syntax-datatyped-literals">2.9 Typed Literals: <code>rdf:datatype</code></a></h3>
+
+ <p>RDF allows
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literals</a>
+ to be given as the object node of a predicate. Typed literals consist of a literal
+ string and a datatype
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>. These are written in RDF/XML using
+ the same syntax for literal string nodes in the property element form
+ (not property attribute) but with an additional
+ <code>rdf:datatype="</code><em>datatypeURI</em><code>"</code>
+ attribute on the property element. Any
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> can be used in the attribute.
+ </p>
+
+ <p>An example of an RDF
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literal</a>
+ is given in <a href="#example10">Example 10</a> where
+ there is a single RDF triple with the subject node
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ <code>http://example.org/item01</code>, the predicate
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ <code>http://example.org/stuff/1.0/size</code> (from
+ <code>ex:size</code>) and the object node with the
+
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literal</a>
+ ("123", <code>http://www.w3.org/2001/XMLSchema#int</code>)
+ to be interpreted as an
+ <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">W3C XML Schema</a>
+ <a href="#ref-xml-schema2">[XML-SCHEMA2]</a> datatype int.
+ </p>
+
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example10" name="example10">Example 10: Complete example of <code>rdf:datatype</code></a> (<a href="example10.rdf">example10.rdf</a> output <a href="example10.nt">example10.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/">
+ <rdf:Description rdf:about="http://example.org/item01">
+ <ex:size rdf:datatype="http://www.w3.org/2001/XMLSchema#int">123</ex:size>
+ </rdf:Description>
+
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+
+
+ <h3><a id="section-Syntax-blank-nodes" name="section-Syntax-blank-nodes">2.10 Identifying Blank Nodes: <code>rdf:nodeID</code></a></h3>
+
+ <p><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">Blank nodes</a> in the RDF graph are distinct but have no
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> identifier.
+ It is sometimes required that the same graph <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">blank node</a> is referred to in the
+ RDF/XML in multiple places, such as at the subject and object
+ of several RDF triples. In this case, a <em><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a></em>
+
+ can be given to the <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">blank node</a> for identifying it
+ in the document. Blank node identifiers in RDF/XML are scoped to the
+ containing XML Information Set
+ <a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a>.
+ A <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a> is used
+ on a node element to replace
+ <code>rdf:about="</code><em>RDF URI reference</em><code>"</code>
+ or on a property element to replace
+ <code>rdf:resource="</code><em>RDF URI reference</em><code>"</code>
+
+ with <code>rdf:nodeID="</code><em><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a></em><code>"</code>
+ in both cases.</p>
+
+ <p>Taking <a href="#example7">Example 7</a> and explicitly giving
+ a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a> of <code>abc</code> to the blank node in it
+ gives the result shown in <a href="#example11">Example 11</a>.
+ The second <code>rdf:Description</code> property element is
+ about the blank node.</p>
+
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example11" name="example11">Example 11: Complete RDF/XML description of graph using <code>rdf:nodeID</code> identifying the blank node</a> (<a href="example11.rdf">example11.rdf</a> output <a href="example11.nt">example11.nt</a>)</div>
+ <div class="exampleInner">
+ <pre>
+
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor rdf:nodeID="abc"/>
+ </rdf:Description>
+
+ <rdf:Description rdf:nodeID="abc"
+ ex:fullName="Dave Beckett">
+
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+ </rdf:Description>
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-parsetype-resource" name="section-Syntax-parsetype-resource">2.11 Omitting Blank Nodes: <code>rdf:parseType="Resource"</code></a></h3>
+
+ <p><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">Blank nodes</a> (not <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> nodes) in RDF graphs can be written
+ in a form that allows the
+ <code><rdf:Description></code>
+ <code></rdf:Description></code> pair to be omitted.
+ The omission is done by putting an
+ <code>rdf:parseType="Resource"</code>
+ attribute on the containing property element
+ that turns the property element into a property-and-node element,
+ which can itself have both property elements and property attributes.
+ Property attributes and the <code>rdf:nodeID</code> attribute
+ are not permitted on property-and-node elements.
+
+ </p>
+
+ <p>Taking the earlier <a href="#example7">Example 7</a>,
+ the contents of the <code>ex:editor</code> property element
+ could be alternatively done in this fashion to give
+ the form shown in <a href="#example12">Example 12</a>:</p>
+
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example12" name="example12">Example 12: Complete example using <code>rdf:parseType="Resource"</code></a> (<a href="example12.rdf">example12.rdf</a> output <a href="example12.nt">example12.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor rdf:parseType="Resource">
+ <ex:fullName>Dave Beckett</ex:fullName>
+
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+ </ex:editor>
+ </rdf:Description>
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-property-attributes-on-property-element" name="section-Syntax-property-attributes-on-property-element">2.12 Omitting Nodes: Property Attributes on an empty Property Element</a></h3>
+
+ <p>If all of the property elements on a blank node element have
+ string literal values with the same in-scope <code>xml:lang</code>
+ value (if present) and each of these property elements appears at
+ most once and there is at most one <code>rdf:type</code> property
+ element with a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> object node, these can be abbreviated by
+ moving them to be property attributes on the containing property
+ element which is made an empty element.</p>
+
+ <p>Taking the earlier <a href="#example5">Example 5</a>,
+ the <code>ex:editor</code> property element contains a
+ blank node element with two property elements
+
+ <code>ex:fullname</code> and <code>ex:homePage</code>.
+ <code>ex:homePage</code> is not suitable here since it
+ does not have a string literal value, so it is being
+ <em>ignored</em> for the purposes of this example.
+ The abbreviated form removes the <code>ex:fullName</code> property element
+ and adds a new property attribute <code>ex:fullName</code> with the
+ string literal value of the deleted property element
+ to the <code>ex:editor</code> property element.
+ The blank node element becomes implicit in the now empty
+
+ <code>ex:editor</code> property element. The result is shown in
+ <a href="#example13">Example 13</a>.</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example13" name="example13">Example 13: Complete example of property attributes on an empty property element</a> (<a href="example13.rdf">example13.rdf</a> output <a href="example13.nt">example13.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor ex:fullName="Dave Beckett" />
+ <!-- Note the ex:homePage property has been ignored for this example -->
+ </rdf:Description>
+
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-typed-nodes" name="section-Syntax-typed-nodes">2.13 Typed Node Elements</a></h3>
+
+ <p>It is common for RDF graphs to have <code>rdf:type</code> predicates
+ from subject nodes. These are conventionally called <em>typed
+ nodes</em> in the graph, or <em>typed node elements</em> in the
+ RDF/XML. RDF/XML allows this triple to be expressed more concisely.
+ by replacing the <code>rdf:Description</code> node element name with
+ the namespaced-element corresponding to the
+
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> of the value of
+ the type relationship. There may, of course, be multiple <code>rdf:type</code>
+ predicates but only one can be used in this way, the others must remain as
+ property elements or property attributes.
+ </p>
+
+ <p>The typed node elements are commonly used in RDF/XML with the built-in
+ classes in the <a href="#section-Namespace">RDF vocabulary</a>:
+ <code>rdf:Seq</code>, <code>rdf:Bag</code>, <code>rdf:Alt</code>,
+
+ <code>rdf:Statement</code>, <code>rdf:Property</code> and
+ <code>rdf:List</code>.</p>
+
+ <p>For example, the RDF/XML in <a href="#example14">Example 14</a>
+ could be written as shown in <a href="#example15">Example 15</a>.</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example14" name="example14">Example 14: Complete example with <code>rdf:type</code></a> (<a href="example14.rdf">example14.rdf</a> output <a href="example14.nt">example14.nt</a>)</div>
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://example.org/thing">
+ <rdf:type rdf:resource="http://example.org/stuff/1.0/Document"/>
+ <dc:title>A marvelous thing</dc:title>
+ </rdf:Description>
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example15" name="example15">Example 15: Complete example using a typed node element to replace an <code>rdf:type</code></a> (<a href="example15.rdf">example15.rdf</a> output <a href="example15.nt">example15.nt</a>)</div>
+ <div class="exampleInner">
+ <pre>
+
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+ <ex:Document rdf:about="http://example.org/thing">
+ <dc:title>A marvelous thing</dc:title>
+ </ex:Document>
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-ID-xml-base" name="section-Syntax-ID-xml-base">2.14 Abbreviating URIs: <code>rdf:ID</code> and <code>xml:base</code></a></h3>
+
+ <p>RDF/XML allows further abbreviating <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> in XML attributes in two
+ ways. The XML Infoset provides a base URI attribute <code>xml:base</code>
+
+ that sets the base URI for resolving relative <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>, otherwise the base URI is that of the document. The base URI applies to
+ all RDF/XML attributes that deal with <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> which are <code>rdf:about</code>,
+ <code>rdf:resource</code>, <code>rdf:ID</code>
+ and <code>rdf:datatype</code>.</p>
+
+ <p>The <code>rdf:ID</code> attribute on a node element (not property
+ element, that has another meaning) can be used instead of
+ <code>rdf:about</code> and gives a relative <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> equivalent to <code>#</code>
+ concatenated with the <code>rdf:ID</code> attribute value. So for
+ example if <code>rdf:ID="name"</code>, that would be equivalent
+ to <code>rdf:about="#name"</code>. <code>rdf:ID</code> provides an additional
+ check since the same <em>name</em> can only appear once in the
+ scope of an <code>xml:base</code> value (or document, if none is given),
+ so is useful for defining a set of distinct,
+ related terms relative to the same <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.</p>
+
+ <p>Both forms require a base URI to be known, either from an in-scope
+ <code>xml:base</code> or from the URI of the RDF/XML document.</p>
+
+ <p><a href="#example16">Example 16</a> shows abbreviating the node
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> of <code>http://example.org/here/#snack</code> using an
+ <code>xml:base</code> of <code>http://example.org/here/</code> and
+ an <code>rdf:ID</code> on the <code>rdf:Description</code> node element.
+ The object node of the <code>ex:prop</code> predicate is an
+ absolute <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+
+ resolved from the <code>rdf:resource</code> XML attribute value
+ using the in-scope base URI to give the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ <code>http://example.org/here/fruit/apple</code>.</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example16" name="example16">Example 16: Complete example using <code>rdf:ID</code> and <code>xml:base</code> for shortening URIs </a> (<a href="example16.rdf">example16.rdf</a> output <a href="example16.nt">example16.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/"
+ xml:base="http://example.org/here/">
+ <rdf:Description rdf:ID="snack">
+ <ex:prop rdf:resource="fruit/apple"/>
+ </rdf:Description>
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+
+
+ <h3><a id="section-Syntax-list-elements" name="section-Syntax-list-elements">2.15 Container Membership Property Elements: <code>rdf:li</code> and <code>rdf:_</code><em>n</em></a></h3>
+
+ <p>RDF has a set of container membership properties
+ and corresponding property elements that are mostly used with
+ instances of the
+ <code>rdf:Seq</code>, <code>rdf:Bag</code> and <code>rdf:Alt</code>
+
+ classes which may be written as typed node elements. The list properties are
+ <code>rdf:_1</code>, <code>rdf:_2</code> etc. and can be written
+ as property elements or property attributes as shown in
+ <a href="#example17">Example 17</a>. There is an <code>rdf:li</code>
+ special property element that is equivalent to
+ <code>rdf:_1</code>, <code>rdf:_2</code> in order,
+ explained in detail in <a href="#section-List-Expand">section 7.4</a>.
+ The mapping to the container membership properties is
+ always done in the order that the <code>rdf:li</code> special
+ property elements appear in XML — the document order is significant.
+ The equivalent RDF/XML to <a href="#example17">Example 17</a> written
+ in this form is shown in <a href="#example18">Example 18</a>.
+
+ </p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example17" name="example17">Example 17: Complex example using RDF list properties</a> (<a href="example17.rdf">example17.rdf</a> output <a href="example17.nt">example17.nt</a>)</div>
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+
+ <rdf:Seq rdf:about="http://example.org/favourite-fruit">
+ <rdf:_1 rdf:resource="http://example.org/banana"/>
+ <rdf:_2 rdf:resource="http://example.org/apple"/>
+ <rdf:_3 rdf:resource="http://example.org/pear"/>
+ </rdf:Seq>
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example18" name="example18">Example 18: Complete example using <code>rdf:li</code> property element for list properties</a> (<a href="example18.rdf">example18.rdf</a> output <a href="example18.nt">example18.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Seq rdf:about="http://example.org/favourite-fruit">
+ <rdf:li rdf:resource="http://example.org/banana"/>
+ <rdf:li rdf:resource="http://example.org/apple"/>
+ <rdf:li rdf:resource="http://example.org/pear"/>
+
+ </rdf:Seq>
+ </rdf:RDF>
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-parsetype-Collection" name="section-Syntax-parsetype-Collection">2.16 Collections: <code>rdf:parseType="Collection"</code></a></h3>
+
+ <p>RDF/XML allows an <code>rdf:parseType="Collection"</code>
+
+ attribute on a property element to let it contain multiple node
+ elements. These contained node elements give the set of subject
+ nodes of the collection. This syntax form corresponds to a set of
+ triples connecting the collection of subject nodes, the exact triples
+ generated are described in detail in
+ <a href="#parseTypeCollectionPropertyElt">Section 7.2.19 Production parseTypeCollectionPropertyElt</a>.
+ The collection construction is always done in the order that the node
+ elements appear in the XML document. Whether the order of the
+ collection of nodes is significant is an application issue and not
+ defined here.
+ </p>
+
+ <p><a href="#example19">Example 19</a> shows a collection of three
+ nodes elements at the end of the <code>ex:hasFruit</code>
+ property element using this form.</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example19" name="example19">Example 19: Complete example of a RDF collection of nodes using <code>rdf:parseType="Collection"</code></a> (<a href="example19.rdf">example19.rdf</a> output <a href="example19.nt">example19.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/">
+ <rdf:Description rdf:about="http://example.org/basket">
+ <ex:hasFruit rdf:parseType="Collection">
+ <rdf:Description rdf:about="http://example.org/banana"/>
+ <rdf:Description rdf:about="http://example.org/apple"/>
+
+ <rdf:Description rdf:about="http://example.org/pear"/>
+ </ex:hasFruit>
+ </rdf:Description>
+ </rdf:RDF>
+ </pre>
+ </div>
+ </div>
+
+
+ <h3><a id="section-Syntax-reifying" name="section-Syntax-reifying">2.17 Reifying Statements: <code>rdf:ID</code></a></h3>
+
+ <p>The <code>rdf:ID</code> attribute can be used on a property
+ element to reify the triple that it generates (See
+ <a href="#section-Reification">section 7.3 Reification Rules</a> for the
+ full details).
+ The identifier for the triple should be constructed as a
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ made from the relative URI reference
+ <code>#</code> concatenated with the <code>rdf:ID</code> attribute
+ value, resolved against the in-scope base URI. So for example if
+
+ <code>rdf:ID="triple"</code>, that would be equivalent to the <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+ formed from relative URI reference <code>#triple</code> against the base URI.
+ Each (<code>rdf:ID</code> attribute value, base URI)
+ pair has to be unique in an RDF/XML document,
+ see <a href="#constraint-id">constraint-id</a>.
+ </p>
+
+ <p><a href="#example20">Example 20</a> shows a <code>rdf:ID</code>
+
+ being used to reify a triple made from the <code>ex:prop</code>
+ property element giving the reified triple the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <code>http://example.org/triples/#triple1</code>.</p>
+
+ <div class="exampleOuter">
+ <div class="figure"><a id="example20" name="example20">Example 20: Complete example of <code>rdf:ID</code> reifying a property element</a> (<a href="example20.rdf">example20.rdf</a> output <a href="example20.nt">example20.nt</a>)</div>
+
+ <div class="exampleInner">
+ <pre>
+ <?xml version="1.0"?>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/"
+ xml:base="http://example.org/triples/">
+ <rdf:Description rdf:about="http://example.org/">
+ <ex:prop rdf:ID="triple1">blah</ex:prop>
+ </rdf:Description>
+
+ </rdf:RDF>
+
+ </pre>
+ </div>
+ </div>
+
+
+</section>
+
+
+
<h2>
@@ -4022,7 +4020,7 @@
attribute * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
rdf:resource | rdf:nodeID | rdf:datatype | rdf:li |
rdf:Description | rdf:aboutEach |
- rdf:aboutEachPrefix | rdf:bagID |
+ rdf:aboutEachPrefix | rdf:bagID |
xml:* ) {
string
}