Skip to content
Merged
111 changes: 104 additions & 7 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -149,14 +149,47 @@ <h3>Graph-based Abstract Data Model</h3>
<object data="rdf-graph.svg"
aria-label="An RDF graph with two nodes (Subject and Object) and an arc (Predicate) connecting them"></object>
</a>
<figcaption>An RDF graph with two nodes (Subject and Object) and an arc (Predicate) connecting them</figcaption>
<figcaption>An RDF graph with two nodes (Subject and Object) and an arc (Predicate) connecting them.</figcaption>
</figure>

<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>triple terms</a>.</p>
<!--
<p class="issue" data-number="129">There is a mixture of "Abstract Syntax" and "Data Model". We should have a consistent way to say "Abstract Syntax" vs "Data Model". One way is to use "Abstract Syntax" as the basis of semantics and usually say "Data Model" in Concepts otherwise.</p> -->

<p>From this definition, it follows that when one term appears in multiple
triples, these are simply multiple occurrences of that same term. For
example, in a graph containing two triples (here expressed in common
<a href="https://en.wikipedia.org/wiki/Set_(mathematics)">set</a> and
<a href="https://en.wikipedia.org/wiki/Tuple">tuple</a> notation, and
using abstract names as distinct terms):</p>
<pre class="box">
{ (R1, P1, R3),
(R2, P2, R3) }
</pre>
<p>the term R3 is the same single term used twice, and there are five terms
in total. This is more readily shown in two-dimensional graph diagrams,
where one single node can simply be connected from or to multiple other
nodes using labelled arcs.</p>
<figure id="fig-rdf-graph-arcs">
<a href="rdf-graph-arcs.svg">
<object data="rdf-graph-arcs.svg"
aria-label="An RDF graph with thee nodes (R1, R2, and R3) and two arcs (P1 and P2) connecting R1 and R2 to R3"></object>
</a>
<figcaption>An RDF graph with thee nodes (R1, R2, and R3) and two arcs (P1 and P2) connecting R1 and R2 to R3.</figcaption>
</figure>

<p>This abstract data model can be encoded in different ways while
preserving the same stucture, as described in [[[#rdf-documents]]].</p>

<aside class="note">
The graph structure of the abstract data model is not a conceptual model.
It is a symbolic, structural basis for such modelling, enabling
definition and use of <a data-lt="vocabularies">RDF vocabularies</a>, and
semantic
<dfn data-cite="RDF12-SEMANTICS#dfn-interpretation">interpretation</dfn>
[[RDF12-SEMANTICS]].
Practical examples are given in the [[[RDF12-PRIMER]]] [[RDF12-PRIMER]].
</aside>
</section>

<section id="resources-and-statements">
Expand Down Expand Up @@ -255,7 +288,7 @@ <h3>The Referent of an IRI</h3>
unique identifiers in a graph data model that describes resources.
However, those interactions are critical to the concept of
[[[LINKED-DATA]]], [[LINKED-DATA]],
which uses the RDF abstract syntax and serialization formats.</p>
which uses the RDF <a>abstract syntax</a> and serialization formats.</p>
</section>

<section id="vocabularies">
Expand Down Expand Up @@ -536,6 +569,70 @@ <h3>RDF Documents and Syntaxes</h3>
and different ordering of triples. While these aspects can have great
effect on the convenience of working with the <a>RDF document</a>,
they are not significant for its meaning.</p>

<p>The basis for <a>concrete RDF syntaxes</a> is the structure of the
<a href="#data-model">abstract data model</a>,
called the <dfn>abstract syntax</dfn>;
summarized in the following two tables.</p>
<table id="tab-graph-abstract-syntax" class="simple">
<caption>The abstract syntax of <a>RDF graphs</a></caption>
<tr>
<th>Production</th>
<th>Defined as</th>
</tr>
<tr>
<td>RDF graph</td>
<td>a <i>set</i> of <i>zero or more</i> <a>triples</a></td>
</tr>
<tr>
<td>triple</td>
<td>a <i>3-tuple</i> of
a <a>subject</a>, a <a>predicate</a>, <i>and</i> an <a>object</a></td>
</tr>
<tr>
<td>subject</td>
<td><i>either</i> an <a>IRI</a>
<i>or</i> a <a>Blank node</a></td>
</tr>
<tr>
<td>predicate</td>
<td>an <a>IRI</a></td>
</tr>
<tr>
<td>object</td>
<td><i>either</i> an <a>IRI</a>
<i>or</i> a <a>Blank node</a>
<i>or</i> a <a>Literal</a>
<i>or</i> a <a>triple</a></td>
</tr>
</table>
<br>
<table id="tab-dataset-abstract-syntax" class="simple">
<caption>The abstract syntax of <a>RDF datasets</a></caption>
<tr>
<th>Production</th>
<th>Defined as</th>
</tr>
<tr>
<td>RDF dataset</td>
<td>a <i>pair</i> of a <a>default graph</a>
and a <i>set</i> of <i>zero or more</i> <a>named graphs</a></td>
</tr>
<tr>
<td>default graph</td>
<td>an <a>RDF graph</a></td>
</tr>
<tr>
<td>named graph</td>
<td>a <i>pair</i> of
a <a>graph name</a> <i>and</i> an <a>RDF graph</a></td>
</tr>
<tr>
<td>graph name</td>
<td><i>either</i> an <a>IRI</a>
<i>or</i> a <a>Blank node</a></td>
</tr>
</table>
</section>

<section id="section-version-announcement">
Expand Down Expand Up @@ -847,8 +944,8 @@ <h3>IRIs</h3>
is a <a>string</a> that conforms to the syntax
defined in RFC 3987 [[!RFC3987]].</p>

<p>An IRI in the RDF abstract syntax
<!-- this passeage does not discuss abstract syntax. it concerns concrete systax -->
<p>For an IRI in a <a data-lt="concrete RDF syntax">concrete syntax</a> to conform to the
<a>abstract syntax</a>, it
MUST be <a data-cite="RFC3986#section-5">resolved</a> per [[RFC3986]] and
MUST NOT be a <a data-cite="RFC3986#section-4.2">relative reference</a>.
An IRI MAY contain a <a data-cite="RFC3986#section-3.5">fragment identifier</a>.
Expand Down Expand Up @@ -1009,7 +1106,7 @@ <h4>Representation of Literals</h4>
<p>Some concrete syntaxes MAY support
<dfn data-lt="simple literal" class="export">simple literals</dfn> consisting of only a
<a>lexical form</a> without any <a>datatype IRI</a>, <a>language tag</a>, or <a>base direction</a>.
Simple literals are syntactic sugar for abstract syntax
Simple literals are syntactic sugar for <a>abstract syntax</a>
<a>literals</a>
with the <a>datatype IRI</a>
<code>http://www.w3.org/2001/XMLSchema#string</code>
Expand Down
35 changes: 35 additions & 0 deletions spec/rdf-graph-arcs.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion spec/rdf-graph.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading