--- a/rdf-dataset/index.html Fri Feb 21 18:34:07 2014 +0100
+++ b/rdf-dataset/index.html Fri Feb 21 18:43:55 2014 +0100
@@ -248,12 +248,16 @@
<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</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>
+ <section>
+ <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</var>(<var>D</var>) is true if and only if <var>I</var>(<var>G</var>) is true.</p>
+ </section>
+
+ <section>
+ <h4 id="ex1" class="ex">Examples of entailment and non-entailments</h4>
+ <p>Consider the following dataset:</p>
+
<pre class="example">{ ex:s ex:p ex:o . }
ex:g1 { ex:a ex:b ex:c }</pre>
<p>does not dataset-entail:</p>
@@ -270,26 +274,34 @@
<pre class="example">{ ex:g1 ex:author ex:Bob .
ex:g1 ex:created "2013-09-17"^^xsd:date .}
ex:g1 { ex:x ex:y ex:z }</pre>
+ </section>
- <h4 id="p1" class="pro">Properties of this dataset semantics</h4>
- <p>Assuming this semantics is convenient since it merely ignores named graphs in a dataset for any reasoning task. As a result, datasets can be simply treated as regular RDF graphs by extracting the default graph. Named graphs can still be used to preserve useful information, but it bears no more meaning than a commentary in a program source code.</p>
- <p>The obvious disadvantage is that, since named graphs are completely disregarded in terms of meaning, there is no guarantee that any information intended to be conveyed by the named graphs is preserved by inference.</p>
+ <section>
+ <h4 id="p1" class="pro">Properties of this dataset semantics</h4>
+ <p>Assuming this semantics is convenient since it merely ignores named graphs in a dataset for any reasoning task. As a result, datasets can be simply treated as regular RDF graphs by extracting the default graph. Named graphs can still be used to preserve useful information, but it bears no more meaning than a commentary in a program source code.</p>
+ <p>The obvious disadvantage is that, since named graphs are completely disregarded in terms of meaning, there is no guarantee that any information intended to be conveyed by the named graphs is preserved by inference.</p>
+ </section>
</section>
<section>
<h3 id="union">Default graph as union or as merge</h3>
<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</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>
+ <section>
+ <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</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>
+ </section>
- <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</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>
+ <section>
+ <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</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>
+ </section>
+
+ <section>
+ <h4 id="e2" class="ex">Examples</h4>
+ <p>Consider the following dataset:</p>
<pre class="example">{ ex:s ex:p ex:o . } # default graph
ex:g1 { ex:a ex:b ex:c }</pre>
<p>dataset-entails:</p>
@@ -299,11 +311,14 @@
<pre class="example">{ } # empty default graph
ex:g1 { ex:age rdfs:range xsd:integer . }
ex:g2 { ex:bob ex:age "twenty" .}</pre>
-
- <h4 id="p2" class="prop">Properties of this dataset semantics</h4>
- <p>This semantics allows one to partition the triples of an RDF graph into multiple named graphs for easier data management, yet retaining the meaning of the overall RDF graph. Note that this choice of semantics does not impact the way graph names are interpreted: it is possible to further constrain the graph names to denote the RDF graph associated with it, or other possible constraints. The possible interpretations of graph names, and their consequences, are presented in the next sections.</p>
- <p>This semantics is implicitly assumed by existing graph store implementations. The OWLIM RDF database management system implements reasoning techniques over RDF datasets that materialize inferred statements into the database [[citation needed]]. This is done by taking the union of the graphs in the named graphs, applying standard entailment regimes over this RDF graph and putting the inferred triples into the default graph.</p>
- <p>This dataset semantics makes all triples in the named graphs contribute to a global knowledge, thus making the whole dataset inconsistent whenever two graphs are mutually contradictory. In situations where named graphs are used to store RDF graphs obtained from various sources on the open Web, inconsistencies or contradictions can easily occur. Notably, Web crawlers of search engines harvest all RDF documents, and it is known as a fact that the Web contains documents serializing inconsistent RDF graphs as well as documents that are mutually contradicting yet consistent on their own. In this case, this semantics can be seen as problematic.</p>
+ </section>
+
+ <section>
+ <h4 id="p2" class="prop">Properties of this dataset semantics</h4>
+ <p>This semantics allows one to partition the triples of an RDF graph into multiple named graphs for easier data management, yet retaining the meaning of the overall RDF graph. Note that this choice of semantics does not impact the way graph names are interpreted: it is possible to further constrain the graph names to denote the RDF graph associated with it, or other possible constraints. The possible interpretations of graph names, and their consequences, are presented in the next sections.</p>
+ <p>This semantics is implicitly assumed by existing graph store implementations. The OWLIM RDF database management system implements reasoning techniques over RDF datasets that materialize inferred statements into the database [[citation needed]]. This is done by taking the union of the graphs in the named graphs, applying standard entailment regimes over this RDF graph and putting the inferred triples into the default graph.</p>
+ <p>This dataset semantics makes all triples in the named graphs contribute to a global knowledge, thus making the whole dataset inconsistent whenever two graphs are mutually contradictory. In situations where named graphs are used to store RDF graphs obtained from various sources on the open Web, inconsistencies or contradictions can easily occur. Notably, Web crawlers of search engines harvest all RDF documents, and it is known as a fact that the Web contains documents serializing inconsistent RDF graphs as well as documents that are mutually contradicting yet consistent on their own. In this case, this semantics can be seen as problematic.</p>
+ </section>
</section>
<section>
@@ -311,16 +326,19 @@
<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>Intuitively, this semantics can be seen as quoting the RDF graphs inside the named graphs. In this sense, <code>ex:alice {ex:bob ex:is ex: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>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</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>
- <p>Consider the following dataset:</p>
+ <section>
+ <h4 id="f3" class="formal">Formalization</h4>
+ <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</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>
+ </section>
+
+ <section>
+ <h4 id="ex3" class="ex">Examples</h4>
+ <p>Consider the following dataset:</p>
<pre class="example">{ } # empty default graph
ex:g1 { ex:a ex:b ex:c }
ex:g2 { ex:x ex:y ex:z }</pre>
@@ -335,20 +353,23 @@
<p>nor:</p>
<pre class="example">{ }
ex:g1 { }</pre>
- <p>If the entailment regime <var>E</var> is RDFS with the recognized datatype <code>xsd:integer</code>, then the following RDF dataset is RDFS-dataset-inconsistent:</p>
+ <p>If the entailment regime <var>E</var> is RDFS with the recognized datatype <code>xsd:integer</code>, then the following RDF dataset is RDFS-dataset-inconsistent:</p>
<pre class="example">{ ex:age rdfs:range xsd:integer .
ex:me ex:age ex:g1 . } # default graph
ex:g1 { ex:s ex:p ex:o }</pre>
- <p>The graph name can be used in triples to attached metadata (here <code>ex:hasNextVersion</code> is a custom term that does not enforce a formal constraint, so it is up to the implementation to decide how to treat it):</p>
+ <p>The graph name can be used in triples to attached metadata (here <code>ex:hasNextVersion</code> is a custom term that does not enforce a formal constraint, so it is up to the implementation to decide how to treat it):</p>
<pre class="example">{ ex:g1 ex:published "2013-08-26"^^xsd:date .
ex:g1 ex:hasNextVersion ex:g2 .}
ex:g1 { ex:s1 ex:p1 ex:o1 .
ex:s2 ex:p2 ex:o2 }
ex:g2 { ex:s1 ex:p1 ex:o1 }</pre>
+ </section>
- <h4 id="p3" class="prop">Properties of this dataset semantics</h4>
- <p>There are important implications with this semantics. In this case, a named graph pair can only entail itself or a graph that is structurally equivalent if the graph name is a blank node. Graph names have to be handled almost like literals. Unlike other IRIs or blank nodes, their denotation is strictly fixed, like literals are. This means that graph IRIs may possibly clash with constraints on datatypes, as in the example above.</p>
- <p>A variant of this dataset semantics imposes that the graph name denotes the RDF graph itself, rather than the pair. This means that two occurrences of the same graph in different named graph pairs actually identify the same thing. Thus, the graph names associated with the same RDF graphs are interchangeable in any triple in this case.</p>
+ <section>
+ <h4 id="p3" class="prop">Properties of this dataset semantics</h4>
+ <p>There are important implications with this semantics. In this case, a named graph pair can only entail itself or a graph that is structurally equivalent if the graph name is a blank node. Graph names have to be handled almost like literals. Unlike other IRIs or blank nodes, their denotation is strictly fixed, like literals are. This means that graph IRIs may possibly clash with constraints on datatypes, as in the example above.</p>
+ <p>A variant of this dataset semantics imposes that the graph name denotes the RDF graph itself, rather than the pair. This means that two occurrences of the same graph in different named graph pairs actually identify the same thing. Thus, the graph names associated with the same RDF graphs are interchangeable in any triple in this case.</p>
+ </section>
</section>
<section>
@@ -356,16 +377,19 @@
<p>Named graphs in RDF datasets are sometimes used to delimit a context in which the triples of the named graphs are true. From the truth of these triples according to the graph semantics, follows the truth of the named graph pair. An example of such situation occurs when one wants to keep track of the evolution of facts with time. Another example is when one wants to allow different viewpoints to be expressed and reasoned with, without creating a conflict or inconsistency. By having inferences done at the named graph level, one can prevent for instance that triples coming from untrusted parties are influencing trusted knowledge. Yet it does not disallow reasoning with and drawing conclusions from untrusted information.</p>
<p>Intuitively, this semantics can be seen as interpreting the RDF graphs inside the named graphs. In this sense, <code>ex:alice {ex:bob ex:is ex: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>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>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>
- <p>Consider the following dataset:</p>
+ <section>
+ <h4 id="f4" class="formal">Formalization</h4>
+ <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>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>
+ </section>
+
+ <section>
+ <h4 id="ex4" class="ex">Examples</h4>
+ <p>Consider the following dataset:</p>
<pre class="example">{ } # empty default graph
ex:g1 { ex:YoutubeEmployee rdfs:subClassOf ex:GoogleEmployee .
ex:steveChen rdf:type ex:YoutubeEmployee . }
@@ -383,20 +407,25 @@
ex:g1 { ex:YoutubeEmployee rdfs:subClassOf ex:GoogleEmployee .
ex:steveChen rdf:type ex:YoutubeEmployee . }
ex:g2 { ex:chadHurley rdf:type ex:YoutubeEmployee }</pre>
- <p>(here, <code>ex:validAfter</code> and <code>ex:validAt</code> are custom terms that do not enforce a formal constraint, but may be used internally for, e.g., checking the temporal validity of triples in the named graph).</p>
-
- <h4 id="p4" class="prop">Properties of this dataset semantics</h4>
- <p>This semantics assumes that the truth of named graphs is preserved when replacing the RDF graphs inside named graphs with equivalent graphs. This means in particular, that one can normalize literals and still preserve the truth of a named graph. This means too that standard RDF inferences that can be drawn from the RDF graphs inside named graphs can be added to the graph associated with the graph name without impacting the truth of the RDF dataset.</p>
- <p>While this semantics does not guarantee that reasoning with RDF datasets will preserve the exact triples of an original dataset, it is semantically valid to store both the original and any entailed datasets.</p>
- <p>An example implementation of such a context-based semantics is Sindice [[DELBRU-ET-AL-2008]].</p>
+ <p>(here, <code>ex:validAfter</code> and <code>ex:validAt</code> are custom terms that do not enforce a formal constraint, but may be used internally for, e.g., checking the temporal validity of triples in the named graph).</p>
+ </section>
- <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</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>
+ <section>
+ <h4 id="p4" class="prop">Properties of this dataset semantics</h4>
+ <p>This semantics assumes that the truth of named graphs is preserved when replacing the RDF graphs inside named graphs with equivalent graphs. This means in particular, that one can normalize literals and still preserve the truth of a named graph. This means too that standard RDF inferences that can be drawn from the RDF graphs inside named graphs can be added to the graph associated with the graph name without impacting the truth of the RDF dataset.</p>
+ <p>While this semantics does not guarantee that reasoning with RDF datasets will preserve the exact triples of an original dataset, it is semantically valid to store both the original and any entailed datasets.</p>
+ <p>An example implementation of such a context-based semantics is Sindice [[DELBRU-ET-AL-2008]].</p>
+ </section>
+
+ <section>
+ <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</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>
+ </section>
</section>
<section>
@@ -404,21 +433,27 @@
<p>In accordance with linked data principles, IRIs may be assumed to reference the document that is obtained by dereferencing it. If the document contains an RDF graph it can be assumed that the graph in the named graph is in a special relationship (such as, equals, entails) with this RDF graph.</p>
<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</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</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>
- <p>Entailments in this semantics depend not only on the content of a dataset but also on the content of the Web and the ability of a reasoner to accept this content. Moreover, the entailments vary whether the considered relation is “equals”, or “subgraph of”, or “entailed by”.</p>
- <p>For instance, if the reasoner is offline, then the dereferencing function <var>d</var> in the previous definition always return an empty graph. In this case, if the relation is “equals” or “subgraph of”, only empty named graphs can be true; if the relation is “entails by”, then only named graphs containing axiomatic triples are true. In general, if the relationship is “equals”, named graph do not provide extra entailments.</p>
-
- <h4 id="pbox" class="prop">Properties of this dataset semantics</h4>
- <p>The distinguishing characteristic of this dataset semantics is the fact that a single RDF dataset can lead to different entailments, depending on the state of the Web. This can be seen as a feature for systems that need to be in line with what is found online, but is a drawback for systems that must retain consistency even when they go offline.</p>
+ <section>
+ <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</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</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>
+ </section>
+
+ <section>
+ <h4 id="exbox" class="ex">Examples</h4>
+ <p>Entailments in this semantics depend not only on the content of a dataset but also on the content of the Web and the ability of a reasoner to accept this content. Moreover, the entailments vary whether the considered relation is “equals”, or “subgraph of”, or “entailed by”.</p>
+ <p>For instance, if the reasoner is offline, then the dereferencing function <var>d</var> in the previous definition always return an empty graph. In this case, if the relation is “equals” or “subgraph of”, only empty named graphs can be true; if the relation is “entails by”, then only named graphs containing axiomatic triples are true. In general, if the relationship is “equals”, named graph do not provide extra entailments.</p>
+ </section>
+
+ <section>
+ <h4 id="pbox" class="prop">Properties of this dataset semantics</h4>
+ <p>The distinguishing characteristic of this dataset semantics is the fact that a single RDF dataset can lead to different entailments, depending on the state of the Web. This can be seen as a feature for systems that need to be in line with what is found online, but is a drawback for systems that must retain consistency even when they go offline.</p>
+ </section>
</section>
<!--<section>
@@ -435,17 +470,21 @@
<p>This approach consists in considering named graph as sets of quadruples, having the subject, predicate and object of the triples as first three components, and the graph IRI as the fourth element. Each quadruple is interpreted similarly to a triple in RDF, except that the relation that the predicate denotes is not indicating a binary relation but a ternary relation.</p>
<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</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> × <var>IR</var> union <var>IR</var> × <var>IR</var> × <var>IR</var>.</p>
+ <section>
+ <h4 id="f5" class="formal">Formalization</h4>
+ <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> × <var>IR</var> union <var>IR</var> × <var>IR</var> × <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>
+ <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">ex:a rdf:type ex:c ex:x .
ex:c rdfs:subClassOf ex:d ex:x .</pre>
<p>RDFS-dataset-entails:</p>
<pre class="example">ex:a rdf:type ex:d ex:x .</pre>
+ </section>
- <h4 id="p5" class="prop">Properties of this dataset semantics</h4>
- <p>With this semantics, all inferences that are valid with normal RDF triples are preserved, but it is necessary to extend RDFS in order to accommodate for ternary relations. There are several existing proposals that extend this quad semantics by dealing with a specific “dimension”, such as time, uncertainty, provenance. For instance, temporal RDF [[TEMPORAL-RDF]] uses the fourth element to denote a time frame and thus allow reasoning to be performed per time frame. Special semantic rules allow one to combine triples in overlapping time frames. Fuzzy RDF [[FUZZY-RDF]] extends the semantics to deal with uncertainty. stRDF [[ST-RDF]] extends temporal RDF to deal with spatial information. Annotated RDF [[ANNOTATED-RDF]] generalizes the previous proposals.</p>
+ <section>
+ <h4 id="p5" class="prop">Properties of this dataset semantics</h4>
+ <p>With this semantics, all inferences that are valid with normal RDF triples are preserved, but it is necessary to extend RDFS in order to accommodate for ternary relations. There are several existing proposals that extend this quad semantics by dealing with a specific “dimension”, such as time, uncertainty, provenance. For instance, temporal RDF [[TEMPORAL-RDF]] uses the fourth element to denote a time frame and thus allow reasoning to be performed per time frame. Special semantic rules allow one to combine triples in overlapping time frames. Fuzzy RDF [[FUZZY-RDF]] extends the semantics to deal with uncertainty. stRDF [[ST-RDF]] extends temporal RDF to deal with spatial information. Annotated RDF [[ANNOTATED-RDF]] generalizes the previous proposals.</p>
+ </section>
</section>
<section>
@@ -517,6 +556,7 @@
<section class="appendix" id="changes">
<h2>Changes since the first public working draft of 17 December 2013</h2>
<ul>
+ <li>2014-02-21: Fixed wrong style for some section titles.</li>
<li>2014-02-21: Defined prefixes and updated TriG examples.</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>