Skip to content

Adds quoted triples and asserted triples from RDF-star CG report #32

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

Merged
merged 4 commits into from
Apr 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
175 changes: 148 additions & 27 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,24 @@
<script src="./common/fixup.js" class="remove"></script>
<script class='remove'>
var respecConfig = {
localBiblio: localBibliography,
localBiblio: {...localBibliography,
/// Hacktemporary bib entry for RDF-star CG report
...{
"RDF-STAR-CG": {
title: "RDF-star and SPARQL-star",
href: "https://w3c.github.io/rdf-star/cg-spec/2021-12-17.html",
authors: [
"Olaf Hartig",
"Pierre-Antoine Champin",
"Gregg Kellogg",
"Andy Seaborne"
],
rawDate: "2021-12-17",
status: "Final Community Group Report",
publisher: "W3C"
}
}
},
specStatus: "ED",
edDraftURI: "https://w3c.github.io/rdf-concepts/spec/",
shortName: "rdf12-concepts",
Expand Down Expand Up @@ -65,8 +82,11 @@
are comprised of a default graph and zero or more named graphs.</li>
</ul>

<p>RDF 1.2 Concepts also introduces key concepts and terminology, and discusses
datatyping and the handling of <a>fragment identifiers</a> in IRIs within
<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>

<p>RDF 1.2 Concepts introduces key concepts and terminology for RDF 1.2, discusses
datatyping, and the handling of <a>fragment identifiers</a> in IRIs within
RDF graphs.</p>
</section>

Expand Down Expand Up @@ -115,19 +135,17 @@ <h3>Graph-based Data Model</h3>
directed-arc diagram, in which each triple is represented as a
node-arc-node link.</p>

<figure>
<figure id="fig-rdf-graph">
<a href="rdf-graph.svg"><img src="rdf-graph.svg" alt="An RDF graph with two nodes (Subject and Object) and a triple connecting them (Predicate)" /></a>
<figcaption>An RDF graph with two nodes (Subject and Object) and a triple connecting them (Predicate)</figcaption>
</figure>

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

<p class="ednote">Four kinds of nodes now, including quoted triples.</p>
</section>


<section id="resources-and-statements">
<h3>Resources and Statements</h3>

Expand Down Expand Up @@ -165,6 +183,58 @@ <h3>Resources and Statements</h3>
exists, without explicitly naming it.</p>
</section>

<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
an <a>RDF triple</a>, which can be used as the <a>subject</a> or <a>object</a>
of another triple.</p>

<p>A <a>quoted triple</a> is not necessarily asserted, allowing
statements to be made about other statements that may not be
asserted within an <a>RDF graph</a>.
This allows statements to be made about relationships that may be contradictory.
For a <a>quoted triple</a> to be asserted,
it must also appear in a graph as an <a>asserted triple</a>.</p>

<p>The following diagram represents a statement with an unasserted <a>quoted triple</a>
as the subject.</p>

<figure id="fig-quoted-triple">
<a href="quoted-triple.svg">
Copy link
Contributor

Choose a reason for hiding this comment

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

(There is an access problem seeing this diagram in the preview.)

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, a shortcoming of PR Preview. But, you can either see it in the file view, or using the Google drawing referenced in the comment: https://docs.google.com/drawings/d/1I_QxbUgnQXumXzb8c0WNJHIQ-mtRs2S80dDG6i9aOD8.

<!-- Source for this file is at https://docs.google.com/drawings/d/1I_QxbUgnQXumXzb8c0WNJHIQ-mtRs2S80dDG6i9aOD8 -->
<img src="quoted-triple.svg"
alt="An RDF graph containing a triple that references an unasserted quoted triple (with grey background) as the subject"
style="width:70%"
aria-describedby="fig-quoted-triple-alt"/>
</a>
<figcaption id="fig-quoted-triple-alt">
An RDF graph containing a triple that references an unasserted quoted triple (with grey background) as the subject.
</figcaption>
</figure>

<p>A variation on the graph shown in <a href="#fig-quoted-triple"></a> can be described where the <a>quoted triple</a> is also <a data-lt="asserted triple">asserted</a>.</p>

<figure id="fig-quoted-asserted-triple">
<a href="quoted-asserted-triple.svg">
<!-- Source for this file is at https://docs.google.com/drawings/d/1aoUEsb07P-nu5rvPRob7O07CRKgnf7tBw2CmRJNuaQ0 -->
<img src="quoted-asserted-triple.svg"
alt="An RDF graph containing two triples where one of them contains the other as the subject; hence, that other triple is both quoted and asserted"
style="width:70%"
aria-describedby="fig-quoted-asserted-triple-alt"/>
</a>
<figcaption id="fig-quoted-asserted-triple-alt">
An RDF graph containing two triples where one of them contains the other as the subject; hence, that other triple is both quoted and asserted.
</figcaption>
</figure>

<p>Note that a <a>quoted triple</a> may also have a quoted triple as its subject or object.</p>

<p class="issue" data-number="34">
This issue considers the potential for additional terminology related to <a>quoted triples</a>.
</p>
</section>

<section id="referents">
<h3>The Referent of an IRI</h3>

Expand Down Expand Up @@ -425,48 +495,97 @@ <h2>RDF Documents and Syntaxes</h2>
<em>RDF 1.2 Concepts and Abstract Syntax</em>,
but can conform to such other specifications that normatively
reference terms defined here.</p>

<p>This specification establishes two conformance levels:</p>
Copy link
Contributor

Choose a reason for hiding this comment

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

The WG has not agreed that nor the words used. It's WIP.

"Profiles" has also been mentioned.

Also - "This specification" would be the semantics.

At a minimum this text needs a note that it is tentative.
As concepts does not need this language, and the dfn's are unstable, removing it for now would be better.

Copy link
Member Author

Choose a reason for hiding this comment

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

See note added below. My opinion is that if it relates to the data model/abstract syntax, it should be described in Concepts rather than Semantics. I suggested elsewhere that the text could just be removed from this PR and taken up another time. But, the notion that there may be some variation allowed or supported is probably worth signaling sooner rather than later.


<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>.
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>
</ul>
<p class="ednote">The conformance levels described above are tentative,
and still the subject of group discussion. An alternative to conformance
levels, "profiles", may be adopted instead, abandoned, or described in
another specification.</p>
</section>


<section id="section-rdf-graph">
<h2>RDF Graphs</h2>

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

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

<p>An <dfn data-local-lt="triple">RDF triple</dfn> consists of three components:</p>
<p>An <dfn data-local-lt="triple">RDF triple</dfn> is a 3-tuple that is defined recursively as follows:</p>

<ul>
<li>the <dfn>subject</dfn>, which is an
<a>IRI</a> or a <a>blank node</a></li>

<li>the <dfn>predicate</dfn>, which is an <a>IRI</a></li>
<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.
</li>

<li>the <dfn>object</dfn>, which is an <a>IRI</a>,
a <a>literal</a> or a <a>blank node</a></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>,
|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.
</li>
</ul>

<p>An RDF triple is conventionally written in the order subject,
predicate, object.</p>
<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>A <dfn data-local-lt="quoted">quoted triple</dfn> is an <a>RDF triple</a> that is
used as the <a>subject</a> or <a>object</a> of another triple.</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>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 subjects and objects of triples in the graph.
is the set of <a>subjects</a> and <a>objects</a> of <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><a>IRIs</a>, <a>literals</a> and
<a>blank nodes</a> are collectively known as
<p><a>IRIs</a>, <a>literals</a>,
<a>blank nodes</a>, and <a>quoted triples</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>
and <a>blank nodes</a> are distinct and distinguishable.
<p><a>IRIs</a>, <a>literals</a>,
<a>blank nodes</a>, and <a>quoted triples</a> are distinct and distinguishable.
For example, <code>http://example.org/</code> as a string literal
is neither equal to <code>http://example.org/</code> as an IRI,
nor to a blank node with the <a>blank node identifier</a>
is equal to neither <code>http://example.org/</code> as an IRI,
nor a blank node with the <a>blank node identifier</a>
<code>http://example.org/</code>.</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">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>

<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>
</section>

<section id="section-IRIs">
Expand Down Expand Up @@ -1348,7 +1467,7 @@ <h2>Internationalization Considerations</h2>
<p>RDF is restricted to representing string values with left-to-right or right-to-left direction indicators.
RDF provides a mechanism for specifying the language associated with
a string (<a>language-tagged string</a>),
but does not provide a means of indicating the base direction of the string.</p>
but does not provide a means of indicating the base direction of the string.</p>

<p>Unicode provides a mechanism for signaling direction within a string
(see [[[UAX9]]] [[UAX9]]),
Expand Down Expand Up @@ -1496,6 +1615,8 @@ <h2>Changes between RDF 1.1 and RDF 1.2</h2>
<ul>
<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>
</ul>

<p class="note">A detailed overview of the differences between RDF versions&nbsp;1.0
Expand Down
Loading