2013-05-07: Revised the definition of blank nodes (ISSUE-107)
authorDavid Wood <dwood@zepheira.com>
Tue, 07 May 2013 11:50:39 -0400
changeset 809 31090a480c40
parent 806 b3a49f528625
child 810 957cd9278435
2013-05-07: Revised the definition of blank nodes (ISSUE-107)
2013-05-07: Defined the consequence of a literal being ill-typed
(ISSUE-109)
2013-05-07: Clarified the existence of null control characters in
xsd:strings (ISSUE-126)
2013-05-07: Added a definition of RDF Dataset isomorphism (ISSUE-111)
2013-05-07: Addressed content negotiation as it relates to graphs and
datasets (ISSUE-105)
rdf-concepts/index.html
--- a/rdf-concepts/index.html	Mon Apr 15 17:10:18 2013 +0100
+++ b/rdf-concepts/index.html	Tue May 07 11:50:39 2013 -0400
@@ -395,18 +395,6 @@
 <section id="entailment">
     <h3>Equivalence, Entailment and Inconsistency</h3>
 
-    <p class="issue">No Editor's Draft of <em>RDF 1.1 Semantics</em> is
-    available yet
-    (<a href="https://www.w3.org/2011/rdf-wg/track/actions/214">ACTION-214</a>),
-    and its relationship to this document is not yet
-    entirely clear. Some Semantics-related material may be moved here,
-    in particular the definition of <dfn title="merge">graph merge</dfn> and
-    <dfn>subgraph</dfn></li>, and informative
-    <a href="http://www.w3.org/TR/rdf-mt/#rules">entailment rules</a>
-    for the entailments over the RDF data model
-    (excluding any specific vocabulary). This is
-    <a href="https://www.w3.org/2011/rdf-wg/track/issues/106">ISSUE-106</a>.</p>
-
     <p class="issue">The Working Group intends to publish a Working Group
     Note detailing some of its efforts to define a <strong>formal semantics for
     RDF datasets</strong>. It should be referenced here when available. This is
@@ -667,22 +655,10 @@
 <section id="section-blank-nodes">
     <h2>Blank Nodes</h2>
 
-    <p class="issue">Various proposals have been made for revising
-    this section, ranging from editorial re-wordings to major re-writes
-    that introduce notions of a “scope” for blank node identifiers
-    and define the concept of a “fresh” blank node. This is
-    <a href="https://www.w3.org/2011/rdf-wg/track/issues/107">ISSUE-107</a>.</p>
-
-    <p>The <dfn title="blank node">blank nodes</dfn> in an RDF graph 
-    are drawn from an infinite set. This set is disjoint from the set
-    of all <a title="IRI">IRIs</a> and the set of all
-    <a title="literal">literals</a>.
-    Otherwise, this set of blank nodes is arbitrary.</p>
-
-    <p>Given two blank nodes, it is 
-    possible to determine whether or not they are the same.
-    Besides that, RDF makes no reference to any internal structure
-    of blank nodes.</p>
+    <p><dfn title="blank node">Blank nodes</dfn> are disjoint from
+	  <a title="IRI">IRIs</a> and <a title="literal">literals</a>.  Otherwise,
+		the set of possible blank nodes is arbitrary.  RDF makes no reference to
+		any internal structure of blank nodes.</p>
 
     <p class="note" id="note-bnode-id">
     <dfn title="blank node identifier">Blank node identifiers</dfn>
@@ -695,7 +671,12 @@
     part of the RDF abstract syntax, but are entirely dependent
     on the concrete syntax or implementation. The syntactic restrictions
     on blank node identifiers, if any, therefore also depend on
-    the concrete RDF syntax or implementation.</p>
+    the concrete RDF syntax or implementation.  The syntactic restrictions
+		on blank node identifiers, if any, therefore also depend on the concrete
+		RDF syntax or implementation.  Implementations that handle blank node
+		identifiers in concrete syntaxes need to be careful not to create the
+		same blank node from multiple occurences of the same blank node identifier
+		except in situations where this is supported by the syntax.</p>
 </section>
 
 
@@ -777,7 +758,7 @@
 <section id="section-dataset">
     <h2>RDF Datasets</h2>
 
