Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal to adapt the abstract syntax to option 3 #78

Merged
merged 8 commits into from
Mar 7, 2024
99 changes: 56 additions & 43 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@
are comprised of a default graph and zero or more named graphs.</li>
</ul>

<p>RDF 1.2 introduces <a>quoted triples</a> as another kind of <a>RDF term</a>
which can be used as the <a>subject</a> or <a>object</a> of another <a>triple</a>.
<p>RDF 1.2 introduces <a>triple terms</a> as another kind of <a>RDF term</a>
which can be used as the <a>object</a> of another <a>triple</a>.
RDF 1.2 also introduces <a>directional language-tagged strings</a>,
which contain a <a>base direction</a> element that allows the
initial text direction to be specified for presentation by a user agent.</p>
Expand Down Expand Up @@ -130,7 +130,7 @@ <h3>Graph-based Data Model</h3>

<p>There can be four kinds of <a>nodes</a> in an
<a>RDF graph</a>: <a>IRIs</a>, <a>literals</a>,
<a>blank nodes</a>, and <a>quoted triples</a>.</p>
<a>blank nodes</a>, and <a>triple terms</a>.</p>

</section>

Expand Down Expand Up @@ -175,7 +175,11 @@ <h3>Resources and Statements</h3>
<section id="section-quoted-triples">
<h3>Quoted Triples</h3>

<p>A <a>quoted triple</a> is an <a>RDF term</a> with the components of
<p class="issue" data-number="81">
As the WG has moved away from the notion of quoted triples, this section needs to be changed such that it does not mention quoted triples anymore but, instead, describes whatever new concept the WG settles on (e.g., <a>triple terms</a>).
</p>

<p>A <dfn>quoted triple</dfn> is an <a>RDF term</a> with the components of
an <a>RDF triple</a>, which can be used as the <a>subject</a> or <a>object</a>
of another triple.</p>

Expand Down Expand Up @@ -492,12 +496,12 @@ <h2>RDF Documents and Syntaxes</h2>
<ul>
<li><dfn class="no-export lint-ignore">Full</dfn> conformance
supports <a data-lt="RDF graph">graphs</a> and <a data-lt="RDF dataset">datasets</a>
containing <a>quoted triples</a>.
with <a>triples</a> that contain <a>triple terms</a>.
Concrete syntaxes in which such graphs and datasets can be expressed include
[[RDF12-N-TRIPLES]], [[RDF12-N-QUADS]], [[RDF12-TURTLE]], and [[RDF12-TRIG]].</li>
<li><dfn class="no-export lint-ignore">Classic</dfn> conformance
only supports <a data-lt="RDF graph">graphs</a> or <a data-lt="RDF dataset">datasets</a>,
that do not contain <a>quoted triples</a>.</li>
only supports <a data-lt="RDF graph">graphs</a> or <a data-lt="RDF dataset">datasets</a>
with <a>triples</a> that do not contain <a>triple terms</a>.</li>
</ul>
<p class="ednote">The conformance levels described above are tentative,
and still the subject of group discussion. An alternative to conformance
Expand Down Expand Up @@ -535,75 +539,77 @@ <h2>RDF Graphs</h2>

<p>An <dfn>RDF graph</dfn> is a set of <a>RDF triples</a>.</p>

<p class=issue>
Do we still need to define <dfn>asserted triple</dfn>?.
</p>

<section id="section-triples">
<h3>Triples</h3>

<p>An <dfn data-local-lt="triple">RDF triple</dfn> is a 3-tuple that is defined recursively as follows:</p>
<p>An <dfn data-local-lt="triple">RDF triple</dfn> (usually called "triple")
is a 3-tuple (|s|, |p|, |o|) where:</p>

<ul>
<li>|s| is an <a>IRI</a> or a <a>blank node</a>,</li>
pfps marked this conversation as resolved.
Show resolved Hide resolved
<li>|p| is an <a>IRI</a>, and</li>
<li>|o| is an <a>IRI</a>, a <a>blank node</a>, a <a>literal</a>,
or a <a>triple term</a>.</li>
gkellogg marked this conversation as resolved.
Show resolved Hide resolved
</ul>

<p>A <dfn>triple term</dfn> is a 3-tuple that is defined recursively as follows:</p>

<ul>
<li>
If |s| is an <a>IRI</a> or a <a>blank node</a>,
|p| is an <a>IRI</a>, and
|o| is an <a>IRI</a>, a <a>blank node</a>, or a <a>literal</a>,
then (|s|, |p|, |o|) is an RDF triple.
then (|s|, |p|, |o|) is a triple term.
gkellogg marked this conversation as resolved.
Show resolved Hide resolved
</li>

