Skip to content
Draft
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
39 changes: 37 additions & 2 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -421,11 +421,46 @@ <h3>IRIs</h3>
may contain <a>numeric escape sequences</a> (described below).
For example, <code>&lt;http://example.org/#green-goblin&gt;</code>.
</p>
<p id="relative-iri"><a data-cite="RDF12-CONCEPTS#dfn-relative-iri">Relative IRI references</a> like <code>&lt;#green-goblin&gt;</code>
<p id="relative-iri">
<a data-cite="RDF12-CONCEPTS#dfn-relative-iri">Relative IRI references</a> like <code>&lt;#green-goblin&gt;</code>
are resolved relative to the current base IRI.
A new base IRI can be defined using the <code>@base</code> or <a href="#grammar-production-sparqlBase"><code>BASE</code></a>
directive. Specifics of this operation are defined in
<a href="#sec-iri-references" class="sectionRef"></a>.</p>
<a href="#iri-resolution" class="sectionRef">Reference Resolution</a>.
</p>

<section id="iri-resolution">
<h4>Reference Resolution</h4>
<p>
When parsing an IRI written in angle brackets (<code>&ld; &gt;</code>, <code>IRIREF</code>),
processors MUST distinguish between:
</p>
<ul>
<li>
<strong>Absolute IRI references</strong> (i.e., with a scheme per [[RFC3986]]): the IRI MUST be used <em>verbatim</em>
to construct the RDF term. Processors MUST NOT apply reference resolution
(including the <em>remove_dot_segments</em> step from [[RFC3986]] §5.2) nor perform
any path normalization on such IRIs.
</li>
<li>
<strong>Relative IRI references</strong>: the reference MUST be resolved against the current
<a data-cite="RDF12-CONCEPTS#dfn-base-iri">base IRI</a> following [[RFC3986]] §5.1–§5.2. This resolution can
remove “<code>/./</code>” and “<code>/../</code>” path segments as part of the algorithm.
</li>
</ul>
<p>
This rule prevents the same lexical IRI from yielding different RDF terms depending on whether a
<code>BASE</code> directive is present. It aligns with
<a data-cite="RDF12-CONCEPTS#iri-equality">IRI equality</a> in RDF 1.2 Concepts, which uses simple string comparison and
forbids additional normalization before comparison.
</p>
<p class="note">
Data publishers are encouraged to mint <a data-cite="RDF12-CONCEPTS#reference-iris">RDF Reference IRIs</a>,
i.e., IRIs suitable as global references that are unchanged by reference resolution and whose path
starts with “<code>/</code>” and does not contain “<code>.</code>” or “<code>..</code>” segments.
This improves interoperability across concrete syntaxes.
</p>
</section>

<p id="iri-a">
The token <a href="#cp-lowercase-a"><code>a</code></a> in the predicate position of a Turtle triple
Expand Down
Loading