branch merge
authorGavin Carothers <gavin@carothers.name>
Wed, 03 Apr 2013 10:02:32 -0700
changeset 729 33ea70bafcde
parent 728 0fb749437488 (current diff)
parent 727 d90c0f35f0b6 (diff)
child 731 6532d5839c19
branch merge
--- a/rdf-mt/index.html	Wed Apr 03 10:02:11 2013 -0700
+++ b/rdf-mt/index.html	Wed Apr 03 10:02:32 2013 -0700
@@ -175,7 +175,7 @@
 <p>Suppose that M is a functional mapping from a set of blank 
   nodes to some set of literals, blank nodes and IRIs. Any graph obtained 
   from a graph G by replacing some or all of the blank nodes N in G by M(N) is 
-  an <dfn>instance</dfn> of G. Any graph is an instance of itself, 
+  an <dfn id="definst">instance</dfn> of G. Any graph is an instance of itself, 
   an instance of an instance of G is an instance of G,
   and if H is an instance of G then every triple in H is an instance of at least one triple 
   in G.</p>
@@ -331,7 +331,7 @@
 
     </section>
 
-<section><h2>Simple Entailment</h2>
+<section id="simpleentailment"><h2>Simple Entailment</h2>
 <p class="issue">Should the 'explanatory' material in here be moved to the tutorial appendix? </p>
 <p>Following standard terminology, we say that I <dfn>satisfies</dfn> E when I(E)=true, and a set 
   S of RDF graphs <dfn>simply entails</dfn> a graph E when every interpretation 
@@ -354,13 +354,19 @@
 <p>Simple entailment can be recognized by relatively simple syntactic comparisons. The two basic forms of simply valid inference in RDF are, in logical terms, the inference from <code>(P and Q)</code> to <code>P</code>, and the inference from <code>foo(baz)</code> to <code>(exists&nbsp;(x)&nbsp;foo(x)&nbsp;) </code>. The first corresponds to taking a subgraph of a graph, the second to replacing an IRI or literal with a blank node.</p>
 
 <p><strong>Empty Graph Lemma.</strong> The empty set of triples is entailed by 
-  any graph, and does not entail any graph except itself. <a href="#emptygraphlemmaprf" class="termref">[Proof]</a></p>
+  any graph, and does not entail any graph except itself.
+<!-- <a href="#emptygraphlemmaprf" class="termref">[Proof]</a> -->
+</p>
 <p><a id="subglem"><strong>Subgraph Lemma.</strong></a> A graph 
-  entails all its <a
-    href="#defsubg" class="termref">subgraphs</a>. <a href="#subglemprf" class="termref">[Proof]</a></p>
+  entails all its subgraphs.
+<!-- <a href="#defsubg" class="termref"> subgraphs</a>.  -->
+<!-- <a href="#subglemprf" class="termref">[Proof]</a> -->
+</p>
 <p><a id="instlem"><strong>Instance Lemma.</strong></a> A graph 
   is entailed by any of its <a
-    href="#definst" class="termref">instances</a>.<a href="#instlemprf" class="termref"> [Proof]</a></p>
+    href="#definst" class="termref">instances</a>.
+<!-- <a href="#instlemprf" class="termref"> [Proof]</a> -->
+</p>
 
 <p>Obviously, the union of a set of graphs entails every member of the set, since they are all subgraphs of the union. However, if two or more graphs in the set share a blank node. then the set may fail to entail the union. For example, consider the graphs</p>
 <p>
@@ -374,7 +380,9 @@
 
 
 <p><a id="mergelem"><strong>Merging lemma.</strong></a> The union 
-  of a segregated set S of RDF graphs is entailed by S, and entails every member of S. <a href="#mergelemprf" class="termref">[Proof]</a></p>
+  of a segregated set S of RDF graphs is entailed by S, and entails every member of S. 
+<!-- <a href="#mergelemprf" class="termref">[Proof]</a> -->
+</p>
 
 
 
@@ -385,7 +393,9 @@
     concerned.  In general, we will not usually bother to distinguish between a set of graphs and the single graph formed by taking their union. </p>
         <p>The main result for simple entailment is:</p>
 <p><a id="interplemma"><strong>Interpolation Lemma.</strong> 