-    <p>An <dfn>RDF Dataset</dfn> is a collection of
+    <p>An <dfn>RDF dataset</dfn> is a collection of
     <a title="RDF graph">RDF graphs</a>, and comprises:</p>
 
     <ul>
@@ -790,7 +771,7 @@
     </ul>
 
     <p><a title="blank node">Blank nodes</a> MAY be shared between graphs
-    in an <a>RDF dataset</a>.</p>
+    in an <a title="RDF Dataset">RDF dataset</a>.</p>
 
     <div class="note" id="note-datasets">
     <p>Despite the use of the word “name”
@@ -800,16 +781,44 @@
     <a>resource</a> the graph name may denote, nor on the relationship between
     that resource and the graph.</p>
 
-    <p>Some <a>RDF dataset</a>
+    <p>Some <a title="RDF Dataset">RDF dataset</a>
     implementations do not track empty <a title="named graph">named graphs</a>.
     Applications can avoid interoperability issues by not
     ascribing importance to the presence or absence of empty named graphs.</p>
     </div>
 
-    <p class="issue">Should RDF Concepts define any operations on RDF datasets,
-    such as merge, union, isomorphism, equality, equivalence? Is anything
-    needed to support the TriG test cases, SPARQL, etc.? This is
-    <a href="https://www.w3.org/2011/rdf-wg/track/issues/111">ISSUE-111</a>.</p>
+<section id="section-dataset-isomorphism">
+		<h3>RDF Dataset Isomorphism</h3>
+
+    <p id="section-graph-equality">Two <a title="RDF Dataset">RDF datasets</a>
+		<var>(DG1, NG1)</var> and <var>(DG2, NG2)</var> are dataset-isomorphic if
+		and only if:</p>
+		<ol>
+		  <li><var>DG1</var> and <var>DG2</var> are graph-isomorphic;</li>
+		  <li>For each <var>(n1,g1)</var> in <var>NG1</var>, there exists 
+			<var>(n2,g2)</var> in <var>NG2</var> such that <var>n1</var>=<var>n2</var> 
+			and <var>g1</var> and <var>g2</var> are graph-isomorphic;</li>
+		  <li>For each <var>(n2,g2)</var> in <var>NG2</var>, there exists 
+			<var>(n1,g1)</var> in <var>NG1</var> such that <var>n1</var>=<var>n2</var> 
+			and <var>g1</var> and <var>g2</var> are graph-isomorphic.</li>
+		</ol>
+		
+</section>
+
+<section id="section-dataset-conneg" class="informative">
+		<h3>Content Negotiation of RDF Datasets</h3>
+		
+		<p>Primary resources may have multiple representations that are
+		made available via
+		<a href="http://www.w3.org/TR/webarch/#frag-coneg">content negotiation</a>
+		[[WEBARCH]].  A representation may be returned in an RDF serialization
+		format that supports the expression of both <a title="RDF Dataset">RDF datasets</a> and
+		<a title="RDF graph">RDF graphs</a>.  If an <a title="RDF Dataset">RDF dataset</a>
+		is returned and the consumer is expecting an <a title="RDF graph">RDF graph</a>,
+		the consumer SHOULD use the <a title="RDF Dataset">RDF dataset's</a> default graph.</p>
+		
+</section>
+
 </section>
 
 
@@ -1178,13 +1187,14 @@
     <a>lexical space</a> of <em>d</em>,</strong> then the literal value
     is the result of applying the <a>lexical-to-value mapping</a>
     of <em>d</em> to the <a>lexical form</a>.</li>
-    <li><strong>Otherwise,</strong> the literal is
-    <dfn>ill-typed</dfn>, and no literal value can be
-    associated with the literal. Such a case, while in error, is not
-    <em>syntactically</em> ill-formed.</li>
+		<li><strong>Otherwise</strong>, the <dfn>literal</dfn> is ill-typed,
+		and no literal value can be associated with the literal. Such a case
+		produces a semantic inconsistency but is not <em>syntactically</em>
+		ill-formed and implementations MUST accept ill-typed literals and produce
+		RDF graphs from them.  Implementations MAY produce warnings when
+		encountering ill-typed literals.</li>
     </ol>
 
