Re: Node vs focus node (Was: Re: shapes-ISSUE-181: SHACL conformance for partial validation reports [SHACL Spec])

I had some thoughts on this topic and wanted to run them by you.

Are there are some issues that stem from the spec assuming and trying to
describe a sequence of processing?

There are two process that take place: selection and validation. Selection
identifies nodes that are to be validated. It does so by comparing the data
graph to shapes and constraints. Validation determines whether the nodes
identified by the selection process obey the relevant constraints.

These two processes could theoretically run sequentially: first selection
which means all data is examined against all shapes and constraints in order
to identify all nodes that must be validated, then validation. They could
also be interleaved as in: some nodes are selected for validation,
validation starts and in the process of validation more nodes are selected.
Nevertheless, conceptually these are two separate processes.

I donšt think the spec should make assumptions about how they are
implemented algorithmically. It could simply define each process and talk
about them separately. I believe this approach may make the spec easier to
write and understand.

What do you think?

From:  Dimitris Kontokostas <>
Date:  Sunday, October 2, 2016 at 2:35 PM
To:  Karen Coyle <>
Cc:  public-data-shapes-wg <>
Subject:  Node vs focus node (Was: Re: shapes-ISSUE-181: SHACL conformance
for  partial validation reports [SHACL Spec])
Resent-From:  <>
Resent-Date:  Sun, 02 Oct 2016 18:36:03 +0000

Hi Karen,

On Sun, Oct 2, 2016 at 6:54 PM, Karen Coyle <> wrote:
> Dimitris, the part of the spec we are talking about is the validation section.
> If Filters take place as part of validation, then we should move them to the
> validation section. If validation takes place after the filters are applied,
> then at that point it is a focus node. My understanding (and I would like to
> hear from others) is that the entire process of validation takes place on
> focus nodes.
Section 2 describes shapes, targets, filters and constraints, then section 3
describes validation as well as the data graph, shapes graph and validation
All constructs described in section 2 are referenced in the validation
definition but any feedback to restructure these sections is more than

Based on my understanding,
filters are of course part of the validation process but the term focus node
is used when the nodes reach the constraints of the shape.
As I said, I do not have a strong opinion on this and would be happy to
discuss this further during the next call or hear what others have to say

> I'm also a bit concerned about that "iff" - while it is a commonly known
> shorthand for "if and only if" it is not English language and not universally
> known, so I think that "iff" should be written as "if and only if" when used
> in a sentence. If the section were in an abstract syntax then I think that
> "iff" would be appropriate. This section is not that formal. I do find it used
> in W3C documents when describing formal rules (see section 2.1 of the SWRL
> document [1]).

I replaced iff according to your suggestion.

Dimitris Kontokostas
Department of Computer Science, University of Leipzig & DBpedia Association
Research Group: AKSW/KILT

Received on Monday, 3 October 2016 00:30:00 UTC