@@ -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