Re: scopes, filters, and focus [was Re: shapes-ISSUE-159: [Editorial] Eliminate "scope class" from 2.1.n [SHACL Spec]]

Moving section 4 to the beginning makes sense to me. I also think that 
scopes and constraints should be more separate than they are. I'll need 
to do a read-through with that in mind.

kc

On 5/3/16 2:20 PM, Peter F. Patel-Schneider wrote:
> It is indeed the case that Section 4 is too late to set the stage for scopes
> and filters and focus nodes.
>
> The problem is, I think, that the term "focus nodes" is being used for both
> the nodes that pass the scopes of a shape and the nodes that also pass the
> filters of a shape.  The different kinds of constraints exacerbates the
> problem because there is "value nodes" to consider as well.
>
> It might be possible to recast everything in Section 3 to be about the
> validation of a node in the data graph, i.e., removing all talk of focus
> nodes.  This makes sense because constraint components don't have anything to
> do with focus node selection.   Then Section 2 and Section 4 could be
> rewritten to remove procedural connotations and forward references.
>
> peter
>
>
> On 05/03/2016 12:55 PM, Dimitris Kontokostas wrote:
>>
>>
>> On Tue, May 3, 2016 at 4:34 PM, Peter F. Patel-Schneider
>> <pfpschneider@gmail.com <mailto: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
>> graphs).
>> 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
>> sections
>>
>> Dimitris
>

-- 
Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600

Received on Wednesday, 4 May 2016 01:28:35 UTC