You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SHACL processors SHOULD extend the originally provided shapes graph by transitively following and importing all referenced shapes graphs through the owl:imports predicate.
owl:import in the data graph is not enacted, in order to avoid uncontrolled increase of validation work.
If you want to validate several related ontologies, pass all of them to the SHACL processor (together or one by one), do not rely on owl:import links.
VladimirAlexiev
changed the title
should owl:import be enacted for the Data Graph?
clarify that owl:import is not enacted for the Data Graph
Feb 13, 2025
If something is not stated (like here) then the assumption is that it does not apply. So yes, the engine is not required and should not automatically follow owl:imports. This is, for example, because sometimes the validation should only apply to the "local" resources from a graph but not all imports.
If you find it useful, your prose could go into a non-normative section with an informal PR as it does not change semantics.
I think this is still useful to validate ontology RDF data and we saw such examples. Copying over ontologies is not desirable. Having some sort of configuration to decide if owl:imports should be followed would be helpful.
The engine is given a data graph - we can leave out how that data graph came into being. It might be a graph formed by owl:imports but that isn't the only possibility (union of named graphs, non-RDF virtual graph, etc), but by the time the specs apply, it looks like a single graph.
Calling it sh:imports might make this clear as well.
your prose could go into a non-normative section
The spec could have a <p class=note">...</p> about this.
owl:import
is enacted in the Shapes Graph, which is a major modularity mechanism:https://w3c.github.io/data-shapes/shacl/#shapes-graph
However, https://w3c.github.io/data-shapes/shacl/#data-graph is silent on what happens with
owl:import
in the Data Graph.Why would anyone use
owl:import
in a data graph? At least 2 reasons:SHACL is treated as data in the SHACL-SHACL validation process.
The ITB validator does that (provide useful
sh:focusNode
in ValidationResults ISAITB/shacl-validator#15).The section clearly says: "The data graph is expected to include all the ontology axioms related to the data".
Where should my ontology go? Data graph versus shapes graph #185 is related
I suggest NOT to enact such imports, and to add this to https://w3c.github.io/data-shapes/shacl/#data-graph:
Such decision/clarification is important for #214
The text was updated successfully, but these errors were encountered: