Skip to content

Commit b6ce839

Browse files
authored
Merge pull request #335 from w3c/Issue334
Recursive definition of triple pattern and property path pattern
2 parents 06d2978 + df3685c commit b6ce839

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

spec/index.html

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8477,15 +8477,21 @@ <h4>Triple Patterns</h4>
84778477
<div class="defn">
84788478
<p><b>Definition: <span id="defn_TriplePattern">Triple Pattern</span></b></p>
84798479
<p>A <span class="definedTerm">triple pattern</span> is a 3-tuple
8480-
(|s|, |p|, |o|) where:</p>
8481-
<ul>
8482-
<li>|s| is an <a data-cite="RDF12-CONCEPTS#dfn-rdf-terms">RDF term</a>
8483-
or a <a href="#defn_QueryVariable">variable</a>,</li>
8480+
that is defined inductively as follows:
8481+
If</p>
8482+
<ul style="list-style-type: none;">
8483+
<li>|s| is an <a data-cite="RDF12-CONCEPTS#dfn-rdf-term">RDF term</a>,
8484+
a <a href="#defn_QueryVariable">variable</a>,
8485+
or a triple pattern,</li>
84848486
<li>|p| is an <a data-cite="RDF12-CONCEPTS#dfn-iri">IRI</a>
84858487
or a <a href="#defn_QueryVariable">variable</a>, and</li>
8486-
<li>|o| is an <a data-cite="RDF12-CONCEPTS#dfn-rdf-terms">RDF term</a>
8487-
or a <a href="#defn_QueryVariable">variable</a>.</li>
8488+
<li>|o| is an <a data-cite="RDF12-CONCEPTS#dfn-rdf-term">RDF term</a>,
8489+
a <a href="#defn_QueryVariable">variable</a>,
8490+
or a triple pattern,</li>
84888491
</ul>
8492+
<p>then (|s|, |p|, |o|) is a triple pattern.</p>
8493+
<p>Triple patterns do not permit cycles
8494+
(i.e., a triple pattern cannot be contained within itself).</p>
84898495
</div>
84908496
<p>This definition of Triple Pattern includes literal subjects.
84918497
<a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-literalsubjects">
@@ -8496,6 +8502,12 @@ <h4>Triple Patterns</h4>
84968502
extend the syntaxes to allow literals as the subjects of statements."</pre>
84978503
<p>Because RDF graphs may not contain literal subjects, any SPARQL triple pattern with a
84988504
literal as subject will fail to match on any RDF graph.</p>
8505+
<p class="note">A triple pattern that has another triple pattern
8506+
in its subject position will fail to match on any RDF graph
8507+
because an [=RDF triple=] cannot have
8508+
a <a data-cite="RDF12-CONCEPTS#dfn-triple-term">triple term</a>
8509+
in its subject position.
8510+
</p>
84998511
</section>
85008512
<section id="sparqlBasicGraphPatterns">
85018513
<h4>Basic Graph Patterns</h4>
@@ -8529,10 +8541,12 @@ <h4>Property Path Patterns</h4>
85298541
<p><b>Definition: <span id="defn_PropertyPathPattern">Property Path Pattern</span></b></p>
85308542
<p>A property path pattern is a 3-tuple (|s|, |p|, |o|) where:</p>
85318543
<ul>
8532-
<li>|s| is an <a data-cite="RDF12-CONCEPTS#dfn-rdf-terms">RDF term</a>
8544+
<li>|s| is an <a data-cite="RDF12-CONCEPTS#dfn-rdf-term">RDF term</a>,
8545+
a <a href="#defn_TriplePattern">triple pattern</a>,
85338546
or a <a href="#defn_QueryVariable">variable</a>,</li>
85348547
<li>|p| is a <a href="#defn_PropertyPathExpr">property path expression</a>, and</li>
8535-
<li>|o| is an <a data-cite="RDF12-CONCEPTS#dfn-rdf-terms">RDF term</a>
8548+
<li>|o| is an <a data-cite="RDF12-CONCEPTS#dfn-rdf-term">RDF term</a>,
8549+
a <a href="#defn_TriplePattern">triple pattern</a>,
85368550
or a <a href="#defn_QueryVariable">variable</a>.</li>
85378551
</ul>
85388552
</div>

0 commit comments

Comments
 (0)