diff --git a/shacl12-core/index.html b/shacl12-core/index.html index b54f2607..508e2d6a 100644 --- a/shacl12-core/index.html +++ b/shacl12-core/index.html @@ -1359,7 +1359,7 @@

Node targets (sh:targetNode)

If s is a shape in a shapes graph SG and s has value expr for sh:targetNode in SG, then the output nodes of expr are targets - for the data graph DG as active graph. + for the data graph DG as focus graph.

The remainder of this section is informative.

@@ -2406,14 +2406,15 @@

Node Expressions

EVALUATION OF NODE EXPRESSIONS
- The evaluation of a node expression is defined as a function evalExpr(expr, activeGraph, scope) -> outputNodes + The evaluation of a node expression is defined as a function evalExpr(expr, focusGraph, focusNode, scope) -> outputNodes where The result of the evaluation of a node expression is a list of nodes (possibly empty and with duplicates) called the output nodes. @@ -2440,7 +2441,7 @@

IRI Expressions

The output nodes of an IRI expression are the list consisting of exactly the node expression itself:

- evalExpr(expr, activeGraph, scope) -> [expr] + evalExpr(expr, focusGraph, focusNode, scope) -> [expr]

@@ -2459,7 +2460,7 @@

Literal Expressions

The output nodes of a literal expression are the list consisting of exactly the node expression itself:

- evalExpr(expr, activeGraph, scope) -> [expr] + evalExpr(expr, focusGraph, focusNode, scope) -> [expr]

@@ -2919,13 +2920,11 @@

Value Nodes of Property Shapes

  • If e is the value of sh:values at the property shape, - then add the output nodes of evalExpr(e, data graph, scope) where scope - contains the focus node as the value of the variable focusNode. + then add the output nodes of evalExpr(e, data graph, focus node, {}).
  • If the set is still empty and d is the value of sh:defaultValue at the property shape, - then add the output nodes of evalExpr(d, data graph, scope) where scope - contains the focus node as the value of the variable focusNode. + then add the output nodes of evalExpr(d, data graph, focus node, {}).
  • @@ -6003,7 +6002,7 @@

    sh:expression

    Based on node expressions, this section introduces a constraint component called expression constraints. Expression constraints can be used in any shape to declare the condition that the - node expression specified via sh:expression has true as one of its output nodes. + node expression specified via sh:expression has true as its only output node. The evaluation of these node expressions is repeated for all value nodes of the shape as the focus node.

    @@ -6031,9 +6030,8 @@

    sh:expression

    Let expr be the value of sh:expression. For each value node v - and scope contains v as the value of focusNode - where evalExpr(expr, activeGraph, scope) - does not return true as one of its output nodes, + where evalExpr(expr, data graph>, v, {}) + does not return the list consisting of exactly true as its output nodes, there is a validation result that has v as its sh:value and a deep copy of expr in the results graph as its sh:sourceConstraint. If the expr has values for sh:message in the shapes graph, diff --git a/shacl12-sparql/index.html b/shacl12-sparql/index.html index 676c1ecf..d7c330ae 100644 --- a/shacl12-sparql/index.html +++ b/shacl12-sparql/index.html @@ -408,6 +408,7 @@

    Terminology

    function name, key parameter, output nodes, + focus graph, conform, failure, SHACL instance, @@ -1229,11 +1230,13 @@

    Select Expressions

    EVALUATION OF SELECT EXPRESSIONS

    The output nodes of a select expression are the list resultNodes consisting of exactly the bindings of the (only) - variable that is projected from the SELECT clause. - If present in the scope, the value of the scope variable focusNode MUST be pre-bound as the value of the SPARQL variable this. + variable that is projected from the SELECT clause when the query is evaluated against the focus graph. + The value of focusNode is pre-bound as the value of the SPARQL variable this. + The value of each scope variable is pre-bound as a SPARQL variable with the same name and value. + A failure is produced when one of the scope variables is called this.

    - evalExpr(expr, activeGraph, scope) -> resultNodes + evalExpr(expr, focusGraph, focusNode, scope) -> resultNodes

    The remainder of this section is informative.

    @@ -1340,11 +1343,14 @@

    SPARQL Expr Expressions

    EVALUATION OF SPARQL EXPR EXPRESSIONS

    The output nodes of an SPARQL expr expression are the list resultNodes consisting of exactly the bindings of the (only) - variable that is projected from the SELECT clause of the select query as defined above. - If present in the scope, the value of the scope variable focusNode MUST be pre-bound as the value of the SPARQL variable this. + variable that is projected from the SELECT clause of the select query as defined above + when the query is evaluated against the focus graph. + The value of focusNode is pre-bound as the value of the SPARQL variable this. + The value of each scope variable is pre-bound as a SPARQL variable with the same name and value. + A failure is produced when one of the scope variables is called this.

    - evalExpr(expr, activeGraph, scope) -> resultNodes + evalExpr(expr, focusGraph, focusNode, scope) -> resultNodes

    The remainder of this section is informative.