W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > May 2016

Re: On various syntax issues

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Thu, 19 May 2016 08:07:58 -0700
To: Holger Knublauch <holger@topquadrant.com>, "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Message-ID: <20a5e69a-fc0a-4ede-d3fa-d3b322f0ace1@gmail.com>
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.

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 ] ) ] .

peter


	       	
Received on Thursday, 19 May 2016 15:08:27 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:33 UTC