Skip to content

Commit

Permalink
Clean up of path-related terminology in response to https://lists.w3.…
Browse files Browse the repository at this point in the history
  • Loading branch information
HolgerKnublauch committed Mar 22, 2017
1 parent 4be229b commit a2943ac
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions shacl/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -394,9 +394,8 @@ <h3>Terminology</h3>
The phrase "Every value of P in graph G ..." means "Every object of a triple in G with predicate P ...".
(In this document, the verbs <em>specify</em> or <em>declare</em> are sometimes used to express the fact that an RDF term has values for a given predicate in a graph.)
<br />
A <dfn data-lt="path|property paths">property path</dfn> is a possible route in a <a>graph</a> between two graph <a>nodes</a>.
An RDF term <code>n</code> has value <code>v</code> for
<a href="https://www.w3.org/TR/sparql11-query/#pp-language">SPARQL property path expression</a>
<dfn data-lt="SPARQL property path">SPARQL property paths</dfn> are defined as in <a href="https://www.w3.org/TR/sparql11-query/#pp-language">SPARQL 1.1</a>.
An RDF term <code>n</code> has value <code>v</code> for <a>SPARQL property path</a> expression
<code>p</code> in an RDF graph <code>G</code> if there is a solution mapping in the result of the SPARQL query
<code>SELECT ?s ?o WHERE { ?s p' ?o }</code> on <code>G</code> that binds <code>?s</code> to
<code>n</code> and <code>?o</code> to <code>v</code>, where <code>p'</code> is SPARQL surface syntax for <code>p</code>.
Expand Down Expand Up @@ -903,7 +902,7 @@ <h3>Shapes</h3>
</p>
<ul>
<li>shapes about the <a>focus node</a> itself, called <a>node shapes</a></li>
<li>shapes about the <a>values</a> of a particular property or <a>path</a> for the focus node, called <a>property shapes</a></li>
<li>shapes about the <a>values</a> of a particular property or path for the focus node, called <a>property shapes</a></li>
</ul>
<p>
<code>sh:Shape</code> is the <a>SHACL superclass</a> of those two shape types in the SHACL vocabulary.
Expand Down Expand Up @@ -1445,8 +1444,7 @@ <h3>Property Shapes</h3>
<section id="property-paths">
<h4>SHACL Property Paths</h4>
<p>
SHACL includes an RDF vocabulary to represent <a>property paths</a> equivalent to a subset of <a href="https://www.w3.org/TR/sparql11-query/#pp-language">SPARQL 1.1 property paths</a>.
SHACL supports the following SPARQL 1.1 property path constructs:
SHACL includes RDF terms to represent the following subset of <a>SPARQL property paths</a>:
<code>PredicatePath</code>, <code>InversePath</code>, <code>SequencePath</code>, <code>AlternativePath</code>,
<code>ZeroOrMorePath</code>, <code>OneOrMorePath</code> and <code>ZeroOrOnePath</code>.
</p>
Expand Down Expand Up @@ -1998,7 +1996,7 @@ <h5>Focus node (sh:focusNode)</h5>
<h4>Path (sh:resultPath)</h4>
<p>
Validation results may have a value for the property <code>sh:resultPath</code> pointing at a <a>well-formed</a> <a>SHACL property path</a>.
For results produced by a <a>property shape</a>, this <a>path</a> is equivalent to the <a>value</a> of <code>sh:path</code> of the shape.
For results produced by a <a>property shape</a>, this <a>SHACL property path</a> is equivalent to the <a>value</a> of <code>sh:path</code> of the shape.
</p>
</section>
<section id="results-value">
Expand Down Expand Up @@ -2119,7 +2117,7 @@ <h2>Core Constraint Components</h2>
the <a href="#SPARQLAskValidator">section on ASK-based validators</a>.
Constraint components that are described using a SELECT query are interpreted based on the rules outlined in
the <a href="#SPARQLSelectValidator">section on SELECT-based validators</a>.
In particular, for <a>property shapes</a>, the variable <code>PATH</code> is <a>substituted</a> with a <a>path</a> expression
In particular, for <a>property shapes</a>, the variable <code>PATH</code> is <a>substituted</a> with a path expression
based on the value of <code>sh:path</code> in the shape.
All SPARQL queries also require the variable bindings and result variable mapping rules detailed in the
<a href="#sparql-constraints">section on SPARQL-based Constraints</a>.
Expand Down Expand Up @@ -3659,8 +3657,8 @@ <h4>sh:qualifiedValueShape, sh:qualifiedMinCount, sh:qualifiedMaxCount</h4>
(by having values for <code>sh:qualifiedValueShape</code> and at least one of <code>sh:qualifiedMinCount</code> or <code>sh:qualifiedMaxCount</code>).
Let <code>ps</code> be the set of <a>shapes</a> in <code>G</code> that have <code>Q</code> as a <a>value</a> of <code>sh:property</code>.
If <code>Q</code> has <code>true</code> as a <a>value</a> for <code>sh:qualifiedValueShapesDisjoint</code> then
the set of <dfn>sibling shapes</dfn> for <code>Q</code> is defined as the set of all <a>values</a> of the SPARQL
<a>property path</a> <code>sh:property/sh:qualifiedValueShape</code> for any <a>shape</a> in <code>ps</code>
the set of <dfn>sibling shapes</dfn> for <code>Q</code> is defined as the set of all <a>values</a> of the
<a>SPARQL property path</a> <code>sh:property/sh:qualifiedValueShape</code> for any <a>shape</a> in <code>ps</code>
minus the <a>value</a> of <code>sh:qualifiedValueShape</code> of <code>Q</code> itself.
The set of sibling shapes is empty otherwise.
</div>
Expand Down Expand Up @@ -4152,7 +4150,7 @@ <h4>Prefix Declarations for SPARQL Queries</h4>
<p class="syntax">
<span data-syntax-rule="prefixes-nodeKind">The values of <code>sh:prefixes</code> are either <a>IRIs</a> or <a>blank nodes</a>.</span>
<span data-syntax-rule="prefixes-duplicates">A SHACL processor collects a set of prefix mappings as the union of all
individual prefix mappings that are <a>values</a> of the SPARQL <a>property path</a> <code>sh:prefixes/owl:imports*/sh:declare</code>
individual prefix mappings that are <a>values</a> of the <a>SPARQL property path</a> <code>sh:prefixes/owl:imports*/sh:declare</code>
of the <a>SPARQL-based constraint</a> or <a>validator</a>.
If such a collection of prefix declarations contains multiple namespaces for the same <a>value</a> of <code>sh:prefix</code>,
then the <a>shapes graph</a> is <a>ill-formed</a>.</span>
Expand Down Expand Up @@ -4259,7 +4257,7 @@ <h4>Mapping of Solution Bindings to Result Properties</h4>
<td>
<ol>
<li>The binding for the variable <code>path</code>, if that is a <a>IRI</a></li>
<li>For results produced by a <a>property shape</a>, a <a>path</a> that is equivalent to the <a>value</a> of <code>sh:path</code> of the shape</li>
<li>For results produced by a <a>property shape</a>, a <a>SHACL property path</a> that is equivalent to the <a>value</a> of <code>sh:path</code> of the shape</li>
</ol>
</td>
</tr>
Expand Down Expand Up @@ -4764,6 +4762,7 @@ <h2>Revision History</h2>
The detailed list of changes and their diffs can be found in the <a href="https://github.com/w3c/data-shapes/commits/gh-pages/shacl/index.html">Git repository</a>.
</p>
<ul>
<li><b>2017-03-22</b>: Clean up of path-related terminology</li>
<li><b>2017-03-17</b>: Updated example from 1.4 and other editorial work</li>
<li><b>2017-03-02</b>: Moved the sh:qualifiedValueShapesDisjoint flag from the parent into the property shapes (<a href="http://www.w3.org/2014/data-shapes/track/issues/92">ISSUE-92</a>)</li>
<li><b>2017-03-02</b>: Added informative security and privacy section to the appendix</li>
Expand Down

0 comments on commit a2943ac

Please sign in to comment.