Re: Simplification of scopes section (see also ISSUE-148)

On 16/05/2016 0:04, Dimitris Kontokostas wrote:
>
>
> On Sun, May 15, 2016 at 3:59 AM, Holger Knublauch 
> <holger@topquadrant.com <mailto:holger@topquadrant.com>> wrote:
>
>
>
>     On 14/05/2016 22:07, Dimitris Kontokostas wrote:
>
>         Another gap that sh:AllSubjectsScope came to fill is
>         sh:scopeClass rdfs:Resource that was available in very early
>         versions of SHACL
>         In general this scope gives shacl core the flexibility to
>         define complex focus nodes using all subjects + filters that
>         will not be easy otherwise
>         so I would be keen on keeping this in core
>
>
>     Do you have a specific example? 
>
>
> Karen's example is a good one, e.g. I have a set of general properties 
> that apply to all resources e.g. dct:title must be a string with max 
> length x and dct:Description must be a string with min length z

This would be sh:scopeProperty because they only apply to resources that 
have at least one value for these properties.

>
> another one is all resources must have at least one dct:title and at 
> least one dct:description

Yes this would require AllSubjects and/or AllObjects. It would be quite 
a closed graph, because you could not even add an owl:Ontology resource 
to represent owl:imports etc, without enforcing the same constraint on 
that. Is this really a common enough use case for a Core feature?

>
> or more complex ones like resources that have rdfs:label or dct:title 
> must have the following constraints

This would be two sh:scopeProperty triples (multiple scopes are or-ed 
together).

Looking at this I believe having both sh:scopeProperty and 
sh:AllSubjects is potentially just adding confusion, as people could use 
either one for basically the same effect.

Holger

Received on Sunday, 15 May 2016 22:33:19 UTC