- From: Holger Knublauch <holger@topquadrant.com>
- Date: Tue, 07 Apr 2015 11:55:52 +1000
- To: public-data-shapes-wg@w3.org
On 4/6/2015 1:06, Karen Coyle wrote:
>
>
> On 4/3/15 5:21 PM, Holger Knublauch wrote:
>>
>>
>> On 4/4/15 2:50 AM, Karen Coyle wrote:
>>> OK. So now the ToC reads:
>>>
>>> - Property Constraints
>>> - Disjunctive Constraints
>>>
>>> which isn't a logical division of the concepts. If you have a
>>> high-level "property constraints" then for readability you should have
>>> a high-level for whatever is not "property constraints". In other
>>> words, the document's high level needs to exhibit a logical division
>>> of the topic.
>>
>> I'd be happy to have another headline, yet sh:OrConstraint is currently
>> the only instance of this category, and I don't think we'll add more of
>> its kind. Other vocabularies will certainly define more. In the absence
>> of better suggestions they could be labeled "Other Shape Constraints".
>
> Holger, I am still trying to understand what this other category is.
> AFAIK, SHACL defines constraints on nodes, properties (in a graph) and
> the value(s) of those properties. Properties themselves can be subject
> to constraints, mainly cardinality, but I don't see this clearly
> called out in the document. I would prefer:
>
> Constraints on nodes
> - cardinality ("only one person node allowed")
> - defined properties ("foaf:name")
I don't think we have core language elements for those two built-in
right now (not sure what you mean with "defined properties").
>
> - Constraints on defined properties ("foaf:name")
> - cardinality
>
> - Constraints on property values (in this case, "foaf:name")
> -type
> - value list
>
> This is, in fact, how the examples read, although none show
> constraints on nodes.
I cannot tell whether such a further categorization would really help
the logical flow. For example sh:hasValue sounds like it should be in
the "property values" category, but it is really only firing a violation
if the focus node does *not* have that value. So the division here is
IMHO not clear cut, and I'd vote for reducing the levels of nesting.
> Now, which of those does 4.0 refer to? And can we present SHACL with a
> logical structure of this nature?
Section 4 is currently only hosting sh:OrConstraint, and that may need
to be in your "Constraints on nodes". I don't believe it would make
sense to have that constraint type listed first, as it's usually just a
combination of other constraints.
Holger
Received on Tuesday, 7 April 2015 01:57:14 UTC