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


> On Jul 17, 2020, at 5:37 AM, Andy Seaborne <[email protected]> wrote:
> 
> Be interested to hear experiences using SHACL Compact Syntax.
> 
> It's Lang.SHACLC
> 
> SHACL-CS doesn't cover all SHACL but what it does cover is easier to read and 
> write.
> 
> 1/ What is missing from SHACL-CS from your perspective?
> 2/ Is it, in fact, actually helpful for managing SHACL at scale or not?
> 
>    Andy
> 
> https://w3c.github.io/shacl/shacl-compact-syntax/
> 
> 
> On 16/07/2020 22:31, Chris Tomlinson wrote:
>> Andy,
>> That's great news! Updating to 3.16.0 is on the ToDo list. I'm moving it to 
>> the top.
>> Thanks very much,
>> Chris
>>> On Jul 16, 2020, at 16:20, Andy Seaborne <[email protected]> wrote:
>>> 
>>> Fixed in 3.16.0:
>>> 
>>> "shacl parse" gives:
>>> 
>>> No sh:path on a property shape: 
>>> node=<http://example/bdsContentLocationShape> sh:property 
>>> <http://example/bdsContentLocationShape-contentLocationStatement>
>>> 
>>> when there exists at least one triple with
>>> bds:ContentLocationShape-contentLocationStatement as subject
>>> 
>>> and
>>> 
>>> Missing property shape: node=<http://example/bdsContentLocationShape> 
>>> sh:property 
>>> <http://example/bdsContentLocationShape-contentLocationStatement>
>>> 
>>> if there are none:
>>> 
>>> 
>>> (and no stacktraces)
>>> 
>>> but what you show if 3.15.0.
>>> 
>>> Test RDF::
>>> 
>>> PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>>> PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
>>> PREFIX sh:      <http://www.w3.org/ns/shacl#>
>>> PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>
>>> 
>>> PREFIX bds:     <http://example/bds>
>>> PREFIX bdo:     <http://example/bdo>
>>> 
>>> bds:ContentLocationShape
>>>  a sh:NodeShape ;
>>>  sh:property bds:ContentLocationShape-contentLocationStatement ;
>>>  sh:targetClass bdo:ContentLocation .
>>> 
>>> #bds:ContentLocationShape-contentLocationStatement rdf:type 
>>> sh:PropertyShape .
>>> 
>>> 
>>>> On 16/07/2020 21:44, Chris Tomlinson wrote:
>>>> Hi,
>>>> I’ve gotten a parse exception:
>>>> org.apache.jena.shacl.parser.ShaclParseException: No sh:path on a property 
>>>> shape: <http://purl.bdrc.io/ontology/shapes/core/ContentLocationShape>
>>>>    at 
>>>> org.apache.jena.shacl.parser.ShapesParser.findPropertyShapes(ShapesParser.java:285)
>>>>    at 
>>>> org.apache.jena.shacl.parser.ShapesParser.parseShape$(ShapesParser.java:214)
>>>>    at 
>>>> org.apache.jena.shacl.parser.ShapesParser.parseShapeStep(ShapesParser.java:196)
>>>>    at 
>>>> org.apache.jena.shacl.parser.ShapesParser.parseRootShape(ShapesParser.java:140)
>>>>    at 
>>>> org.apache.jena.shacl.parser.ShapesParser.parseShapes(ShapesParser.java:84)
>>>>    at org.apache.jena.shacl.Shapes.parse(Shapes.java:55)
>>>> performing:
>>>> Shapes shapes = Shapes.parse(testGraph);
>>>> on the graph:
>>>> bds:ContentLocationShape
>>>>   a sh:NodeShape ;
>>>>   sh:property bds:ContentLocationShape-contentLocationStatement ;
>>>>   sh:targetClass bdo:ContentLocation .
>>>> In the above graph there are no triples with
>>>> bds:ContentLocationShape-contentLocationStatement
>>>> as subject so the Shapes.parse raises an exception which seems reasonable; 
>>>> however, the message should refer to the missing definition of a putative 
>>>> PropertyShape reference rather than to the NodeShape that contains the 
>>>> reference.
>>>> In the simple case above it’s trivial by a casual inspection what the 
>>>> problem is, but when there are a large number of PropertyShape refs and 
>>>> all that the message says is that the NodeShape doesn’t have an sh:path, 
>>>> its pretty opaque as to what the problem is.
>>>> Maybe there’s a way to improve the exception message?
>>>> Thanks,
>>>> Chris

Reply via email to