W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > May 2016

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

From: Dimitris Kontokostas <kontokostas@informatik.uni-leipzig.de>
Date: Tue, 3 May 2016 20:55:11 +0100
Message-ID: <CA+u4+a36sg-iqvpJPpmYE13J074L8nDyAtsd0z29X_0f3f_Zrg@mail.gmail.com>
To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
Cc: Karen Coyle <kcoyle@kcoyle.net>, public-data-shapes-wg <public-data-shapes-wg@w3.org>
On Tue, May 3, 2016 at 4:34 PM, Peter F. Patel-Schneider <
pfpschneider@gmail.com> 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://dbpedia.org, http://rdfunit.aksw.org, http://
Research Group: AKSW/KILT http://aksw.org/Groups/KILT
Received on Tuesday, 3 May 2016 19:56:06 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:33 UTC