Re: On various syntax issues

On 20/05/2016 1:07, Peter F. Patel-Schneider wrote:
> It seems to me that one of the goals of syntax simplification is to end up
> with a simpler syntax.  One aspect of having a simpler syntax, to me, is
> that constructs that intuitively make sense are permitted, particularly if
> similar constructs are also permitted.
>
> 1/ Because existing property constraints can be conjoined, it should be
> possible to conjoin existing shapes, like
>
> ex:s1 rdf:type sh:Shape ;
>   sh:nodeKind sh:IRI ;
>   sh:class ex:Citizen .
>
> ex:s2 rdf:type sh:Shape ;
>   sh:property [ sh:predicate ex:child ;
>         sh:class ex:Person ] .
>
> ex:s3 rdf:type sh:Shape ;
>   sh:scopeClass ex:Person ;
>   sh:filter [ sh:property [ sh:predicate sh:age ;
>         sh:minInclusive 18 ] ] ;
>   sh:and ( ex:s1 ex:s2 ) .
>                  
> So sh:and is needed unless there is another simple way to achieve this.

This can be written using sh:shape (in case it gets approved):

ex:s3 rdf:type sh:Shape ;
  sh:scopeClass ex:Person ;
  sh:filter [ sh:property [ sh:predicate sh:age ;
        sh:minInclusive 18 ] ] ;
  sh:shape ex:s1 ;
  sh:shape ex:s2 .

So unless we want to create a sh:and as an alternative syntax aligning 
with sh:or, I don't think we need sh:and.

>
> 2/ If a boolean construct is allowed in one place it should be allowed in
> similar places.
>
> Because disjunction is allowed in node constraints (shapes) it should also
> be allowed in property constraints, like
>
> ex:s4 rdf:type sh:Shape ;
>   sh:scopeClass ex:Taxpayer ;
>   sh:property [ sh:predicate ex:dependent ;
>         sh:or ( ex:s1 ex:s2 )
>
> Because disjunction of node constraint (shape) components is allowed so should
> disjunction of property constraint components, like
>
> ex:s4 rdf:type sh:Shape ;
>   sh:scopeClass ex:Taxpayer ;
>   sh:property [ sh:predicate ex:dependent ;
>         sh:or ( ex:s1 ex:s2 [ sh:minCount 5 ] ) ] .

Yes this extension of sh:or had been approved recently and the spec had 
been updated.

Holger

Received on Thursday, 19 May 2016 22:48:08 UTC