Re: shapes-ISSUE-103 (Syntax simplifications): Can we further simplify the syntax of some constraint types? [SHACL Spec]

Holger,

Wouldn't it be more orthogonal if there was no relation between
sh:constraint, sh:property, and sh:inverseProperty? Each of these
properties has different semantics for what they apply their node
constraints to.

1. sh:constraint applies node constraints directly to the singleton
set that contains just the current focus node.
2. sh:property applies node constraints to the set of nodes that are
objects of triples that have the current focus node as subject and the
value of sh:predicate as the predicate.
3. sh:inverseProperty applies node constraints to the set of nodes
that are subjects of triples that have the current focus node as
object and the value of sh:predicate as the predicate.

-- Arthur

On Wed, Nov 4, 2015 at 6:32 PM, Holger Knublauch <holger@topquadrant.com> wrote:
> On 11/5/2015 9:27, Peter F. Patel-Schneider wrote:
>>
>> On 11/04/2015 03:24 PM, Holger Knublauch wrote:
>> [...]
>>>
>>> This is correct, as long you add an rdf:type triple, which your example
>>> didn't.
>>>
>>> The following would be legal:
>>>
>>> sh:constraint [
>>>      a sh:PropertyConstraint ;
>>>      sh:class ex:c ;
>>>      sh:predicate ex:p
>>> ]
>>>
>>> However, even then sh:PropertyConstraint cannot have sh:not, which is
>>> limited
>>> to sh:NodeConstraint.
>>>
>>> Holger
>>>
>> So
>>
>> sh:constraint [
>>       a sh:PropertyConstraint ;
>>       a sh:NodeConstraint ;
>>       sh:class ex:c ;
>>       sh:predicate ex:p;
>>       sh:not [...]
>>   ]
>>
>> is OK?
>
>
> Yes, although at evaluation time there is no relationship between the sh:not
> and the property constraints. So this is not a case we would want to promote
> or encourage.
>
> Holger
>
>

Received on Thursday, 5 November 2015 17:04:01 UTC