-  S entails a graph E if and only if a subgraph of S is an instance of E. </a><a href="#interplemmaprf" class="termref">[Proof]</a></p>
+  S entails a graph E if and only if a subgraph of S is an instance of E. </a>
+<!-- <a href="#interplemmaprf" class="termref">[Proof]</a> -->
+</p>
 <p>The interpolation lemma completely characterizes simple entailment in syntactic 
   terms. To tell whether a set of RDF graphs simply entails another, check that 
   there is some instance of the entailed graph which is a subset of the merge 
@@ -394,14 +404,20 @@
 
 <p><a id="Anonlem1"><strong>Anonymity lemma.</strong></a> Suppose 
   E is a <a>lean</a> graph and E' is a proper instance of E. Then E does 
-  not entail E'. <a href="#Anonlem1prf" class="termref">[Proof]</a></p>
+  not entail E'. 
+<!-- 
+<a href="#Anonlem1prf" class="termref">[Proof]</a>
+-->
+</p>
     
 <p><strong><a id="monotonicitylemma"></a>Monotonicity 
-  Lemma</strong>. Suppose S is a subgraph of S' and S entails E. Then S' entails 
-  E.<a href="#monotonicitylemmaprf" class="termref"> [Proof]</a></p>
+  Lemma</strong>. Suppose S is a subgraph of S' and S entails E. Then S' entails E.
+<!-- <a href="#monotonicitylemmaprf" class="termref"> [Proof]</a> -->
+</p>
 <p><strong><a id="compactlemma"></a>Compactness Lemma</strong>. 
-  If S entails E and E is a finite graph, then some finite subset S' of S entails 
-  E. <a href="#compactlemmaprf" class="termref"> [Proof]</a></p>
+  If S entails E and E is a finite graph, then some finite subset S' of S entails E. 
+<!-- <a href="#compactlemmaprf" class="termref"> [Proof]</a> -->
+</p>
 </section>
 
 
@@ -410,9 +426,15 @@
 <p> Suppose G is a graph containing blank nodes and sk is a skolemization mapping on the blank nodes in G, so that sk(G) is a skolemization of G.  Then the semantic relationship between them can be summarized as follows. </p>
 
 <p>1.  sk(G) simply entails G (by the <a href="#instlem" class="termref">instance lemma</a>, since sk(G) is an instance of G)</p>
