Re: shapes-ISSUE-168 (instance count): How to constrain number of instances of a class in a graph [SHACL - Core]

No, this is not part of the spec yet. Holger raised the issue in an 
attempt to address Karen's need to constrain the number of instances of a 
given class. Holger did make a proposal as part of the issue description 
though: https://www.w3.org/2014/data-shapes/track/issues/168

--
Arnaud  Le Hors - Senior Technical Staff Member, Open Web Technologies - 
IBM Cloud


Irene Polikoff <irene@topquadrant.com> wrote on 06/22/2016 02:36:07 PM:

> From: Irene Polikoff <irene@topquadrant.com>
> To: kcoyle@kcoyle.net
> Cc: public-data-shapes-wg@w3.org
> Date: 06/22/2016 02:37 PM
> Subject: Re: shapes-ISSUE-168 (instance count): How to constrain 
> number of instances of a class in a graph [SHACL - Core]
> 
> I don't really know what min and maxInstanceCount are. Aren't they a
> pretty new proposal and not in the spec yet? If so, then deciding 
> that they should be in the spec and their meaning is work to be 
> done. Or had the voting on it happened already?
> 
> I was talking solely about the general nature of scopes and 
> constraints. Scopes identify focus nodes. Constraints specify 
> conditions focus nodes must satisfy. Scopes select focus nodes, not 
> triples. This is true in general, irrespective of a particular 
constraint.
> 
> Sent from my iPhone
> 
> > On Jun 22, 2016, at 4:56 PM, Karen Coyle <kcoyle@kcoyle.net> wrote:
> > 
> > I would really like to hear from folks who are not part of 
> TopBraid, because it appears that there is a kind of "secret 
> language of twins" where things communicate to Holger and Irene even
> though they are opaque to others. No where in ISSUE 168 is what 
> Irene says below explained. In fact, the issue seems to have some 
> magic  involved with min and maxInstanceCount, which are not defined
> anywhere in the issue. I really don't care if it makes sense to 
> Holger and Irene if it isn't communicated clearly in the spec. The 
> meaning of these new elements are not defined in the proposal, so 
> the proposal needs to be clarified before it can be considered. What
> are min/maxInstanceCount, what is the formality that describes them,
> and exactly where throughout SHACL can they be used?
> > 
> > kc
> > 
> > 
> >> On 6/22/16 8:51 AM, Irene Polikoff wrote:
> >> 
> >> The definition of a class is that it is a resource of type 
(transitively)
> >> rdfs:Class. There can be classes that have zero instances. This 
doesn’t
> >> change the fact that they are classes. I could also imagine a 
constraint
> >> that would dictate that a certain class should have no instances in 
the
> >> graph. This means that if one wanted to check if something was a 
class,
> >> they would look for its own type statement, not if it has instances.
> >> 
> >> However, scopes don’t really make such checks. They only selects 
nodes
> >> that are to be evaluated against constrains. In this case, the 
constraint
> >> will check if ex:A is the object of rdf:type triple.
> >> 
> >> If the constraint sets minInstanceCount to 1 or higher and ex:A is 
not an
> >> object of rdf:type triple, there will be a violation. If constraint 
sets
> >> minInstanceCount to exactly 0 or 0 or more and there are no rdf:type
> >> triples ex:A is an object to, no violation is raised. I believe this 
is
> >> what expected.
> >> 
> >> 
> >> Irene
> >> 
> >> 
> >> 
> >> 
> >> 
> >>> On 6/22/16, 10:10 AM, "Karen Coyle" <kcoyle@kcoyle.net> wrote:
> >>> 
> >>> Thank you, Holger, that answers my question. But it also confirms 
that
> >>> this solution is unrelated (aka "orthogonal") to the request for a 
way
> >>> "How to constrain number of instances of a class in a graph" as this
> >>> issue is called, because this does not constrain the number of 
instances
> >>> of a class in a graph. If this is presented as a solution, there 
must be
> >>> an explanation of how it differs from the requirement as stated. 
This
> >>> sets as scope node any IRI provided. Nothing here checks that "ex:A" 
is
> >>> the object of rdf:type.
> >>> 
> >>> kc
> >>> 
> >>>> On 6/21/16 3:38 PM, Holger Knublauch wrote:
> >>>> 
> >>>> 
> >>>>> On 22/06/2016 4:57, Karen Coyle wrote:
> >>>>> OK, let me persist here. We have the suggested code example of:
> >>>>> 
> >>>>> ex:MyShape
> >>>>>   a sh:Shape ;
> >>>>>   sh:scopeNode schema:FlightReservation ;
> >>>>>   sh:constraint [
> >>>>>       sh:minInstanceCount 1 ;
> >>>>>       sh:maxInstanceCount 1 ;
> >>>>>   ] .
> >>>>> 
> >>>>> I'm going to abstract this as:
> >>>>> 
> >>>>> ex:MyShape
> >>>>>   a sh:Shape ;
> >>>>>   sh:scopeNode ex:A ;
> >>>>>   sh:constraint [
> >>>>>       sh:minInstanceCount 1 ;
> >>>>>       sh:maxInstanceCount 1 ;
> >>>>>   ] .
> >>>>> 
> >>>>> Given the examples below, which of these are in scope for
> >>>>> "sh:scopeNode ex:A"
> >>>>> 
> >>>>> ex:A ex:B ex:C .
> >>>>> 
> >>>>> ex:B ex:A ex:C .
> >>>>> 
> >>>>> ex:B ex:C ex:A .
> >>>> 
> >>>> Just ex:A is in scope. sh:scopeNode is independent of any triples, 
i.e.
> >>>> even if a node appears in no triple, it would still be in scope. 
This
> >>>> also means that sh:scopeNode is orthogonal to a node being subject,
> >>>> predicate or object. This is only relevant to sh:scopeProperty and
> >>>> sh:scopeInverseProperty.
> >>>> 
> >>>> Holger
> >>>> 
> >>>> 
> >>>>> 
> >>>>> 
> >>>>> kc
> >>>>> 
> >>>>>> On 6/17/16 4:43 PM, Irene Polikoff wrote:
> >>>>>> Also, I don¹t think the below is right. I thought that the scope
> >>>>>> identifies nodes. Not subject or objects, just nodes.
> >>>>>> 
> >>>>>> Then, constraints specify conditions or patterns to be specified.
> >>>>>> Focus
> >>>>>> nodes can be either an object or a subject in these patterns. For
> >>>>>> example,
> >>>>>> when a PropertyConstraint is used focus nodes are subjects, but 
an
> >>>>>> InverseProperty constraint specifically allows specifying 
patterns
> >>>>>> where
> >>>>>> focus nodes are objects.
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>>> On 6/17/16, 1:10 PM, "Karen Coyle" <kcoyle@kcoyle.net> wrote:
> >>>>>>> 
> >>>>>>> nd scopeNode binds to the subject of a
> >>>>>>> triple, AFAI can determine.
> >>> 
> >>> --
> >>> Karen Coyle
> >>> kcoyle@kcoyle.net http://kcoyle.net

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

> > m: 1-510-435-8234
> > skype: kcoylenet/+1-510-984-3600
> 

Received on Wednesday, 22 June 2016 22:34:20 UTC