-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sh:entailment
and pyshacl --advanced
#221
Comments
This behaviour in PySHACL is left over from before SHACL-AF spec was published. The first few versions of PySHACL (with built-in inferencing options) were released more than a year before SHACL-AF was released, so The current situation is a result of a mismatch between the PySHACL's built-in system for inferencing, and SHACL-AF's specified method for entailment. The ideal solution would be to implement support for |
I see from today's features status that
sh:entailment
is not currently implemented in pySHACL.I've also seen the
--advanced
flag and some discussion on other issues (e.g. #60 ) around SHACL-AF.From Section 8.3 of the SHACL-AF document, there is language around what looks like "halting fast" if the triple
$ontology sh:entailment sh:Rules .
appears in the input shapes and the engine ~"doesn't support thesh:Rules
entailment regime."What should happen if I have this graph,
sh-example.ttl
...... and I use it in these two commands?
Put another way - should the second command fail because only
--advanced
would "enable"sh:Rules
?Relatedly, because I'm curious about what else implementing
sh:entailment
might mean: is there a relationship betweensh:entailment
IRIs and some ofpyshacl
's inference modes? It looks like there are IRIs from SPARQL that predate SHACL, but SHACL doesn't make impositions within the SHACL specification on what IRIs must be supported. (SPARQL entailment regimes are referenced, but don't seem to be required.) So, if pySHACL said it supported RDFS inferencing, and treated a shapes graph containing$ontology sh:entailment <http://www.w3.org/ns/entailment/RDFS> .
with the same runtime effect aspyshacl --inference rdfs
, would that be a pySHACL extension behavior over the SHACL specification?The text was updated successfully, but these errors were encountered: