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

Re: ISSUE-110: Can we close this?

From: Holger Knublauch <holger@topquadrant.com>
Date: Tue, 10 May 2016 09:25:35 +1000
To: public-data-shapes-wg@w3.org
Message-ID: <0044d8e8-20e3-944f-c930-169bf2b1dd11@topquadrant.com>
On 10/05/2016 5:23, Karen Coyle wrote:
> The problem that I have with this is "apply":
>
> "sh:PropertyConstraint is the class of all property constraints. Property
> constraints apply on the value of a property on the focus node. "
>
> First, the class here doesn't seem to be used within the shapes graph 
> - as I've mentioned elsewhere, in many cases the classes don't seem to 
> have a function in SHACL, so their purpose needs to be made clear. Why 
> have a PropertyConstraint class?

We have classes such as sh:PropertyConstraint because the syntax 
instantiates them, via rdf:type:

ex:MyShape
     a sh:Shape ;    # You may ask why have sh:Shape as a class
     sh:property [
         a sh:PropertyConstraint ; # This is optional, but still "there"
         sh:predicate ex:someThing ;
         sh:minCount 1 ;
     ] .

Having classes is a perfectly normal and well-established practice in 
model and metamodel design. Classes allow to associate properties (e.g. 
with rdfs:domain), define a group of instances, have inheritance etc. 
All these features are used in the metamodel of SHACL.

Holger


>
> Peter asks:
> >> What does it mean to be a class of something?  Even the new 
> terminology
> >> section does not help, as it just opens up the question of how a class
> >> represents anything and how nodes can exist independent of any RDF 
> graph.
>
> I think I am asking the same question.
>
> Next, property constraints are *definitions* that may be *applied* to 
> properties in the focus node of the data graph during validation. The 
> shapes graph is descriptive, but does not *do* anything. We have two 
> sets of triples that are essentially inert; a 
> program/application/implementation can use the rules/constraints in 
> the shapes graph to test or validation whether the data graph meets 
> those rules.
>
> I don't know if this is what Peter means with:
>
> >> However, sh:minCount does not work this way, as it is about the set of
> >> values
> >> of a property.
>
> kc
>
>
> On 5/8/16 3:58 PM, Holger Knublauch wrote:
>> On 7/05/2016 23:32, Peter F. Patel-Schneider wrote:
>>> The wording in 2.3 is still problematic.  From that section:
>>>
>>> sh:PropertyConstraint is the class of all property constraints. 
>>> Property
>>> constraints apply on the value of a property on the focus node.
>>>
>>> However, sh:minCount does not work this way, as it is about the set of
>>> values
>>> of a property.
>>>
>>> What does it mean to be a class of something?  Even the new terminology
>>> section does not help, as it just opens up the question of how a class
>>> represents anything and how nodes can exist independent of any RDF 
>>> graph.
>>>
>>> How do default value types interact with the terminology section?
>>>
>>>
>>> What I am seeing here is a bunch of attempts to patch up something
>>> that is a
>>> poor design from the start.  It is thus no surprise that each attempt
>>> only
>>> exposes more and more problems and requires more and more machinery.
>>
>> I disagree completely. Anyway, we are currently starting bottom-up, with
>> proper and official definitions of the basic terminology. Once we apply
>> consistent terminology throughout the document, things will become
>> clearer and cleaner.
>>
>> Holger
>>
>>
>>
>
Received on Monday, 9 May 2016 23:26:08 UTC

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