- From: Holger Knublauch <holger@topquadrant.com>
- Date: Fri, 15 Jan 2016 09:02:50 +1000
- To: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
As I am trying to implement the resolution on ISSUE-115 to use the
following syntax
ex:MyShape
a sh:Shape ;
sh:closed true ;
sh:ignoredProperties ( rdf:type ) ;
...
I cannot help but think that we may have rushed this decision and have
forgotten a few aspects:
1) With the new syntax it is no longer possible to specify sh:priority,
i.e. closeness is always an Error and cannot be a Warning
2) With the new syntax we have lost the ability to specify filters so
that closeness only applies to certain instances. The work-around would
be to use different scopes, but that's not the same thing and would lead
to duplicate shape definitions (not user friendly).
3) With the new syntax we have lost the ability to abbreviate the common
case of ignoring rdf:type (as above).
In my proposed syntax, SHACL would have included shortcut resources
(instances of sh:NodeConstraint) so that the syntax would simply be
ex:MyShape
a sh:Shape ;
sh:constraint sh:closed ;
...
or
ex:MyShape
a sh:Shape ;
sh:constraint sh:closedIgnoringRDFType ;
...
If the main reason for the adoption of Arthur's proposal was a
user-friendly syntax then I believe the syntax above is better. As an
added bonus, it is far more consistent. Currently I would need to
hard-code sh:closed as a special case.
Sorry to be a pain, but I believe the topic should be reopened, at least
as a quick check whether we are really sure about our resolution.
Thanks,
Holger
Received on Thursday, 14 January 2016 23:03:26 UTC