-    <p class="issue">What does it mean when a literal is ill-typed or when something is not in the datatype map? What should an implementation do? Should authors avoid generating such graphs? Should consumers reject it? Is an implementation that rejects ill-formed xsd:dates conforming? Why is an ill-typed literal not necessarily an inconsistency? This is <a href="https://www.w3.org/2011/rdf-wg/track/issues/109">ISSUE-109</a>.</p>
 </section>
 
 
@@ -1194,19 +1204,6 @@
 <section id="section-fragID" class="informative">
     <h2>Fragment Identifiers</h2>
 
-    <p class="issue">This section addresses the use of fragment IRIs
-    in concrete syntaxes for <a title="RDF graph">RDF graphs</a>, but not 
-    for <a title="RDF dataset">RDF datasets</a>. Going beyond the questions
-    of pure fragment identifiers, the introduction of RDF datasets raises
-    additional questions related to content negotiation and the
-    authoritativeness of representations. For example, is it legitimate
-    to content-negotiate between an RDF graph representation and an
-    RDF dataset representation that only contains a default graph?
-    Are the contents of graphs named <code>&lt;#xxx&gt;</code> an
-    authoritative representation of whatever is identified by
-    <code>&lt;#xxx&gt;</code>? This is
-    <a href="https://www.w3.org/2011/rdf-wg/track/issues/105">ISSUE-105</a>.</p>
-
     <p>RDF uses <a title="IRI">IRIs</a>, which may include
     <dfn>fragment identifiers</dfn>, as resource identifiers.
     The semantics of fragment identifiers is
@@ -1265,7 +1262,7 @@
 
     <p>The RDF 1.1 editors acknowledge valuable contributions from
     Thomas Baker, Dan Brickley, Gavin Carothers, Jeremy Carroll, 
-    Pierre-Antoine Champin, Dan Connolly, 
+    Pierre-Antoine Champin, Dan Connolly, Tim Berners-Lee,
     John Cowan, Martin J. Dürst, Alex Hall, Steve Harris, Pat Hayes,
     Ivan Herman, Peter F. Patel-Schneider, Addison Phillips,
     Eric Prud'hommeaux, Andy Seaborne, Leif Halvard Silli,
@@ -1332,13 +1329,31 @@
     control codes in the <code>#x1-#x1F</code> range. Earlier versions of
     RDF allowed these characters in
     <a title="simple literal">simple literals</a>, although they
-    could never be serialized in a W3C-recommended concrete syntax.</p>
+    could never be serialized in a W3C-recommended concrete syntax.
+		Currently a literal with type xsd:string containing the #x0 character
+		is an ill-typed literal.</p>
+		
 </section>
 
 
 <section class="appendix informative" id="change-log">
   <h2>Change Log</h2>
 
+<section class="appendix" id="changes-wd3">
+  <h3>Changes from 15 January 2013 WD to this version</h3>
+
+  <p>This section lists changes from the
+  <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/">15 January 2013 Working Draft (WD)</a> to this Editor's Draft of 
+  <em>RDF 1.1 Concepts and Abstract Syntax</em>.</p>
+
+  <ul>
+    <li>2013-05-07: Revised the definition of blank nodes (<a href="http://www.w3.org/2011/rdf-wg/track/issues/107">ISSUE-107</a>)</li>
+	  <li>2013-05-07: Defined the consequence of a literal being ill-typed (<a href="http://www.w3.org/2011/rdf-wg/track/issues/109">ISSUE-109</a>)</li>
+    <li>2013-05-07: Clarified the existence of null control characters in xsd:strings (<a href="http://www.w3.org/2011/rdf-wg/track/issues/126">ISSUE-126</a>)</li>
+    <li>2013-05-07: Added a definition of RDF Dataset isomorphism (<a href="http://www.w3.org/2011/rdf-wg/track/issues/111">ISSUE-111</a>)</li>
+    <li>2013-05-07: Addressed content negotiation as it relates to graphs and datasets (<a href="http://www.w3.org/2011/rdf-wg/track/issues/105">ISSUE-105</a>)</li>
+  </ul>
+</section>
 
 <section class="appendix" id="changes-wd3">
   <h3>Changes from 05 June 2012 WD to this version</h3>