--- a/rdf-mt/index.html Mon Apr 01 15:33:09 2013 +0200
+++ b/rdf-mt/index.html Mon Apr 01 15:54:25 2013 +0200
@@ -114,8 +114,8 @@
<p>A particular such set of semantic assumptions is called a <dfn>semantic extension</dfn>. Each semantic extension defines an <dfn>entailment regime</dfn> of entailments which are valid under that extension. RDFS, described later in this document, is one such semantic extension. We will refer to an entailment regime by names such as <em>rdfs-entailment</em>, <em>D-entailment</em>, etc.. </p>
-<p>Semantic extensions MAY impose special syntactic conditions or restrictions upon RDF graphs, such as requiring certain triples to be present, or prohibiting particular combinations of IRIs in triples, and MAY consider RDF graphs which do not conform to these conditions to be errors. For example, RDF statements of the form <br />
-<code>:a rdfs:subClassOf owl:Thing .</code><br />
+<p>Semantic extensions MAY impose special syntactic conditions or restrictions upon RDF graphs, such as requiring certain triples to be present, or prohibiting particular combinations of IRIs in triples, and MAY consider RDF graphs which do not conform to these conditions to be errors. For example, RDF statements of the form <br/>
+<code>:a rdfs:subClassOf owl:Thing .</code><br/>
are prohibited in the OWL-DL [[OWL2-SYNTAX]] semantic extension. In such cases, basic RDF operations such as taking a subset of triples, or merging RDF graphs, may cause syntax errors in parsers which recognize the extension conditions. None of the semantic extensions normatively defined in this document impose syntactic restrictions on RDF graphs.</p>
<p>All entailment regimes MUST be <a>monotonic</a> extensions of the simple entailment regime described in the next section, in the sense that if A simply entails B then A also entails B under any extended notion of entailment, provided of course that any syntactic conditions of the extension are also satisfied. Put another way, a semantic extension cannot "cancel" an entailment made by a weaker entailment regime, although it can treat the result as a syntax error.</p>
@@ -142,11 +142,11 @@
literal strings are enclosed within double quote marks and attached to a type IRI using a double-caret <code>^^</code>, language tags indicated
by the use of the <code>@</code> sign, and triples terminate with a 'code dot'
<code>.</code> . </p>
-<p>In stating general rules or conditions we will use the following conventions:<br />
-sss or ttt indicates a Unicode character string; <br />
-aaa or bbb indicates an IRI<br />
-lll or mmm indicates a literal<br />
-_:xxx or _:yyy indicates a blank node. <br /></p>
+<p>In stating general rules or conditions we will use the following conventions:<br/>
+sss or ttt indicates a Unicode character string; <br/>
+aaa or bbb indicates an IRI<br/>
+lll or mmm indicates a literal<br/>
+_:xxx or _:yyy indicates a blank node. <br/></p>
<p>A <dfn>name</dfn> is any IRI or literal. A <dfn>vocabulary</dfn> is a set of names.
</p>
@@ -160,7 +160,7 @@
A <dfn>proper subgraph</dfn> is a proper subset of the triples in the graph. </p>
-<p>A <def>ground</def> RDF graph is one with no blank
+<p>A <dfn>ground</dfn> RDF graph is one with no blank
nodes.</p>
@@ -168,7 +168,7 @@
Note that a typed literal comprises
two <a>name</a>s: itself and its internal type
IRI. </p>
-<p>A <dfn>vocabulary</dfn> is a set of <a>name</a>s. The <def>vocabulary of</def> a graph is
+<p>A <dfn>vocabulary</dfn> is a set of <a>name</a>s. The vocabulary of a graph is
the set of names which occur as the subject, predicate or object of any triple
in the graph. IRIs which occur only inside typed literals
are not required to be in the vocabulary of the graph.</p>
@@ -210,10 +210,10 @@
<p >An RDF graph is <dfn>lean</dfn> if it has no instance which is
a proper subgraph of the graph. Non-lean graphs have internal redundancy
and express the same content as their lean subgraphs. For example, the graph</span></p>
-<p ><code><ex:a> <ex:p> _:x .<br />
+<p ><code><ex:a> <ex:p> _:x .<br/>
_:y <ex:p> _:x .</code></p>
<p >is not lean, but</p>
-<p ><code><ex:a> <ex:p> _:x .<br />
+<p ><code><ex:a> <ex:p> _:x .<br/>
_:x <ex:p> _:x .</code></p>
<p >is lean. </p>
@@ -366,7 +366,7 @@
<p>and</p>
<p>
<code>:b :p _:x .</code></p>
-<p>Both graphs can be satisfied by an interpretation which does not satisfy their union, e.g. one with <br />IEXT(I(<code>:p</code>)) = {< I(<code>:a</code>),I(<code>:a</code>) >, < I(<code>:b</code>),I(<code>:b</code>) > }. This is because the mapping <code>_:x</code>/I(<code>:a</code>) works for the first graph, and the mapping <code>_:x</code>/I(<code>:b</code>) for the second graph, but there is no mapping which works for the combination. Neither graph is obliged to consider the full set of constraints on the blank node that are represented by their union. </p>
+<p>Both graphs can be satisfied by an interpretation which does not satisfy their union, e.g. one with <br/>IEXT(I(<code>:p</code>)) = {< I(<code>:a</code>),I(<code>:a</code>) >, < I(<code>:b</code>),I(<code>:b</code>) > }. This is because the mapping <code>_:x</code>/I(<code>:a</code>) works for the first graph, and the mapping <code>_:x</code>/I(<code>:b</code>) for the second graph, but there is no mapping which works for the combination. Neither graph is obliged to consider the full set of constraints on the blank node that are represented by their union. </p>
<p>Say that a set S of graphs is <dfn>segregated</dfn> when no two graphs in the set share a blank node.</p>
@@ -501,17 +501,17 @@
<table border="1" summary="RDF axiomatic triples">
<tr>
- <td class="ruletable"><a name="RDF_axiomatic_triples" id="RDF_axiomatic_triples"> </a><code>rdf:type rdf:type rdf:Property .<br />
- rdf:subject rdf:type rdf:Property .<br />
- rdf:predicate rdf:type rdf:Property .<br />
- rdf:object rdf:type rdf:Property .<br />
- rdf:first rdf:type rdf:Property .<br />
- rdf:rest rdf:type rdf:Property .<br />
- rdf:value rdf:type rdf:Property .<br />
- rdf:nil rdf:type rdf:List .<br />
- rdf:_1 rdf:type rdf:Property .<br />
- rdf:_2 rdf:type rdf:Property .<br />
- ... <br />
+ <td class="ruletable"><a name="RDF_axiomatic_triples" id="RDF_axiomatic_triples"> </a><code>rdf:type rdf:type rdf:Property .<br/>
+ rdf:subject rdf:type rdf:Property .<br/>
+ rdf:predicate rdf:type rdf:Property .<br/>
+ rdf:object rdf:type rdf:Property .<br/>
+ rdf:first rdf:type rdf:Property .<br/>
+ rdf:rest rdf:type rdf:Property .<br/>
+ rdf:value rdf:type rdf:Property .<br/>
+ rdf:nil rdf:type rdf:List .<br/>
+ rdf:_1 rdf:type rdf:Property .<br/>
+ rdf:_2 rdf:type rdf:Property .<br/>
+ ... <br/>
</code>
</code></td>
@@ -643,8 +643,8 @@
<tr>
<td class="semantictable"><p><a name="rdfssemcond9" id="rdfssemcond9"></a>If
- x is in ICEXT(I(<code>rdfs:ContainerMembershipProperty</code>)) then:<br />
- < x, I(<code>rdfs:member</code>) > is in IEXT(I(<code>rdfs:subPropertyOf</code>))<br />
+ x is in ICEXT(I(<code>rdfs:ContainerMembershipProperty</code>)) then:<br/>
+ < x, I(<code>rdfs:member</code>) > is in IEXT(I(<code>rdfs:subPropertyOf</code>))<br/>
</p></td>
</tr>
<tr>
@@ -667,59 +667,59 @@
<tr>
- <td class="ruletable"> <code>rdf:type rdfs:domain rdfs:Resource .<br />
- rdfs:domain rdfs:domain rdf:Property .<br />
- rdfs:range rdfs:domain rdf:Property .<br />
- rdfs:subPropertyOf rdfs:domain rdf:Property .<br />
+ <td class="ruletable"> <code>rdf:type rdfs:domain rdfs:Resource .<br/>
+ rdfs:domain rdfs:domain rdf:Property .<br/>
+ rdfs:range rdfs:domain rdf:Property .<br/>
+ rdfs:subPropertyOf rdfs:domain rdf:Property .<br/>
<a name="axtripleforproof1" id="axtripleforproof1"></a>rdfs:subClassOf rdfs:domain
- rdfs:Class .<br />
- rdf:subject rdfs:domain rdf:Statement .<br />
- rdf:predicate rdfs:domain rdf:Statement .<br />
- rdf:object rdfs:domain rdf:Statement .<br />
- rdfs:member rdfs:domain rdfs:Resource . <br />
- rdf:first rdfs:domain rdf:List .<br />
- rdf:rest rdfs:domain rdf:List .<br />
- rdfs:seeAlso rdfs:domain rdfs:Resource .<br />
- rdfs:isDefinedBy rdfs:domain rdfs:Resource .<br />
- rdfs:comment rdfs:domain rdfs:Resource .<br />
- rdfs:label rdfs:domain rdfs:Resource .<br />
- rdf:value rdfs:domain rdfs:Resource .<br />
- <br />
- rdf:type rdfs:range rdfs:Class .<br />
- rdfs:domain rdfs:range rdfs:Class .<br />
- rdfs:range rdfs:range rdfs:Class .<br />
- rdfs:subPropertyOf rdfs:range rdf:Property .<br />
+ rdfs:Class .<br/>
+ rdf:subject rdfs:domain rdf:Statement .<br/>
+ rdf:predicate rdfs:domain rdf:Statement .<br/>
+ rdf:object rdfs:domain rdf:Statement .<br/>
+ rdfs:member rdfs:domain rdfs:Resource . <br/>
+ rdf:first rdfs:domain rdf:List .<br/>
+ rdf:rest rdfs:domain rdf:List .<br/>
+ rdfs:seeAlso rdfs:domain rdfs:Resource .<br/>
+ rdfs:isDefinedBy rdfs:domain rdfs:Resource .<br/>
+ rdfs:comment rdfs:domain rdfs:Resource .<br/>
+ rdfs:label rdfs:domain rdfs:Resource .<br/>
+ rdf:value rdfs:domain rdfs:Resource .<br/>
+ <br/>
+ rdf:type rdfs:range rdfs:Class .<br/>
+ rdfs:domain rdfs:range rdfs:Class .<br/>
+ rdfs:range rdfs:range rdfs:Class .<br/>
+ rdfs:subPropertyOf rdfs:range rdf:Property .<br/>
<a name="axtripleforproof2" id="axtripleforproof2"></a>rdfs:subClassOf rdfs:range
- rdfs:Class .<br />
- rdf:subject rdfs:range rdfs:Resource .<br />
- rdf:predicate rdfs:range rdfs:Resource .<br />
- rdf:object rdfs:range rdfs:Resource .<br />
- rdfs:member rdfs:range rdfs:Resource .<br />
- rdf:first rdfs:range rdfs:Resource .<br />
- rdf:rest rdfs:range rdf:List .<br />
- rdfs:seeAlso rdfs:range rdfs:Resource .<br />
- rdfs:isDefinedBy rdfs:range rdfs:Resource .<br />
- rdfs:comment rdfs:range rdfs:Literal .<br />
- rdfs:label rdfs:range rdfs:Literal .<br />
- rdf:value rdfs:range rdfs:Resource .<br />
- <br />
- rdf:Alt rdfs:subClassOf rdfs:Container .<br />
- rdf:Bag rdfs:subClassOf rdfs:Container .<br />
- rdf:Seq rdfs:subClassOf rdfs:Container .<br />
- rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property .<br />
- <br />
- rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso .<br />
- <br />
+ rdfs:Class .<br/>
+ rdf:subject rdfs:range rdfs:Resource .<br/>
+ rdf:predicate rdfs:range rdfs:Resource .<br/>
+ rdf:object rdfs:range rdfs:Resource .<br/>
+ rdfs:member rdfs:range rdfs:Resource .<br/>
+ rdf:first rdfs:range rdfs:Resource .<br/>
+ rdf:rest rdfs:range rdf:List .<br/>
+ rdfs:seeAlso rdfs:range rdfs:Resource .<br/>
+ rdfs:isDefinedBy rdfs:range rdfs:Resource .<br/>
+ rdfs:comment rdfs:range rdfs:Literal .<br/>
+ rdfs:label rdfs:range rdfs:Literal .<br/>
+ rdf:value rdfs:range rdfs:Resource .<br/>
+ <br/>
+ rdf:Alt rdfs:subClassOf rdfs:Container .<br/>
+ rdf:Bag rdfs:subClassOf rdfs:Container .<br/>
+ rdf:Seq rdfs:subClassOf rdfs:Container .<br/>
+ rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property .<br/>
+ <br/>
+ rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso .<br/>
+ <br/>
- rdfs:Datatype rdfs:subClassOf rdfs:Class .<br />
- <br />
- rdf:_1 rdf:type rdfs:ContainerMembershipProperty .<br />
- <span >rdf:_1 rdfs:domain rdfs:Resource .<br />
- rdf:_1 rdfs:range rdfs:Resource .</span> <br />
- rdf:_2 rdf:type rdfs:ContainerMembershipProperty .<br />
- rdf:_2 rdfs:domain rdfs:Resource .<br />
- rdf:_2 rdfs:range rdfs:Resource . <br />
- </code>... <br /> </td>
+ rdfs:Datatype rdfs:subClassOf rdfs:Class .<br/>
+ <br/>
+ rdf:_1 rdf:type rdfs:ContainerMembershipProperty .<br/>
+ <span >rdf:_1 rdfs:domain rdfs:Resource .<br/>
+ rdf:_1 rdfs:range rdfs:Resource .</span> <br/>
+ rdf:_2 rdf:type rdfs:ContainerMembershipProperty .<br/>
+ rdf:_2 rdfs:domain rdfs:Resource .<br/>
+ rdf:_2 rdfs:range rdfs:Resource . <br/>
+ </code>... <br/> </td>
</tr>
</table>
@@ -738,30 +738,30 @@
<div class="tabletitle">Some rdfs-valid triples.</div>
<table border="1">
<tr>
- <td class="ruletable"><code>rdfs:Resource rdf:type rdfs:Class .<br />
- rdfs:Class rdf:type rdfs:Class .<br />
- rdfs:Literal rdf:type rdfs:Class .<br />
- rdf:XMLLiteral rdf:type rdfs:Class .<br />
-rdf:HTML rdf:type rdfs:Class .<br />
- rdfs:Datatype rdf:type rdfs:Class .<br />
- rdf:Seq rdf:type rdfs:Class .<br />
- rdf:Bag rdf:type rdfs:Class .<br />
- rdf:Alt rdf:type rdfs:Class .<br />
- rdfs:Container rdf:type rdfs:Class .<br />
- rdf:List rdf:type rdfs:Class .<br />
- rdfs:ContainerMembershipProperty rdf:type rdfs:Class .<br />
- rdf:Property rdf:type rdfs:Class .<br />
- rdf:Statement rdf:type rdfs:Class .<br />
- <br />
- rdfs:domain rdf:type rdf:Property .<br />
- rdfs:range rdf:type rdf:Property .<br />
- rdfs:subPropertyOf rdf:type rdf:Property .<br />
- rdfs:subClassOf rdf:type rdf:Property .<br />
- rdfs:member rdf:type rdf:Property .<br />
- rdfs:seeAlso rdf:type rdf:Property .<br />
- rdfs:isDefinedBy rdf:type rdf:Property .<br />
- rdfs:comment rdf:type rdf:Property .<br />
- rdfs:label rdf:type rdf:Property .<br />
+ <td class="ruletable"><code>rdfs:Resource rdf:type rdfs:Class .<br/>
+ rdfs:Class rdf:type rdfs:Class .<br/>
+ rdfs:Literal rdf:type rdfs:Class .<br/>
+ rdf:XMLLiteral rdf:type rdfs:Class .<br/>
+rdf:HTML rdf:type rdfs:Class .<br/>
+ rdfs:Datatype rdf:type rdfs:Class .<br/>
+ rdf:Seq rdf:type rdfs:Class .<br/>
+ rdf:Bag rdf:type rdfs:Class .<br/>
+ rdf:Alt rdf:type rdfs:Class .<br/>
+ rdfs:Container rdf:type rdfs:Class .<br/>
+ rdf:List rdf:type rdfs:Class .<br/>
+ rdfs:ContainerMembershipProperty rdf:type rdfs:Class .<br/>
+ rdf:Property rdf:type rdfs:Class .<br/>
+ rdf:Statement rdf:type rdfs:Class .<br/>
+ <br/>
+ rdfs:domain rdf:type rdf:Property .<br/>
+ rdfs:range rdf:type rdf:Property .<br/>
+ rdfs:subPropertyOf rdf:type rdf:Property .<br/>
+ rdfs:subClassOf rdf:type rdf:Property .<br/>
+ rdfs:member rdf:type rdf:Property .<br/>
+ rdfs:seeAlso rdf:type rdf:Property .<br/>
+ rdfs:isDefinedBy rdf:type rdf:Property .<br/>
+ rdfs:comment rdf:type rdf:Property .<br/>
+ rdfs:label rdf:type rdf:Property .<br/>
</code><code></code></td>
</tr>
</table>
@@ -905,9 +905,9 @@
<p>and suppose that this graph is identified by the IRI <code>ex:graph1</code>. Exactly how this identification is achieved is external to the RDF model, but it might be by the IRI resolving to a concrete syntax document describing the graph, or by the IRI being the associated name of a named graph in a dataset. Assuming that the IRI can be used to refer to the triple, then the reification vocabulary allows us to describe the first graph in another graph:</p>
- <p><code><ex:graph1> rdf:type rdf:Statement .<br />
- <ex:graph1> rdf:subject <ex:a> .<br />
- <ex:graph1> rdf:predicate <ex:b> .<br />
+ <p><code><ex:graph1> rdf:type rdf:Statement .<br/>
+ <ex:graph1> rdf:subject <ex:a> .<br/>
+ <ex:graph1> rdf:predicate <ex:b> .<br/>
<ex:graph1> rdf:object <ex:c> .</code></p>
<p>The second graph is called a <i><a href="#glossReify"
@@ -943,14 +943,14 @@
entail that the same property holds of another such entity, even if
it has the same components. For example,</p>
- <p><code>_:xxx rdf:type rdf:Statement .<br />
- _:xxx rdf:subject <ex:subject> .<br />
- _:xxx rdf:predicate <ex:predicate> .<br />
- _:xxx rdf:object <ex:object> .<br />
- _:yyy rdf:type rdf:Statement .<br />
- _:yyy rdf:subject <ex:subject> .<br />
- _:yyy rdf:predicate <ex:predicate> .<br />
- _:yyy rdf:object <ex:object> .<br />
+ <p><code>_:xxx rdf:type rdf:Statement .<br/>
+ _:xxx rdf:subject <ex:subject> .<br/>
+ _:xxx rdf:predicate <ex:predicate> .<br/>
+ _:xxx rdf:object <ex:object> .<br/>
+ _:yyy rdf:type rdf:Statement .<br/>
+ _:yyy rdf:subject <ex:subject> .<br/>
+ _:yyy rdf:predicate <ex:predicate> .<br/>
+ _:yyy rdf:object <ex:object> .<br/>
_:xxx <ex:property> <ex:foo> .</code></p>
<p>does not entail</p>
@@ -1018,13 +1018,13 @@
<p>RDF does not support any entailments which could arise from enumerating
the elements of an <code>rdf:Bag</code> in a different order. For example,</p>
- <p><code>_:xxx rdf:type rdf:Bag .<br />
- _:xxx rdf:_1 <ex:a> .<br />
+ <p><code>_:xxx rdf:type rdf:Bag .<br/>
+ _:xxx rdf:_1 <ex:a> .<br/>
_:xxx rdf:_2 <ex:b> .</code></p>
<p>does not entail</p>
- <p><code>_:xxx rdf:_1 <ex:b> .<br />
+ <p><code>_:xxx rdf:_1 <ex:b> .<br/>
_:xxx rdf:_2 <ex:a> .</code></p>
<p>Notice that if this conclusion were <a>valid</a>, then the result of
@@ -1038,8 +1038,8 @@
the three container classes are disjoint, so that for example
it is not a <a>contradiction</a> to assert that something is both an <code>rdf:Bag</code> and an <code>rdf:Seq</code>.
There is no assumption that containers are gap-free, so that for example</p>
- <p><code>_:xxx rdf:type rdf:Seq.<br />
- _:xxx rdf:_1 <ex:a> .<br />
+ <p><code>_:xxx rdf:type rdf:Seq.<br/>
+ _:xxx rdf:_1 <ex:a> .<br/>
_:xxx rdf:_3 <ex:c> .</code></p>
<p>does not entail</p>
@@ -1078,9 +1078,9 @@
is intended for use typically in a context where a container is described using
blank nodes to connect a 'well-formed' sequence of items, each described by
two triples of the form
-<code><br />
- <br />
- _:c1 rdf:first aaa .<br />
+<code><br/>
+ <br/>
+ _:c1 rdf:first aaa .<br/>
_:c1 rdf:rest _:c2</code></p>
@@ -1094,16 +1094,16 @@
For example, the existence of a collection containing two items does not automatically
guarantee that the similar collection with the items permuted also exists:
<code>
-<br /><br />
- _:c1 rdf:first <ex:aaa> .<br />
- _:c1 rdf:rest _:c2 .<br />
- <span > _:c2 rdf:first</span> <ex:bbb> .<br />
+<br/><br/>
+ _:c1 rdf:first <ex:aaa> .<br/>
+ _:c1 rdf:rest _:c2 .<br/>
+ <span > _:c2 rdf:first</span> <ex:bbb> .<br/>
_:c2 rdf:rest rdf:nil . </code></p>
<p>does not entail</p>
-<p><code>_:c3 rdf:first <ex:bbb> .<br />
- _:c3 rdf:rest _:c4 .<br />
- <span >_:c4 rdf:first</span> <ex:aaa> .<br />
+<p><code>_:c3 rdf:first <ex:bbb> .<br/>
+ _:c3 rdf:rest _:c4 .<br/>
+ <span >_:c4 rdf:first</span> <ex:aaa> .<br/>
_:c4 rdf:rest rdf:nil .
</code></p>
@@ -1113,9 +1113,9 @@
the existence of highly peculiar objects such as lists with forked
or non-list tails, or multiple heads:</p>
-<p><code>_:666 rdf:first <ex:aaa> .<br />
- _:666 rdf:first <ex:bbb> .<br />
- _:666 rdf:rest <ex:ccc> .<br />
+<p><code>_:666 rdf:first <ex:aaa> .<br/>
+ _:666 rdf:first <ex:bbb> .<br/>
+ _:666 rdf:rest <ex:ccc> .<br/>
_:666 rdf:rest rdf:nil . </code></p>