On 19/07/2020 19:53, Andy Seaborne wrote:
Hi Chris,
Oddly, sh:group/sh:order aren't in SHACLC - they look like they got
overlooked as they fit is quite naturally into the grammar. Maybe the
WG focus was validation and these aren't "validation".
All terms from the sh: namespace are supported at property shapes and
node shapes, see
https://w3c.github.io/shacl/shacl-compact-syntax/#rule-propertyValue
e.g.
ex:property xsd:string [0..1] order=0 .
should work. Theoretically this could be extended to allow other
prefixes such as dash: there too. This would then also cover
rdfs:subClassOf, e.g.
shapeClass ex:Company rdfs:subClassOf ex:Organization {
...
}
As the Compact Syntax is a living spec we could easily add this if there
is sufficient consensus.
The larger question of course becomes at what stage the syntax is no
longer compact. If we add more features, people could just as well use
TTL, which has the advantage of being more regular. I have no strong
opinion. (Likely better continued on the SHACL CG list)
Holger
dash:editor, and your own annotations:
There was a brief discussion on the SHACL CG list about allowing RDF
in SHACL-C. I didn't see a conclusion.
It can be done, in rather ungraceful way, with IMPORTS but you have
ask "why bother" if its splitting the shapes into compact and RDF parts.
Similarly, if there is an RDF block in a SHACL-C file: at least
everything is in one file but having to wire two sections of the file
by using the shape URIs is again, to me, kind of contrary to the
compact, ease of use, aspect of SHACL-C.
It looks like it would nearly work with inline Turtle inside the
compact shape with some parser contortions; property + the compact
class/datatype constraint would be ambiguous, but otherwise I think it
could be done because most things are using keywords. Another way
would be syntax to say "here be Turtle, same subject as the
node/property a this point".
All options that allow RDF are assuming the shape writer understands
the compact syntax as a specialised way to write some RDF and also
what the RDF structure looks like if they are going to add RDF into
it. So it all may be a step too far.
What I'd like in a SHACL-C file is being able to have RDFS
subclass/subproperty declarations.
Andy
On 17/07/2020 17:27, Chris Tomlinson wrote:
Hi Andy,
I haven’t looked into SHACLC. We do use features such as sh:group,
sh:order, dash:editor and so on; as well as a few annotations of our
own that are relevant to editing and some validation controls.
Off-hand it isn’t clear how to use SHACLC and weave these other
features in.
The notation is nicely compact and if there’s an integration approach
for additional features I’ll look deeper.
Thanks,
Chris