Skip to content

Commit e28ffa7

Browse files
pfpsTallTed
andauthored
remove Appendix D and notate removal (#137)
* remove Appendix D and notate removal * Update spec/index.html Co-authored-by: Ted Thibodeau Jr <[email protected]> * Update spec/index.html --------- Co-authored-by: Ted Thibodeau Jr <[email protected]>
1 parent 1001f19 commit e28ffa7

File tree

1 file changed

+6
-283
lines changed

1 file changed

+6
-283
lines changed

spec/index.html

Lines changed: 6 additions & 283 deletions
Original file line numberDiff line numberDiff line change
@@ -1946,289 +1946,6 @@ <h2>Proofs of some results</h2>
19461946

19471947
</section>
19481948

1949-
<section id="whatnot" class="informative appendix">
1950-
<h2 id="non_semantics">RDF reification, containers and collections</h2>
1951-
1952-
<p>The RDF semantic conditions do not place formal constraints on the meaning
1953-
of much of the RDF vocabulary which is intended for use in describing containers and bounded collections,
1954-
or the reification vocabulary intended to enable an RDF graph to describe RDF triples.
1955-
This appendix briefly reviews the intended meanings of this vocabulary. </p>
1956-
1957-
<p>The omission of these conditions from the formal semantics is a design decision
1958-
to accommodate variations in existing RDF usage and to make it easier to implement
1959-
processes to check formal RDF entailment. For example, implementations may decide
1960-
to use special procedural techniques to implement the RDF collection vocabulary.</p>
1961-
1962-
<section id="Reif">
1963-
<h3>Reification</h3>
1964-
1965-
<div class="c1">
1966-
<table>
1967-
<tbody>
1968-
<tr>
1969-
<td class="othertable"><strong>RDF reification vocabulary</strong></td>
1970-
</tr>
1971-
<tr>
1972-
<td class="othertable"><code>rdf:Statement rdf:subject rdf:predicate
1973-
rdf:object</code></td>
1974-
</tr>
1975-
</tbody>
1976-
</table>
1977-
</div>
1978-
1979-
<p>The intended meaning of this vocabulary is to allow an RDF graph to act as metadata describing other RDF triples. </p>
1980-
1981-
<p>Consider an example graph containing a single triple:</p>
1982-
1983-
<p><code>ex:a ex:b ex:c .</code></p>
1984-
1985-
<p>and suppose that IRI <code>ex:graph1</code> is used to <a>identify</a> this graph.
1986-
Exactly how this identification is achieved is external to the RDF model,
1987-
but it might be by the IRI resolving to a concrete syntax document describing the graph,
1988-
or by the IRI being the associated <a>name</a> of a named graph in a dataset.
1989-
Assuming that the IRI can be used to denote the triple,
1990-
then the reification vocabulary allows us to describe the first graph in another graph:</p>
1991-
1992-
<p><code>ex:graph1 rdf:type rdf:Statement .<br/>
1993-
ex:graph1 rdf:subject ex:a .<br/>
1994-
ex:graph1 rdf:predicate ex:b .<br/>
1995-
ex:graph1 rdf:object ex:c .</code></p>
1996-
1997-
<p>The second graph is called a <dfn>reification</dfn> of the triple in the first graph.</p>
1998-
1999-
<p>Reification is not a form of quotation. Rather, the reification describes the
2000-
relationship between a token of a triple and the resources that the triple denotes.
2001-
The value of the <code>rdf:subject</code> property is not the
2002-
subject IRI itself but the thing it <a>denotes</a>, and similarly for <code>rdf:predicate</code> and <code>rdf:object</code>.
2003-
For example, if the referent of <code>ex:a</code> is Mount Everest,
2004-
then the subject of the reified triple is also the mountain, not the IRI which denotes it.</p>
2005-
2006-
<p><a>Reification</a>s can be written with a blank node as subject,
2007-
or with an IRI subject which does not <a>identify</a> any concrete realization of a triple,
2008-
in both of which cases they simply assert the existence of the described triple. </p>
2009-
2010-
<p>The subject of a <a>reification</a> is intended to denote a concrete realization of an RDF triple, such as a document in a surface syntax, rather than a triple considered as an abstract object. This supports use cases where properties such as dates of
2011-
composition or provenance information are applied to the
2012-
reified triple, which are meaningful only when thought of as
2013-
denoting a particular instance or token of a triple. </p>
2014-
2015-
<p>A <a>reification</a> of a triple does not entail the triple, and is not entailed by it.
2016-
The <a>reification</a> only says that the triple token exists and what it is about,
2017-
not that it is true, so it does not entail the triple.
2018-
On the other hand, asserting a triple does not automatically imply that any
2019-
triple tokens exist in the universe being described by the triple.
2020-
For example, the triple might be part of an ontology describing
2021-
animals, which could be satisfied by an interpretation in which the
2022-
universe contained only animals, and in which a <a>reification</a> of it was therefore
2023-
false.</p>
2024-
2025-
<p>Since the relation between triples and <a>reification</a>s of triples
2026-
in any RDF graph or graphs need not be one-to-one, asserting a
2027-
property about some entity described by a <a>reification</a> need not
2028-
entail that the same property holds of another such entity, even if
2029-
it has the same components. For example,</p>
2030-
2031-
<p><code>_:xxx rdf:type rdf:Statement .<br/>
2032-
_:xxx rdf:subject ex:subject .<br/>
2033-
_:xxx rdf:predicate ex:predicate .<br/>
2034-
_:xxx rdf:object ex:object .<br/>
2035-
_:yyy rdf:type rdf:Statement .<br/>
2036-
_:yyy rdf:subject ex:subject .<br/>
2037-
_:yyy rdf:predicate ex:predicate .<br/>
2038-
_:yyy rdf:object ex:object .<br/>
2039-
_:xxx ex:property ex:foo .</code></p>
2040-
2041-
<p>does not entail</p>
2042-
2043-
<p><code>_:yyy ex:property ex:foo .</code></p>
2044-
2045-
</section>
2046-
2047-
<section id="containers">
2048-
<h4>RDF containers</h4>
2049-
2050-
<table>
2051-
<tbody>
2052-
<tr>
2053-
<td class="othertable"><strong>RDF(S) Container Vocabulary</strong></td>
2054-
</tr>
2055-
<tr>
2056-
<td class="othertable"><code>rdf:Seq rdf:Bag rdf:Alt rdf:_1 rdf:_2
2057-
... rdfs:member rdfs:Container rdfs:ContainerMembershipProperty</code></td>
2058-
</tr>
2059-
</tbody>
2060-
</table>
2061-
2062-
<p>RDF provides vocabularies for describing three classes of
2063-
containers. Containers have a type, and their members can
2064-
be enumerated by using a fixed set of <em>container membership
2065-
properties</em>. These properties are indexed by integers to
2066-
provide a way to distinguish the members from each other, but these
2067-
indices should not necessarily be thought of as defining an
2068-
ordering of the container itself; some containers are considered to be unordered.</p>
2069-
2070-
<p>The <a>RDFS vocabulary</a> adds a generic membership
2071-
property which holds regardless of position, and classes containing
2072-
all the containers and all the membership properties.</p>
2073-
2074-
<p>One should understand this vocabulary as <em>describing</em>
2075-
containers, rather than as a tool for constructing them, as
2076-
would typically be supplied by a programming language. The actual containers are entities in the semantic universe,
2077-
and RDF graphs which use the vocabulary simply provide very basic
2078-
information about these entities, enabling an RDF graph to
2079-
characterize the container type and give partial information about
2080-
the members of a container. Since the RDF container vocabulary is
2081-
so limited, many natural assumptions concerning RDF containers
2082-
cannot be formally sanctioned by the RDF formal semantics. This should not be taken as
2083-
meaning that these assumptions are false, but only that RDF does
2084-
not formally entail that they must be true.</p>
2085-
2086-
<p>There are no special semantic conditions on the container
2087-
vocabulary: the only structure which RDF presumes its containers
2088-
to have is what can be inferred from the use of this vocabulary and
2089-
the general RDF semantic conditions. This amounts to knowing the type of a container, and having a partial
2090-
enumeration
2091-
of the items in the container. The intended mode of use is that things
2092-
of type <code>rdf:Bag</code>
2093-
are considered to be unordered but to allow duplicates; things of
2094-
type <code>rdf:Seq</code> are considered to be ordered, and things
2095-
of type <code>rdf:Alt</code> are considered to represent a
2096-
collection of alternatives, possibly with a preference ordering.
2097-
If the container is of an ordered type, then the ordering of items in the container is intended to be
2098-
indicated by the numerical ordering of the container membership
2099-
properties, which are assumed to be single-valued.
2100-
However, these informal conditions are not reflected in any formal RDF
2101-
entailments.</p>
2102-
2103-
2104-
<p>The RDF semantics does not support any entailments which could arise from enumerating
2105-
the elements of an unordered <code>rdf:Bag</code> in a different order. For example,</p>
2106-
2107-
<p><code>_:xxx rdf:type rdf:Bag .<br/>
2108-
_:xxx rdf:_1 ex:a .<br/>
2109-
_:xxx rdf:_2 ex:b .</code></p>
2110-
2111-
<p>does not entail</p>
2112-
2113-
<p><code>_:xxx rdf:_1 ex:b .<br/>
2114-
_:xxx rdf:_2 ex:a .</code></p>
2115-
2116-
<p>(If this conclusion were <a>valid</a>, then the result of
2117-
adding it to the original graph would be <a>entail</a>ed by the graph, and this would assert that both elements were in both
2118-
positions. This is a consequence of the fact that RDF is a purely
2119-
assertional language.)</p>
2120-
2121-
<p>There is no assumption that a property of a container applies to
2122-
any of the elements of the container, or vice versa. </p>
2123-
2124-
<p>There is no formal requirement that
2125-
the three container classes are disjoint, so that for example
2126-
it is consistent to assert that something is both an <code>rdf:Bag</code> and an <code>rdf:Seq</code>.
2127-
There is no assumption that containers are gap-free, so that for example</p>
2128-
2129-
<p><code>_:xxx rdf:type rdf:Seq.<br/>
2130-
_:xxx rdf:_1 ex:a .<br/>
2131-
_:xxx rdf:_3 ex:c .</code></p>
2132-
2133-
<p>does not entail</p>
2134-
2135-
<p><code>_:xxx rdf:_2 _:yyy .</code></p>
2136-
2137-
<p>There is no way in RDF to assert
2138-
that a container contains only a fixed number of members. This is a
2139-
reflection of the fact that it is always consistent to add a triple
2140-
to a graph asserting a membership property of any container. And
2141-
finally, there is no built-in assumption that an RDF container has
2142-
only finitely many members.</p>
2143-
</section>
2144-
2145-
<section id="collections">
2146-
<span id="rdf-collections"><!-- Alternative identifier --></span>
2147-
<h4>RDF collections</h4>
2148-
2149-
<table>
2150-
<tbody>
2151-
<tr>
2152-
<td class="othertable"><strong>RDF Collection Vocabulary</strong></td>
2153-
</tr>
2154-
<tr>
2155-
<td class="othertable"><code>rdf:List rdf:first rdf:rest rdf:nil</code></td>
2156-
</tr>
2157-
</tbody>
2158-
</table>
2159-
2160-
<p>RDF provides a vocabulary for describing collections, i.e.'list
2161-
structures', in terms of head-tail links. Collections differ from
2162-
containers in allowing branching structure and in having an
2163-
explicit terminator, allowing applications to determine the exact
2164-
set of items in the collection.</p>
2165-
2166-
2167-
<p>As with containers, no special semantic conditions are imposed on this vocabulary
2168-
other than the type of <code>rdf:nil</code> being <code>rdf:List</code>. It
2169-
is intended for use typically in a context where a container is described using
2170-
blank nodes to connect a 'well-formed' sequence of items, each described by
2171-
two triples of the form
2172-
<code><br/>
2173-
<br/>
2174-
_:c1 rdf:first aaa .<br/>
2175-
_:c1 rdf:rest _:c2 .</code></p>
2176-
2177-
<p>where the final item is indicated by the use of <code>rdf:nil</code> as the
2178-
value of the property <code>rdf:rest</code>. In a familiar convention, <code>rdf:nil</code>
2179-
can be thought of as the empty collection. Any such graph amounts to an assertion
2180-
that the collection exists, and since the members of the collection can be determined
2181-
by inspection, this is often sufficient to enable applications to determine
2182-
what is meant. The semantics does not require any collections
2183-
to exist other than those mentioned explicitly in a graph (and the empty collection).
2184-
For example, the existence of a collection containing two items does not automatically
2185-
guarantee that the similar collection with the items permuted also exists:
2186-
<code>
2187-
<br/><br/>
2188-
_:c1 rdf:first ex:aaa .<br/>
2189-
_:c1 rdf:rest _:c2 .<br/>
2190-
_:c2 rdf:first ex:bbb .<br/>
2191-
_:c2 rdf:rest rdf:nil . </code></p>
2192-
2193-
<p>does not entail</p>
2194-
2195-
<p><code>_:c3 rdf:first ex:bbb .<br/>
2196-
_:c3 rdf:rest _:c4 .<br/>
2197-
<span >_:c4 rdf:first</span> ex:aaa .<br/>
2198-
_:c4 rdf:rest rdf:nil .
2199-
</code></p>
2200-
2201-
<p>Also, RDF imposes no 'well-formedness' conditions on the use of this
2202-
vocabulary, so that it is possible to write RDF graphs which assert
2203-
the existence of highly peculiar objects such as lists with forked
2204-
or non-list tails, or multiple heads:</p>
2205-
2206-
<p><code>_:666 rdf:first ex:aaa .<br/>
2207-
_:666 rdf:first ex:bbb .<br/>
2208-
_:666 rdf:rest ex:ccc .<br/>
2209-
_:666 rdf:rest rdf:nil . </code></p>
2210-
2211-
<p>It is also possible to write a set of triples which under-specify a collection
2212-
by failing to specify its <code>rdf:rest</code> property value.</p>
2213-
2214-
<p><a>Semantic extension</a>s may
2215-
place extra syntactic well-formedness restrictions on the use of this vocabulary
2216-
in order to rule out such graphs. They may
2217-
exclude interpretations of the collection vocabulary which violate the convention
2218-
that the subject of a 'linked' collection of two-triple items of the form described
2219-
above, ending with an item ending with <code>rdf:nil</code>, <a>denotes</a> a totally
2220-
ordered sequence whose members are the referents of the <code>rdf:first</code>
2221-
values of the items, in the order got by tracing the <code>rdf:rest</code> properties
2222-
from the subject to <code>rdf:nil</code>. This permits sequences which contain
2223-
other sequences.</p>
2224-
2225-
<p> The RDFS semantic conditions require that any
2226-
subject of the <code>rdf:first</code> property, and any subject or object of
2227-
the <code>rdf:rest</code> property, be of <code>rdf:type rdf:List</code>. </p>
2228-
</section>
2229-
2230-
</section>
2231-
22321949
<section id="privacy" class="informative appendix">
22331950
<h2>Privacy Considerations</h2>
22341951
<p>
@@ -2360,6 +2077,12 @@ <h2>Substantive changes since RDF 1.1</h2>
23602077
It is recommended that <code>rdf:PlainLiteral</code> not be used in RDF.
23612078
</li>
23622079

2080+
<li> <span id="whatnot"></span> <span id="non_semantics"></span> <span id="Reif"></span> <span id="containers"></span> <span id="collections"></span> <span id="rdf-collections"></span>
2081+
The appendix on RDF reification, containers, and collections has been removed because it had no semantic content.
2082+
The vocabulary involved is still described in
2083+
<a href="https://www.w3.org/TR/rdf12-schema/#ch_othervocab">the Other Vocabulary section of RDF Schema</a>.
2084+
</li>
2085+
23632086
</ul>
23642087

23652088

0 commit comments

Comments
 (0)