Skip to content

Validation up to certain depth / recursion level ? #200

@u0078867

Description

@u0078867

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 that rdf:type (or JSON-LD @type) is missing for the associated. But if we add that type information, the whole shape having sh: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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions