Re: Splitting Part 1 and Part 2 in TOC

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