-<p>2.  G does not entail sk(G). <a href="#skolemizeNentaillemmaprf" class="termref"> [Proof]</a></p>
-<p>3.  For any graph H, if sk(G) entails H then there is a graph H' such that G entails H' and H=sk(H') . <a href="#skolemizeMainlemmaprf" class="termref"> [Proof]</a></p>
-<p>4.  For any graph H which does not contain any of the "new" IRIs introduced into sk(G), sk(G) simply entails H if and only if G simply entails H.<a href="#skolemizlemmaprf" class="termref"> [Proof]</a> </p>
+<p>2.  G does not entail sk(G). 
+<!-- <a href="#skolemizeNentaillemmaprf" class="termref"> [Proof]</a> -->
+</p>
+<p>3.  For any graph H, if sk(G) entails H then there is a graph H' such that G entails H' and H=sk(H') . 
+<!-- <a href="#skolemizeMainlemmaprf" class="termref"> [Proof]</a> -->
+</p>
+<p>4.  For any graph H which does not contain any of the "new" IRIs introduced into sk(G), sk(G) simply entails H if and only if G simply entails H.
+<!-- <a href="#skolemizlemmaprf" class="termref"> [Proof]</a> -->
+</p>
 
 <p>The second property means that a graph is not equivalent to its skolemization, so we cannot simply identify them. Nevertheless, they are in a strong sense almost interchangeable, as the next two properties attest. The third property means that even when conclusions are drawn from the skolemized graph which do contain the new vocabulary, these will exactly mirror what could have been derived from the original graph with the original blank nodes in place. The replacement of blank nodes by IRIs does not effectively alter what can be validly derived from the graph, other than by giving new names to what were formerly anonymous entities. The fourth property, which is a consequence of the third, clearly shows that in some sense  a skolemization of G can "stand in for" G as far as entailments are concerned. Using sk(G) instead of G will not affect any entailments which do not involve the new skolem vocabulary.  </p>
 
@@ -431,7 +453,7 @@
 combine a string and an IRI identifying a datatype. A datatype is understood to define a partial mapping, called the <dfn>lexical-to-value mapping</dfn>, from character strings to values, and the literal refers to the value obtained by applying this mapping to the character string. If the mapping gives no value for the literal string, then the literal has no referent. The <dfn>value space</dfn> of a datatype is the range of the <a>lexical-to-value mapping</a>. Every literal with that type either refers to a value in the value space, or fails to refer at all. An  <dfn>ill-typed</dfn> literal is one whose datatype IRI is recognized, but whose character string is not in the domain of the datatype lexical-to-value mapping. Datatypes are indicated by IRIs.
 </p>
 
-<p> Interpretations will vary according to which IRIs they recognize as denoting datatypes. We describe this using a parameter D on interpretations. where D is a set of IRIs that constitute the recognized datatype IRIs. IRIs listed in <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#xsd-datatypes">///Concepts Section 5///</a> MUST be interpreted as described there, and the IRI <code>rdf:plainLiteral</code> MUST be interpreted to refer to the datatype defined in <a href="www.w3.org/TR/rdf-plain-literal/">///PlainLiteral///</a>. When other datatypes are used, the mapping between a recognized IRI and the datatype it refers to MUST be specified unambiguously, and be fixed during all RDF transformations or manipulations.</p> 
+<p> Interpretations will vary according to which IRIs they recognize as denoting datatypes. We describe this using a parameter D on interpretations. where D is a set of IRIs that constitute the recognized datatype IRIs. IRIs listed in <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#xsd-datatypes">///Concepts Section 5///</a> MUST be interpreted as described there, and the IRI <code>rdf:plainLiteral</code> MUST be interpreted to refer to the datatype defined in [[!RDF-PLAIN-LITERAL]]. When other datatypes are used, the mapping between a recognized IRI and the datatype it refers to MUST be specified unambiguously, and be fixed during all RDF transformations or manipulations.</p> 
 
 <p>Language-tagged strings are an exceptional case which are given a special treatment. The IRI <code>rdf:langString</code> is classified as a datatype IRI, and interpreted to refer to a datatype, even though no L2V mapping is defined for it. The value space of <code>rdf:langString</code> is the set of all pairs of a string with a language tag. The semantics of literals with this as their type are given below. (If datatype L2V mappings were defined on pairs of lexical values rather than strings, then the L2V mapping for <code>rdf:langString</code> would be the identity function on pairs of the form &lt; unicode string, language tag &gt;. But as they are not, we simply list this as a special case.)</p>
 
@@ -441,7 +463,7 @@
 
 </section>
 
-<section><h2>D-interpretations and datatype entailment</h2>
+<section id="D_entailment"><h2>D-interpretations and datatype entailment</h2>
 <p>Let D be a set of IRIs identifying datatypes. A  <dfn>(simple) D-interpretation</dfn> is a simple interpretation  which satisfies the following conditions:</p> 
 
 <div  class="tabletitle">Semantic conditions for datatyped literals.</div>
@@ -523,14 +545,14 @@
 <p>No other semantic constraints are imposed upon <a>rdf-D-interpretation</a>s, so RDF imposes no particular normative meanings on the rest of the RDF vocabulary. Some consequences of this are discussed in <a>Appendix C</a></p>
 
 
-<p>An <em>rdf-interpretation</em>, or <em>RDF interpretation</em>, is an rdf-{<code>rdf:langString</code>, <code>xsd:string</code> }-interpretation, i.e. an rdf-D-Interpretation with a minimal set D. The datatypes <code>rdf:langString</code> and <code>xsd:string</code> MUST be recognized by all RDF interpretations. </p><p>The RDF built-in datatypes <code>rdf:XMLLiteral</code> and <code>rdf:HTML</code> are defined in ///RDF Concepts///. RDF interpretations are not required to recognize these datatypes. </p>
+<p id="rdfinterpdef">An <em>rdf-interpretation</em>, or <em>RDF interpretation</em>, is an rdf-{<code>rdf:langString</code>, <code>xsd:string</code> }-interpretation, i.e. an rdf-D-Interpretation with a minimal set D. The datatypes <code>rdf:langString</code> and <code>xsd:string</code> MUST be recognized by all RDF interpretations. </p><p>The RDF built-in datatypes <code>rdf:XMLLiteral</code> and <code>rdf:HTML</code> are defined in [[!RDF11-CONCEPTS]]. RDF interpretations are not required to recognize these datatypes. </p>
 
 <h3><a id="rdf_entail"></a>RDF entailment</h3>
 
 <p>S <i>rdf-D-entails</i> E when every rdf-D-interpretation which satisfies every 
   member of S also satisfies E. </p>
 
-<p>The lemmas in <a href="#entail" > Section 2</a> do not all apply to rdf-D-entailment: 
+<p>The lemmas for <a href="#simpleentailment">simple entailment</a> do not all apply to rdf-D-entailment: 
   for example, all the rdf axioms are true in every <a href="#rdfinterpdef" class="termref">rdf-interpretation</a>, so are rdf-D-entailed by the empty graph, 
   contradicting the <a href="#interplemma" class="termref">interpolation lemma</a> for rdf-D-entailment. Section //// gives rules that can be used to detect RDF entailment between RDF graphs. </p>
 
@@ -544,7 +566,7 @@
 
 </section>
 <section><h2>RDFS Interpretations and RDFS entailment</h2>
-<p>RDF Schema [<cite><a href="#ref-rdf-vocabulary">RDF-VOCABULARY</a></cite>] 
+<p>RDF Schema [[RDF-VOCABULARY]]
   extends RDF to a larger <a id="defRDFSV"></a>vocabulary 
   with more complex semantic constraints:</p>
 
@@ -796,7 +818,10 @@
 <p>Given a set of RDF graphs, there are various ways in which one can 'add' information 
   to it. Any of the graphs may have some triples added to it; the set of graphs 
   may be extended by extra graphs; or the vocabulary of the graph may be interpreted 
-  relative to a stronger notion of <a href="#vocabulary_entail" class="termref">vocabulary entailment</a>, i.e. with a larger set 
+  relative to a stronger notion of 
+entailment,
+<!-- <a href="#vocabulary_entail" class="termref">vocabulary entailment</a>, -->
+ i.e. with a larger set 
   of semantic conditions understood to be imposed on the interpretations. All 
   of these can be thought of as an addition of information, and may make more 
   entailments hold than held before the change. All of these additions are <a href="#glossMonotonic" class="termref"><em>monotonic</em></a>, 
@@ -808,7 +833,7 @@
       of&nbsp; X, S X-entails E, and   S and
       E satisfy any syntactic restrictions of Y. Then  S' Y-entails E.</p>
     
-<p >In particular, if D' is a <a href="#defDatatypeMap" class="termref">datatype map</a>, D a subset of D' and if S <a href="#D_entailment" class="termref"> D-entail</a>s 
+<p >In particular, if D' is a set of IRIs identifying datatypes, D a subset of D' and if S <a href="#D_entailment" class="termref"> D-entail</a>s 
   E then S also D'-entails E. </p>
 
 </section>
@@ -848,7 +873,9 @@
   but they require more complex inference rules. The <a href="#glossIntensional" class="termref">intensional</a> semantics described 
   in the main text provides for most common uses of subclass and subproperty assertions, 
   and allows for simpler implementations of a <a href="#glossComplete" class="termref"> 
-  complete</a> set of RDFS entailment rules, described in <a href="#RDFSRules" class="termref"> ////</a>.</p>
+  complete</a> set of RDFS entailment rules.
+<!-- , described in <a href="#RDFSRules" class="termref"> ////</a>. -->
+</p>
 </li></ul>
 
 </section>
@@ -1106,8 +1133,7 @@
      _:c4 rdf:rest rdf:nil .
     </code></p>
 
-    <p>Also, RDF imposes no '<a href="#glossWellformed"
-    class="termref">well-formedness</a>' conditions on the use of this
+    <p>Also, RDF imposes no 'well-formedness' conditions on the use of this
     vocabulary, so that it is possible to write RDF graphs which assert
     the existence of highly peculiar objects such as lists with forked
     or non-list tails, or multiple heads:</p>
@@ -1415,8 +1441,9 @@
     of meanings. Often contrasted with <em>syntactic</em> to emphasize
     the distinction between expressions and what they denote.</p>
 
-    <p><a id="glossSkolemization"></a><a
-    href="#skolemlemprf"><strong>Skolemization</strong></a> (n.) A
+    <p><a id="glossSkolemization"></a>
+<!-- <a href="#skolemlemprf"> -->
+<strong>Skolemization</strong></a> (n.) A
     syntactic transformation in which blank nodes are replaced by 'new'
     names.</p>