Solved issues + some formatting updates
authorAZ
Wed, 19 Feb 2014 13:32:20 +0100
changeset 1964 91a78c55ad5c
parent 1963 8440862bdc37
child 1965 559f29be8069
Solved issues + some formatting updates
rdf-dataset/index.html
--- a/rdf-dataset/index.html	Wed Feb 19 09:40:50 2014 +0000
+++ b/rdf-dataset/index.html	Wed Feb 19 13:32:20 2014 +0100
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>RDF 1.1: On Semantics of RDF Datasets</title>
+    <title>RDF 1.1: On Semantics of RDF Datasets</title>
    <script src="../local-biblio.js" class="remove"></script>
     <script src="https://www.w3.org/Tools/respec/respec-w3c-common" class="remove"></script>
     <script class='remove'>
@@ -118,7 +118,7 @@
 </section>
 
 <section id="sotd">
-  <p>The document is part of the RDF 1.1 document suite. The RDF
+  <p>The document is part of the RDF 1.1 document suite. The RDF
   Working Group did not standardize the semantics of RDF
   datasets. This note discusses issues in specifying such semantics. </p>
 </section>
@@ -126,7 +126,7 @@
 <section id="sec-introduction">
     <h2 id="introduction">Introduction</h2>
 
-    <p>The <a href="http://www.w3.org/TR/rdf11-concepts/">Resource Description Framework (RDF)</a> version 1.1 defines the concept of RDF datasets, a notion introduced first by the SPARQL specification [[RDF-SPARQL-QUERY]].  An RDF dataset is defined as a collection of <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-graph" title="RDF graph">RDF graphs</a> where all but one are <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph" title="named graph">named graphs</a> associated with an <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri">IRI</a> or <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-blank-node">blank node</a> (the <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-graph-name">graph name</a>), and the unnamed default graph [[RDF11-CONCEPTS]].  Given that RDF is a data model equipped with a formal semantics [[RDF11-MT]], it is natural to try and define what the semantics of datasets should be.</p>
+    <p>The <a href="http://www.w3.org/TR/rdf11-concepts/">Resource Description Framework (RDF)</a> version 1.1 defines the concept of RDF datasets, a notion introduced first by the SPARQL specification [[RDF-SPARQL-QUERY]].  An RDF dataset is defined as a collection of <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-graph" title="RDF graph">RDF graphs</a> where all but one are <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph" title="named graph">named graphs</a> associated with an <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri">IRI</a> or <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-blank-node">blank node</a> (the <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-graph-name">graph name</a>), and the unnamed default graph [[RDF11-CONCEPTS]].  Given that RDF is a data model equipped with a formal semantics [[RDF11-MT]], it is natural to try and define what the semantics of datasets should be.</p>
 
     <p>The RDF Working Group was <a href="http://www.w3.org/2011/01/rdf-wg-charter">chartered</a>
      to provide such semantics in its recommendation:</p>
@@ -175,17 +175,16 @@
 
 	<p>We first take a look at existing specifications that could shed a light on how the semantics of datasets should be defined. There are three important documents that closely relate to the issue:</p>
 	<ul>
-		<li>the RDF semantics, as standardized in 2004 [[RDF-MT]] and its revision in 2013 [[RDF11-MT]];</li>
+		<li>the RDF semantics, as standardized in 2004 [[RDF-MT]] and its revision in 2014 [[RDF11-MT]];</li>
 		<li>the article <i>Named Graphs</i> by Carroll et al. [[CARROLL-05]], which first introduced the term “named graph” and contains a section on formal semantics;</li>
-		<li>the SPARQL specification [[RDF-SPARQL-QUERY]], which defines RDF datasets and how to query them.</li>
+		<li>the SPARQL specification [[SPARQL11-QUERY]], which defines RDF datasets and how to query them.</li>
 	</ul>
 	
 	<section id="sec-rdf-semantics">
 		<h3 id="rdf-semantics">The RDF semantics</h3>
 		
-		<!--<p class="issue">Part of what follows is somewhat subjective.</p>-->
 		
-		<p>As described in RDF 1.1 Semantics, a set of RDF graphs can be interpreted as either the union of the graphs or as their merge ([[RDF11-MT]], Technical note, Section&nbsp;5.2).</p>
+		<p>As described in RDF 1.1 Semantics, a set of RDF graphs can be interpreted as either the union of the graphs or as their merge ([[RDF11-MT]], Technical note, Section&nbsp;5.2).</p>
 		<p>So, a first intuition could be that an RDF dataset, being presented as a collection of graph, should mean exactly what the set of its named graphs and default graph means. However, this completely leaves out the potential meaning of graph names, which could be valuable indicators for the truth of a dataset.</p>
 		<p>Formally, the semantics of RDF defines a notion of interpretation for a set of triples (i.e., an RDF graph), which then can extend to a set of RDF graphs. A dataset is neither a set of triples nor a set of RDF graphs. It is a set of <em>pairs</em> (name,graph) together with a distinguished RDF graph and the RDF semantics does not itself specify a meaning for these pairs.</p>
 		<p>Conceptually, it is problematic since one of the reasons for separating triples into distinct (named) graphs is to avoid propagating the knowledge of one graph to the entire triple base. Sometimes, contradicting graphs need to coexist in a store. Sometimes named graphs are not endorsed by the system as a whole, they are merely quoted.</p>
@@ -200,7 +199,7 @@
 	<section id="sec-sparql">
 		<h3 id="sparql">The SPARQL specification</h3>
 
-		<p>RDF&nbsp;1.1 borrows the notion of RDF dataset from the SPARQL specification [[RDF-SPARQL-QUERY]], with the notable different that RDF&nbsp;1.1 allows graph names to be blank nodes. So, in order to understand the semantics of dataset, it is worthwhile looking at how SPARQL uses datasets. SPARQL defines what answers to queries posed against a dataset are, but it never defines the notions that are key to a model theoretic formal semantics: it neither presents interpretations nor entailment. Still, it is worth noticing that a ASK query that only contains a basic graph pattern without variables yields the same result as asking whether the RDF graph in the query is entailed by the default graph. Based on this observation, one may extrapolate that a ASK query containing no variables and only <code>GRAPH</code> graph patterns would yield the same result as dataset entailment.</p>
+		<p>RDF&nbsp;1.1 borrows the notion of RDF dataset from the SPARQL specification [[SPARQL11-QUERY]], with the notable different that RDF&nbsp;1.1 allows graph names to be blank nodes. So, in order to understand the semantics of dataset, it is worthwhile looking at how SPARQL uses datasets. SPARQL defines what answers to queries posed against a dataset are, but it never defines the notions that are key to a model theoretic formal semantics: it neither presents interpretations nor entailment. Still, it is worth noticing that a ASK query that only contains a basic graph pattern without variables yields the same result as asking whether the RDF graph in the query is entailed by the default graph. Based on this observation, one may extrapolate that a ASK query containing no variables and only <code>GRAPH</code> graph patterns would yield the same result as dataset entailment.</p>
 		<p>This can be used as a guide for formalizing the semantics of datasets, as can be seen in Section&nbsp;3.7.</p>
 	</section>
 	
@@ -229,7 +228,7 @@
 		<p>The simplest semantics defines an interpretation of a dataset as an RDF interpretation of the default graph. The dataset is true, according to the interpretation, if and only if the default graph is true. In this case, any datasets that have equivalent default graphs are dataset-equivalent.</p>
 		<p>This means that the named graphs in a dataset are irrelevant to determining the truth of a dataset. Therefore, arbitrary modifications of the named graphs in a graph store always yield a logically equivalent dataset, according to this semantics.</p>
 		<h4 id="f1" class="formal">Formalization</h4>
-		<p>Considering an entailment regime <var>E</var>, a dataset-interpretation with respect to <var>E</var> is an <var>E</var>-interpretation. Given an interpretation <var>I</var> and a dataset <var>D</var> having default graph <var>G</var> and named graphs <var>NG</var>, <var>I(D)</var> is true if and only if <var>I(G)</var> is true.</p>
+		<p>Considering an entailment regime <var>E</var>, a dataset-interpretation with respect to <var>E</var> is an <var>E</var>-interpretation. Given an interpretation <var>I</var> and a dataset <var>D</var> having default graph <var>G</var> and named graphs <var>NG</var>, <var>I</var>(<var>D</var>) is true if and only if <var>I</var>(<var>G</var>) is true.</p>
 
 		<h4 id="ex1" class="ex">Examples of entailment and non-entailments</h4>
 		<p>Consider the following dataset:</p>
@@ -261,12 +260,12 @@
 		<p>It is sometimes assumed that named graphs are simply a convenient way of sorting the triples but all the triples participate in a united knowledge base that takes the place of the default graph.  More precisely, a dataset is considered to be true if all the triples in all the graphs, named or default, are true together.  This description allows two formalizations of dataset semantics, depending on how blank nodes spanning several named graphs are treated. Indeed, if one blank node appears in several named graphs, it may be intentional, to indicate the existence of only one thing across the graphs, in which case union is appropriate. If the sharing of blank nodes is incidental, merge is also an applicable solution.</p>
 
 		<h4 id="f2-1" class="formal">Formalization: first version</h4>
-		<p>We define a dataset-interpretation with respect to an entailment regime <var>E</var> as an <var>E</var>-interpretation. Given a dataset-interpretation <var>I</var> and a dataset <var>D</var> having default graph <var>G</var> and named graphs <var>NG</var>, <var>I(D)</var> is true if and only if <var>I(G)</var> is true and for all <var>ng</var> in <var>NG</var>, <var>I(ng)</var> is true.</p>
-		<p>This is equivalent to <var>I(D)</var> is true if <var>I(H)</var> is true where <var>H</var> is the <a href="http://www.w3.org/TR/rdf11-mt/#dfn-merge">merge</a> of all the RDF graphs, named or default, appearing in <var>D</var>.</p>
+		<p>We define a dataset-interpretation with respect to an entailment regime <var>E</var> as an <var>E</var>-interpretation. Given a dataset-interpretation <var>I</var> and a dataset <var>D</var> having default graph <var>G</var> and named graphs <var>NG</var>, <var>I</var>(<var>D</var>) is true if and only if <var>I</var>(<var>G</var>) is true and for all <var>ng</var> in <var>NG</var>, <var>I</var>(<var>ng</var>) is true.</p>
+		<p>This is equivalent to <var>I</var>(<var>D</var>) is true if <var>I</var>(<var>H</var>) is true where <var>H</var> is the <a href="http://www.w3.org/TR/rdf11-mt/#dfn-merge">merge</a> of all the RDF graphs, named or default, appearing in <var>D</var>.</p>
 		
 		<h4 id="f2-2" class="formal">Formalization: second version</h4>
-		<p>We define a dataset-interpretation with respect to an entailment regime <var>E</var> as an <var>E</var>-interpretation. Given a dataset-interpretation <var>I</var> and a dataset <var>D</var> having default graph <var>G</var> and named graphs <var>NG</var>, <var>I(D)</var> is true if and only if <var>I(H)</var> is true where <var>H</var> is the union of all the RDF graphs, named or default, appearing in <var>D</var>.</p>
-		<p>An alternative presentation of this variant is the following: define <var>I+A</var> to be an extended interpretation which is like <var>I</var> except that it uses <var>A</var> to give the interpretation of blank nodes; define <var>blank(D)</var> to be the set of blank nodes in <var>D</var>. Then <var>I(D)</var> is true if and only if <var>[I+A](D)</var> is true for some mapping <var>A</var> from <var>blank(D)</var> to the set of resources in <var>I</var>.</p>
+		<p>We define a dataset-interpretation with respect to an entailment regime <var>E</var> as an <var>E</var>-interpretation. Given a dataset-interpretation <var>I</var> and a dataset <var>D</var> having default graph <var>G</var> and named graphs <var>NG</var>, <var>I</var>(<var>D</var>) is true if and only if <var>I</var>(<var>H</var>) is true where <var>H</var> is the union of all the RDF graphs, named or default, appearing in <var>D</var>.</p>
+		<p>An alternative presentation of this variant is the following: define <var>I</var>+<var>A</var> to be an extended interpretation which is like <var>I</var> except that it uses <var>A</var> to give the interpretation of blank nodes; define <var>blank</var>(<var>D</var>) to be the set of blank nodes in <var>D</var>. Then <var>I</var>(<var>D</var>) is true if and only if [<var>I</var>+<var>A</var>](<var>D</var>) is true for some mapping <var>A</var> from <var>blank</var>(<var>D</var>) to the set of resources in <var>I</var>.</p>
 
 		<h4 id="e2" class="ex">Examples</h4>
 		<p>Consider the following dataset:</p>
@@ -289,15 +288,14 @@
 	<section>
 		<h3 id="naming">The graph name denotes the named graph or the graph</h3>
 		<p>It is common to use the graph name as a way to identify the RDF graph inside the named graphs, or rather, to identify a particular occurrence of the graph. This allows one to describe the graph or the graph source in triples. For instance, one may want to say who the creator of a particular occurrence of a graph is. Assuming this semantics for graph names amounts to say that each named graph pair is an assertion that sets the <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-referent">referent</a> of the graph name to be the associated graph or named graph pair.</p>
-		<p class="issue">The following paragraph refers to speech and asserting, while dataset semantics never refers to such notions. This may be confusing.</p>
-		<p>Intuitively, this semantics can be seen as quoting the RDF graphs inside the named graphs. In this sense, <code>:alice {:bob  :is  :smart}</code> has to be understood as <q>Alice said: “Bob is smart”</q> which does not entail <q>Alice said: “Bob is intelligent”</q> because Alice did not use the word “intelligent”, even though “smart” and “intelligent” can be understood as equivalent.</p>
+		<p>Intuitively, this semantics can be seen as quoting the RDF graphs inside the named graphs. In this sense, <code>:alice {:bob  :is  :smart}</code> has to be understood as <q>Alice said: “Bob is smart”</q> which does not entail <q>Alice said: “Bob is intelligent”</q> because Alice did not use the word “intelligent”, even though “smart” and “intelligent” can be understood as equivalent. Note, however, that this analogy is only valid insofar as it can provide an intuition of this type of semantics, but the formalization does not actually refer to speech and the act of asserting.</p>
 
 		<h4 id="f3" class="formal">Formalization</h4>
-		<p>We reuse the notation presented in [[RDF11-MT]]:</p>
-		<blockquote>Suppose I is an interpretation and A is a mapping from a set of blank nodes to the universe IR of I. Define the mapping [I+A] to be I on names, and A on blank nodes on the set: [I+A](x)=I(x) when x is a name and [I+A](x)=A(x) when x is a blank node; and extend this mapping to triples and RDF graphs using the rules given above for ground graphs.</blockquote>
+		<p>In order to be consistent with RDF model theory, blank nodes used as graph names are treated like existential variables. Consequently, their semantics is formalized according to the same notation presented in [[RDF11-MT]]:</p>
+		<blockquote cite="http://www.w3.org/TR/2014/REC-rdf11-mt-20140225/#blank-nodes">Suppose I is an interpretation and A is a mapping from a set of blank nodes to the universe IR of I. Define the mapping [I+A] to be I on names, and A on blank nodes on the set: [I+A](x)=I(x) when x is a name and [I+A](x)=A(x) when x is a blank node; and extend this mapping to triples and RDF graphs using the rules given above for ground graphs.</blockquote>
 		<p>A dataset-interpretation <var>I</var> with respect to an entailment regime <var>E</var> is an <var>E</var>-interpretation extended to named graphs and datasets as follows:</p>
-		<ul><li>if <var>(n,g)</var> is a named graph where the graph name is an IRI, then <var>I(n,g)</var> is true if and only if <var>I(n)</var> = <var>(n,g)</var>.
-		<li>if <var>D</var> is a dataset comprising default graph <var>DG</var> and named graphs <var>NG</var>, then <var>I(D)</var> is true if and only if there exists a mapping from blank nodes to the universe <var>IR</var> of <var>I</var> such that <var>[I+A](DG)</var> is true and for all named graph <var>(n,g)</var> in <var>NG</var>, <var>[I+A](n)</var> = <var>(n,g)</var>.</li>
+		<ul><li>if (<var>n</var>,<var>g</var>) is a named graph where the graph name is an IRI, then <var>I</var>(<var>n</var>,<var>g</var>) is true if and only if <var>I</var>(<var>n</var>) = (<var>n</var>,<var>g</var>).
+		<li>if <var>D</var> is a dataset comprising default graph <var>DG</var> and named graphs <var>NG</var>, then <var>I</var>(<var>D</var>) is true if and only if there exists a mapping from blank nodes to the universe <var>IR</var> of <var>I</var> such that [<var>I</var>+<var>A</var>](<var>DG</var>) is true and for all named graph (<var>n</var>,<var>g</var>) in <var>NG</var>, [<var>I</var>+<var>A</var>](<var>n</var>) = (<var>n</var>,<var>g</var>).</li>
 		</ul>
 
 		<h4 id="ex3" class="ex">Examples</h4>
@@ -338,12 +336,11 @@
 		<p>Intuitively, this semantics can be seen as interpreting the RDF graphs inside the named graphs. In this sense, <code>:alice {:bob  :is  :smart}</code> has to be understood as <q>Alice said that Bob is smart</q> which entails <q>Alice said that Bob is intelligent</q> because it is what Bob means, whether he used the term “smart”, “intelligent”, or “bright”. Neither sentence implies that Alice used these actual words.</p>
 
 		<h4 id="f4" class="formal">Formalization</h4>
-		<p class="issue">This does not take into account blank nodes as graph names.</p>
-		<p>There are several possible formalizations of this. One way is to interpret the graph name as denoting a graph, and a named graph pair is true if this graph entails the graph inside the pair. In this case, a dataset-interpretation with respect to an entailment regime <var>E</var> is an <var>E</var>-interpretation such that:</p>
+		<p>There are several possible formalizations of this leading to similar entailments. One way is to interpret the graph name as denoting a graph, and a named graph pair is true if this graph entails the graph inside the pair. In this case, a dataset-interpretation with respect to an entailment regime <var>E</var> is an <var>E</var>-interpretation such that:</p>
 		<ul>
-			<li>for each named graph pair <var>ng</var> = <var>(n,G)</var>, <var>I(ng)</var> is true if <var>I(n)</var> is an RDF graph and <var>E</var>-entails <var>G</var>;</li>
-			<li>for a dataset <var>D</var> = <var>(DG,NG)</var>, <var>I(D)</var> is true if <var>I(DG)</var> is true and for all named graph <var>ng</var> in <var>NG</var>, <var>I(ng)</var> is true;
-			<li><var>I(D)</var> is false otherwise.</li>
+			<li>given a mapping <var>A</var> from blank nodes to the univers <var>IR</var> and a named graph pair <var>ng</var> = (<var>n</var>,<var>G</var>), [<var>I</var>+<var>A</var>](<var>ng</var>) is true if [<var>I</var>+<var>A</var>](<var>n</var>) is an RDF graph and <var>E</var>-entails <var>G</var>;</li>
+			<li>for a dataset <var>D</var> = (<var>DG</var>,<var>NG</var>), <var>I</var>(<var>D</var>) is true if there exists a mapping <var>A</var> from blank nodes to the universe <var>IR</var> such that [<var>I</var>+<var>A</var>](<var>DG</var>) is true and for all named graph <var>ng</var> in <var>NG</var>, [<var>I</var>+<var>A</var>](<var>ng</var>) is true;
+			<li><var>I</var>(<var>D</var>) is false otherwise.</li>
 		</ul>
 
 		<h4 id="ex4" class="ex">Examples</h4>
@@ -375,7 +372,7 @@
 		<h4 id="v4" class="other">Variants of this dataset semantics</h4>
 		<p>There are several variants of this type of dataset-semantics</p>
 		<ul>
-			<li>The default graph is interpreted as universal truth, that is, for a named graph <var>(n,G)</var>, <var>I(n)</var> <var>E</var>-entails the default graph.</li>
+			<li>The default graph is interpreted as universal truth, that is, for a named graph (<var>n</var>,<var>G</var>), <var>I</var>(<var>n</var>) <var>E</var>-entails the default graph.</li>
 			<li>The graph name does not denote an RDF graph but a resource associated with an RDF graph.</li>
 			<li>Each named graph could be associated with a distinct <var>E</var>-interpretation and impose all interpretations to be true for their corresponding graph, in order for the dataset to be true.</li>
 		</ul>
@@ -387,12 +384,12 @@
 		<p>In such case, the truth of an RDF dataset is dependent on the state of the Web, and the same dataset may entail different statements at different times.</p>
 
 		<h4 id="hbox" class="formal">Formalization</h4>
-		<p>Let <var>d</var> be the function that maps an IRI to an RDF graph that can be obtained from dereferencing the IRI. For an IRI <var>u</var>, <var>d(u)</var> is empty when dereferencing returns an error or a document that does not encode an RDF graph.</p>
+		<p>Let <var>d</var> be the function that maps an IRI to an RDF graph that can be obtained from dereferencing the IRI. For an IRI <var>u</var>, <var>d</var>(<var>u</var>) is empty when dereferencing returns an error or a document that does not encode an RDF graph.</p>
 		<p>A dataset-interpretation <var>I</var> with respect to an entailment regime <var>E</var> is an <var>E</var>-interpretation such that:</p>
 		<ul>
-			<li>for a named graph pair <var>ng</var> = <var>(n,G)</var>, <var>I(ng)</var> is true if <var>d(n)</var> equals (respectively, is a subgraph of, is entailed by) <var>G</var>;</li>
-			<li>for a dataset <var>D</var> = <var>(DG,NG)</var>, <var>I(D)</var> is true if <var>I(DG)</var> is true and for all named graph <var>ng</var> in <var>NG</var>, <var>I(ng)</var> is true;
-			<li><var>I(D)</var> is false otherwise.</li>
+			<li>for a named graph pair <var>ng</var> = (<var>n</var>,<var>G</var>), <var>I</var>(<var>ng</var>) is true if <var>d</var>(<var>n</var>) equals (respectively, is a subgraph of, is entailed by) <var>G</var>;</li>
+			<li>for a dataset <var>D</var> = (<var>DG</var>,<var>NG</var>), <var>I</var>(<var>D</var>) is true if <var>I</var>(<var>DG</var>) is true and for all named graph <var>ng</var> in <var>NG</var>, <var>I</var>(<var>ng</var>) is true;
+			<li><var>I</var>(<var>D</var>) is false otherwise.</li>
 		</ul>
 
 		<h4 id="exbox" class="ex">Examples</h4>
@@ -418,7 +415,7 @@
 		<p>This semantics is extending the semantics of RDF rather than simply reusing it.</p>
 
 		<h4 id="f5" class="formal">Formalization</h4>
-		<p>A quad-interpretation is a tuple <var>(IR,IP,IEXT,IS,IL,LV)</var> where <var>IR</var>, <var>IP</var>, <var>IS</var>, <var>IL</var> and <var>LV</var> are defined as in RDF and <var>IEXT</var> is a mapping from <var>IP</var> into the powerset of <var>IR &times; IR union IR &times; IR &times; IR</var>.</p>
+		<p>A quad-interpretation is a tuple (<var>IR</var>,<var>IP</var>,<var>IEXT</var>,<var>IS</var>,<var>IL</var>,<var>LV</var>) where <var>IR</var>, <var>IP</var>, <var>IS</var>, <var>IL</var> and <var>LV</var> are defined as in RDF and <var>IEXT</var> is a mapping from <var>IP</var> into the powerset of <var>IR</var> &times; <var>IR</var> union <var>IR</var> &times; <var>IR</var> &times; <var>IR</var>.</p>
 
 		<p>Since this option modifies the notion of simple-interpretation, which is the basis for all <var>E</var>-interpretations in any entailment regime E, it is not clear how it can be extended to arbitrary entailment regimes. For instance, does the following quad set:</p>
 		<pre class="example">:a  rdf:type  :c  :x .
@@ -436,7 +433,7 @@
 		<pre class="example">{ :g  :quotes  ":a  :b  []"^^:turtle . }
 :g { :b  rdf:type  rdf:Property .
  :a  :b  _:x . }</pre>
-		<p>This technique allows one to assume a dataset semantics of contexts (as in Section 3.4) and still preserve an initial version of a graph. However, quoting big graphs may be cumbersome and would require a custom datatype to be recognized.</p>
+		<p>This technique allows one to assume a dataset semantics of contexts (as in Section 3.4) and still preserve an initial version of a graph. However, quoting big graphs may be cumbersome and would require a custom datatype to be recognized.</p>
 
 	</section>
 
@@ -489,7 +486,7 @@
 <h2>Acknowledgements</h2>
 
 <p>This document is the result of extensive discussions that involved
-many members of the RDF 1.1 Working Group. The editor especially
+many members of the RDF 1.1 Working Group. The editor especially
 acknowledges valuable contributions from Richard Cyganiak, Sandro
 Hawks, Pat Hayes, Ivan Herman, Peter F. Patel-Schneider, Guus
 Schreiber, and David Wood.</p>
@@ -497,15 +494,14 @@
 </section>
 
 <section class="appendix informative" id="changes">
-  <h2>Changes</h2>
+  <h2>Changes since the first public working draft of 17 December 2013</h2>
   <ul>
-	<li>2013-12-13:  Change title from “RDF Dataset Semantics” to “RDF 1.1: On Semantics of RDF Datasets”. Corrected a reference to [NAMED-GRAPHS]. Changed short name to rdf11-datasets.</li>
-	<li>2013-12-12:  Addressed Pat’s comments. Added the semantics for Sandro's box dataset.</li>
-	<li>2013-09-17:  All sections revised and document completed. Many improvements.</li>
-	<li>2013-01-28:  Initial editor’s draft.</li>
+	<li>2014-02-19:  Updated references to [[SPARQL11-QUERY]].</li>
+	<li>2014-02-19:  Removed Issue 2, adding support for blank nodes in the formalization of the semantics.</li>
+	<li>2014-02-19:  Removed Issue 1 and added a sentence to mitigate the issue.</li>
+	<li>2014-02-19:  Added an explanatory sentence to the formalization of Section 3.3.</li>
   </ul>
 </section>
 
 </body>
 </html>
-