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
