Skip to content

Commit 4174d9d

Browse files
authored
remove informative appendix on reification, etc. (#100)
1 parent cb8fa28 commit 4174d9d

File tree

1 file changed

+0
-283
lines changed

1 file changed

+0
-283
lines changed

spec/index.html

Lines changed: 0 additions & 283 deletions
Original file line numberDiff line numberDiff line change
@@ -1879,289 +1879,6 @@ <h2>Proofs of some results (Informative)</h2>
18791879

18801880
</section>
18811881

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

0 commit comments

Comments
 (0)