- From: Holger Knublauch <holger@topquadrant.com>
- Date: Tue, 10 May 2016 09:25:35 +1000
- To: public-data-shapes-wg@w3.org
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