Fix definition of literal equality. Editorial work around equality/equivalence
--- a/rdf-concepts/index.html Thu Nov 10 19:29:39 2011 +0000
+++ b/rdf-concepts/index.html Thu Nov 10 22:06:23 2011 +0000
@@ -654,10 +654,6 @@
<p>This section defines the RDF abstract syntax. The RDF abstract
syntax is a set of triples, called the RDF graph.</p>
- <p>This section also defines equivalence between RDF graphs. A
- definition of equivalence is needed to support the RDF Test Cases
- [[RDF-TESTCASES]] specification.</p>
-
<p class="note">This <em>abstract</em> syntax is the
syntax over which the formal semantics are defined.
Implementations are free to represent RDF graphs in
@@ -701,19 +697,18 @@
<section id="section-rdf-graph">
- <h3>RDF Graph</h3>
+ <h3>RDF Graphs</h3>
- <p>An <dfn>RDF graph</dfn> is a set of RDF triples.</p>
+ <p>An <dfn>RDF graph</dfn> is a set of
+ <a title="RDF triple">RDF triples</a>.</p>
<p>The set of <dfn title="node">nodes</dfn> of an RDF graph is the set of subjects and objects of
triples in the graph.</p>
</section>
-
-<section id="section-graph-equality">
- <h3>Graph Equivalence</h3>
-
- <p>Two <a title="RDF graph">RDF graphs</a> <var>G</var> and <var>G'</var> are equivalent if there
+ <p><a name="section-graph-equality"></a><dfn>Graph equivalence</dfn>:
+ Two <a title="RDF graph">RDF graphs</a>
+ <var>G</var> and <var>G'</var> are equivalent if there
is a bijection <var>M</var> between the sets of nodes of the two graphs,
such that:</p>
@@ -730,10 +725,10 @@
<var>G'</var></li>
</ol>
<p>With this definition, <var>M</var> shows how each blank node
- in <var>G</var> can be replaced with
- a new blank node to give <var>G'</var>.</p>
-</section>
-
+ in <var>G</var> can be replaced with
+ a new blank node to give <var>G'</var>. A definition of graph equivalence
+ is needed to support the RDF Test Cases [[RDF-TESTCASES]] specification.</p>
+
<section id="section-IRIs">
<h3>IRIs</h3>
@@ -748,7 +743,8 @@
<p>IRIs in the RDF abstract syntax MUST be absolute, and MAY
contain a fragment identifier.</p>
- <p>Two IRIs are equal if and only if they are equivalent
+ <p><dfn>IRI equality</dfn>:
+ Two IRIs are equal if and only if they are equivalent
under Simple String Comparison according to
<a href="http://tools.ietf.org/html/rfc3987#section-5.1">section 5.1</a>
of [[!IRI]]. Further normalization MUST NOT be performed when
@@ -842,6 +838,13 @@
<a title="literal">literals</a> with the <a>datatype IRI</a>
<code>http://www.w3.org/2001/XMLSchema#string</code>.</p>
+ <p><dfn>Literal equality</dfn>:
+ Two literals are equal if and only if the two
+ <a title="lexical form">lexical forms</a>, the two
+ <a title="datatype IRI">datatype IRIs</a>, and the two
+ <a title="language tag">language tags</a> (if any)
+ compare equal, character by character.</p>
+
<p class="note">In earlier versions of RDF, literals with a
<a>language tag</a> did not have a <a>datatype IRI</a>, and
<a title="simple literal">simple literals</a> could appear
@@ -878,33 +881,10 @@
of comparing two language tags should not be sensitive to the case of
the original input.</p>
-
-<section id="section-Literal-Equality">
- <h4>Literal Equality</h4>
-
- <p>Two literals are equal if and only if all of the following
- hold:</p>
-
- <ul>
- <li>The strings of the two lexical forms compare equal, character
- by character.</li>
-
- <li>Either both or neither have language tags.</li>
-
- <li>The language tags, if any, compare
- equal.</li>
-
- <li>Either both or neither have datatype IRIs.</li>
-
- <li>The two datatype IRIs, if any, compare equal, character by
- character.</li>
- </ul>
-
<p class="note">RDF Literals are distinct and distinguishable
from <a title="IRI">IRIs</a>; e.g. <code>http://example.org/</code>
as a string <a>literal</a> is not equal to <code>http://example.org/</code>
as an IRI.</p>
-</section>
<section id="section-Literal-Value">