Skip to content
48 changes: 35 additions & 13 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -820,20 +820,42 @@ <h3><code>rdf:nil</code></h3>

<section id="ch_ttrei">
<h2>Triple-term based reification</h2>
<p>A triple term is a construct defined in the RDF 1.2 Concepts and Abstract
Syntax specification [[RDF12-CONCEPTS]], referring to an RDF triple that
is used as a value, specifically, in the object position of another triple.
Importantly, a triple term does not imply assertion; that is, the triple it
denotes is not necessarily asserted in the RDF graph. This enables the
representation of metadata or commentary about triples that may or may not
be part of the asserted graph content, including potentially contradictory
relationships. For a triple term to be considered an asserted triple, it
must also appear explicitly in an RDF graph as a top-level triple. Otherwise,
it remains unasserted and serves primarily as a reference or subject of metadata.</p>
<p>A triple term can be the object of a triple whose predicate is
<p>
A triple term is a construct defined in [[RDF12-CONCEPTS]], referring to an RDF triple that is used
as a value, specifically in the object position of another triple. This use represents a reference to a proposition,
and, importantly, a triple term does not by itself imply assertion; that is, the proposition it denotes
is not necessarily a fact asserted by the RDF graph. This is only the case if that triple is also
asserted in the RDF graph—that is, if it is a direct element of that set of triples.
Otherwise, it remains unasserted and serves primarily as a reference or as the subject of metadata.
This enables the representation of metadata or commentary about triples that may or may not be part
of the asserted graph content, including potentially contradictory relationships.
</p>

<p>
RDF terms that appear in a triple term have the same denotation as when they appear in an asserted
triple in the graph. For this reason, triple terms are said to be <em>transparent</em>.
</p>

<p>
A triple term can be the object of a triple whose predicate is
<a href="#ch_reifies"><code>rdf:reifies</code></a>. In such cases, the resulting triple is referred
to as a reifying triple, and its subject is termed a reifier. The reifier
can be used to make further statements about the triple term.</p>
to as a <em>reifying triple</em>, and its subject is termed a <em>reifier</em>.
When the triple term of a reifying triple also appears in the same graph as an asserted triple,
the subset of triples that share the same
reifier as subject is called a <em>triple annotation</em>.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does a triple annotation only annotate an asserted triple? That doesn't match my understanding... that an annotation can apply to a triple term whether or not that triple term is also asserted.

What happens, for instance, if the asserted triple is dropped, but the reifying triple — and the triples that share the same reifier as subject — are retained?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TallTed How about this:

The subset of triples that share the same reifier as subject is called a triple annotation, regardless of whether the triple term of the reifying triple also appears in the same graph as an asserted triple. When it does, the triple annotation qualifies that asserted triple; when it does not, it qualifies the unasserted proposition denoted by the triple term.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does a triple annotation only annotate an asserted triple?

We have been using "annotate", {| |} shorthand syntax in Turtle, when the triple is also asserted.

What happens, for instance, if the asserted triple is dropped, but the reifying triple — and the triples that share the same reifier as subject — are retained?

Dropping the asserted triple does not affect other triples.
The "annotated triple" terminology no longer applies.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A triple annotation is defined as being on an asserted triple.

In Concepts, triple annotation is defined as:

When the triple term of a reifying triple also appears in the same graph as an asserted triple, the subset of triples that share the same reifier as subject is called a triple annotation.

This notion is syntactic, and defines the abstract syntax version of what in Turtle is expressed as:

:Alice :name "Alice" {| :accordingTo :Bob |} .

In a different graph, where the triple annotated above is not asserted, we only have a reifying triple, here with the reifier also described:

<< :Alice :name "Alice" >> :accordingTo :Bob .

That is not an annotation. It is crucial in this context to keep the notions "description about" and "annotation on" distinctly different.

(We (myself included) also need to be careful about the use of "qualification", to avoid implying anything pertaining to truth value in the interpretation. Annotations make a reifying connection to a relation that simply holds from a qualifying circumstance (and this connection also simply holds, as any binary relation does or does not in RDF). But the latter does not affect whether it holds, which is the truth value of the asserted triple (under RDF interpretation). It being asserted (a triple in the graph) means that the binary relation of the proposition it denotes unequivocally holds in the interpretation.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small tweaks. Maybe this satisfies @niklasl, @domel, and @afs?

The subset of triples that have the same reifier as their subject is called a triple annotation, regardless of whether the triple term of the reifying triple also appears in the same graph as an asserted triple. When it does, the triple annotation describes that asserted proposition denoted by the triple; when it does not, the triple annotation describes the unasserted proposition denoted by the triple term.

</p>

<p>
Triple terms always denote abstract, logical propositions, while reifiers may denote a variety of
things related to these propositions (such as a statement or belief that the proposition holds, or
an event or circumstance that makes the proposition true). It is therefore expected that triple
terms are commonly used as objects of reifying triples, and that reifiers (rather than the triple
terms) are used in further descriptions. Because of the diversity of use cases that reifiers aim to
serve, the meaning of the <code>rdf:reifies</code> property is deliberately generic. Multiple,
distinct reifiers may exist for the same proposition (e.g., from different sources or contexts), and,
conversely, one reifier may be used for several propositions.
</p>

<section id="ch_proposition">
<h3><code>rdfs:Proposition</code></h3>
<p><code>rdfs:Proposition</code> is the class of reified triples.
Expand Down
Loading