<li>
If |t| and <var>t'</var> are <a>RDF triples</a>,
|s| is an <a>IRI</a> or a <a>blank node</a>,
If |s| is an <a>IRI</a> or a <a>blank node</a>,
|p| is an <a>IRI</a>, and
|o| is an <a>IRI</a>, a <a>blank node</a>, or a <a>literal</a>,
then (|t|, |p|, |o|), (|s|, |p|, |t|), and (|t|, |p|, <var>t'</var>) are RDF triples.
|o| is a <a>triple term</a>,
then (|s|, |p|, |o|) is a triple term.
gkellogg marked this conversation as resolved.
Show resolved Hide resolved
</li>
</ul>

<p>"RDF triple" is usually written "<a>triple</a>".<p>

<p>Given a <a>triple</a> (|s|, |p|, |o|),
|s| is called the <dfn>subject</dfn> of the triple,
|p| is called the <dfn>predicate</dfn> of the triple, and
|o| is called the <dfn>object</dfn> of the triple.</p>

<p>When an <a>RDF triple</a> is used as the <a>subject</a> or <a>object</a> of a triple, this occurrence of
the triple is called a <dfn data-local-lt="quoted">quoted triple</dfn>.</p>

<p class="note">By the given definitions,
the <a>subject</a> of an <a>RDF triple</a> may be either an <a>IRI</a>,
a <a>blank node</a>, or a <a>quoted triple</a>;
the <a>predicate</a> of an <a>RDF triple</a> may only be an <a>IRI</a>;
the <a>object</a> of an <a>RDF triple</a> may be either an <a>IRI</a>,
a <a>blank node</a>, a <a>literal</a> or a <a>quoted triple</a>.</p>

<p class="note">The definition of <a>quoted triple</a> is recursive.
That is, a <a>quoted triple</a> can itself have a
<a>subject</a> or <a>object</a> component which is another <a>quoted triple</a>.
However, by this definition, cycles of <a>quoted triples</a> cannot be created.</p>
|o| is called the <dfn>object</dfn> of the triple.
Similarly, given a <a>triple term</a> (|s|, |p|, |o|),
|s| is called the <em>subject</em> of the triple term,
|p| is called the <em>predicate</em> of the triple term, and
|o| is called the <em>object</em> of the triple term.</p>

<p class="note">While, syntactically, the notion of an <a>RDF triple</a>
and the notion of a <a>triple term</a> are the same, they represent
different concepts. RDF triples are the members of <a>RDF graphs</a>,
whereas triple terms can be used as components of RDF triples.</p>

<p class="note">The definition of <a>triple term</a> is recursive.
That is, a <a>triple term</a> can itself have an
<a>object</a> component which is another <a>triple term</a>.
However, by this definition, cycles of <a>triple terms</a> cannot be created.</p>

<p><a>IRIs</a>, <a>literals</a>,
<a>blank nodes</a>, and <a>quoted triples</a> are collectively known as
<a>blank nodes</a>, and <a>triple terms</a> are collectively known as
<span id="dfn-rdf-terms"><!-- obsolete term--></span><dfn data-lt="rdf term">RDF terms</dfn>.</p>

<p><a>IRIs</a>, <a>literals</a>,
<a>blank nodes</a>, and <a>quoted triples</a> are distinct and distinguishable.
<a>blank nodes</a>, and <a>triple terms</a> are distinct and distinguishable.
For example, a literal with the string <code>http://example.org/</code> as
its <a>lexical form</a>
is not equal to the IRI <code>http://example.org/</code>,
nor to a blank node with the <a>blank node identifier</a>
<code>http://example.org/</code>.</p>

<p>The set of <span id="dfn-nodes"><!-- obsolete term--></span><dfn data-lt="node">nodes</dfn> of an <a>RDF graph</a>
is the set of <a>subjects</a> and <a>objects</a> of <a>triples</a> in the graph.
is the set of <a>subjects</a> and <a>objects</a> of the <a>triples</a> in the graph.
It is possible for a predicate IRI to also occur as a node in
the same graph.</p>

<p>An <dfn data-local-lt="asserted">asserted triple</dfn>
is an <a>RDF triple</a> that is an element of an <a>RDF graph</a>.</p>

<p class="note">In an <a>RDF graph</a>,
a <a>triple</a> may occur as either a <a>quoted triple</a>, an
<a>asserted triple</a>, or both.</p>
gkellogg marked this conversation as resolved.
Show resolved Hide resolved
</section>

<section id="section-IRIs">
<h3>IRIs</h3>

Expand Down Expand Up @@ -1792,7 +1798,14 @@ <h2>Changes between RDF 1.1 and RDF 1.2</h2>
<li>Added <a href="#section-dataset-quad" class="sectionRef"></a>
for informative definition of a <a>quad</a>.</li>
<li>Added <a href="#section-quoted-triples" class="sectionRef"></a>
and definitions for <a>quoted triple</a> and <a>asserted triple</a>.</li>
<s>and definitions for <a>quoted triple</a> and <a>asserted triple</a></s>.

<div class="issue" data-number="81">
The notion of quoted triples is deprecated and will be removed again from this document. Currently, Section <a href="#section-quoted-triples" class="sectionRef"></a> still describes this notion. Once this section is changed to describe whatever new concept the WG settles on (currently, this may be <a>triple terms</a>---see the next bullet point), the previous bullet point can be removed and the addition of the then-rewritten section can be mentioned in the next bullet point.
</div>

<li>Added the notion of a <a>triple term</a> and extended the definition of
<a>RDF triple</a> to permit triple terms as objects.</li>
<li>Added the <a>base direction</a> element as part of
a <a>literal</a>,
and a description of its use in <a href="#section-text-direction" class="sectionRef"></a>.</li>
Expand Down
Loading