Re: shapes-ISSUE-159: [Editorial] Eliminate "scope class" from 2.1.n [SHACL Spec]

On Tue, May 3, 2016 at 4:34 PM, Peter F. Patel-Schneider <> wrote:

> I think that part of the problem is that scopes and filters, and indeed the
> whole notion of just how validation works, are badly defined.  When are
> scopes
> used?  Is it the case that filters are always used to cut down on the nodes
> that are validated by constraints?  It is difficult to determine answers to
> these questions from the spec.
> Here are some bits of the spec that show how bad this is currently done.
> Section 2.
> The set of focus nodes may be defined explicitly in a shape using scopes
> and
> filter shapes, or provided by the validation engine as defined in later
> sections. Shape scopes define the selection criteria for the focus nodes.
> Shapes with scopes MAY additionally provide filter shapes. Filter shapes
> further refine the focus nodes to the ones that conform to a set of filter
> shapes.
> Section 2.1
> Scopes define the set of focus nodes for a shape and SHACL provides three
> scope types:
>     Node scopes define a specific RDF node as scope.
>     Class-based scopes define the scope as the set of all instances of a
> class.
>     General scopes are a flexible mechanism to define arbitrary focus
> nodes.
> When multiple scopes are provided in a shape, the scope of a shape is the
> union of all focus nodes produced by these scopes. Focus nodes produced by
> scopes might not exist in the data graph.
> Section 2.2
> A filter shape can further refine the scope of a focus node. [...]
> Formally, filter shapes eliminate entries from the collection of focus
> nodes
> selected by a shape's scopes, [...]
> Section 3.
>     For property constraints the value nodes are the objects of the triples
> that have the focus node as subject and the given property as predicate.
> [...]
>     For inverse property constraints the value nodes are the subjects of
> the
> triples that have the focus node as object and the given property as
> predicate. [...]
>     For node constraints the value nodes are the individual focus nodes,
> forming a set of exactly one node.
> There needs to be some place that lays out how SHACL validation actually
> works.

I also saw this problem and that is why we added section 4 (validation and
The problem is that this section comes too late but we also need to define
some terms in advance so it is like a chicken and egg problem.

If you think that section 4 goes into the right direction we welcome any
feedback on how it can be restructured or be rearranged in earlier / later


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

Received on Tuesday, 3 May 2016 19:56:06 UTC