Open labra opened 7 years ago
Is sh:path supported yet? Property constraints contains sh:predicate and also sh:path.
Not yet. The row path constraints was the one that indicated that it didn't support sh:path
yet. I have added a specific row to clarify that better. It is intended to add support for them once SHACL gets more stable.
I have added support for sh:path and updated the table accordingly.
Also removed some features that are no longer part of the spec.
Hi, is sh:deactivated still not supported on 0.1.02?
We have just added support for sh:deactivated, sh:message and sh:severity. Thanks for remembering us.
The only pending feature is owl:imports
.
owl:imports
has been added. I didn't find tests in the SHACL test-suite, so it is not possible to ensure that the way owl:imports
has been implemented is right. It is implemented in a way that it just tries to load the IRI pointed by the owl:imports
declaration and that it avoids infinite loops keeping track of the visited IRIs. One possible problem is that there is no distinction between any kind of owl:imports
declaration, so something like:
<> owl:imports <shapes1.ttl>
is identical to:
<another_Iri> owl:imports <shapes1.ttl>
I.e. the subject of the owl:imports
is just ignored.
There are currently two possible pending features:
sh:entailment
to declare entailment regimes. sh:shapesGraph
to declare that an RDF graph should be validated against some shapes graph.It is possible to use both features using the shaclex API although it could be better to embed those features in the SHACL processor following the spec. It seems that there are not tests in the SHACL test-suite to check these features.
SHACL features based on: SHACL recommendation
Target selection
Shapes
sh:name
sh:description
sh:group
sh:order
owl:imports
sh:entailment
sh:shapesGraph
Validation report
We generate a SHACL validation report. We generate a Report data structure which has more information than the SHACL recommendation spec. For example, we inform about the nodes that have been validated as well as the nodes that failed.
sh:deactivated
sh:message
sh:severity
Constraints
sh:path
)Constraint components
SPARQL based constraints
(:x:) Non-supported: The core implementation is defined in Scala.
Under the hood, it uses Jena/RDF4j and SPARQL, so it could also implement SHACL-SPARQL in the future.