-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Description
We have SHACL files where, like perhaps usually, some properties indicate associations between object instances. In our case, we indicate both the node kind and the class the associated object must have:
sh:nodeKind sh:IRI ;sh:class example:MyClass ;
Imagine this happening at deeper level for several associated objects. And imagine also data becoming large, both in number of "peer" associated, but also in the "depth" direction (associated of associated of associated ...).
Imagine we want to create/update predicates of a subject being the root in a data tree. With both the constraints above, we need to load the whole tree upfront before feeding the validator. Otherwise, if we don't do so and just indicate associated objects as IRIs for the root node, SHACL validator would complain about the fact thatrdf:type(or JSON-LD@type) is missing for the associated. But if we add that type information, the whole shape havingsh:targetClass example:MyClass;gets activated, in turn requiring its properties to be there (and its associated objects), etc. This until the deepest level of the tree is checked for constraints.
Imagine that the modifications to be performed at the root are tiny (and not even involving property values being IRIs); we would still need to load in memory the whole data tree to feed the validator.
Q: is there a way to keep both sh:nodeKind and sh:class but stop the validation procedure after a certain recursion depth is reached? To avoid infinite time for validation?
We were wondering if we are missing something at theoretical level?
If my explanation is not clear, apologies, I will try to rephrase ...
Thank you!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels