Skip to content

Allow profiles to specify checks to disable in profiles they inherit #127

@elichad

Description

@elichad

In this validator, profile inheritance is very strict, but in RO-Crate profiles can be a bit more "loosely" inherited.

For example, Five Safes Crate inherits a lot of the WRROC requirements for describing inputs and actions, but does not include the workflow file in the crate (so we have avoided calling it a WRROC to prevent confusion).

Also, Five Safes Crate is based on RO-Crate 1.2, so right now, while there is not a ro-crate-1.2 profile available, we want to use ro-crate-1.1 and just disable the conformsTo check.

We can theoretically skip problem checks when running the validation (if #126 is fixed) - but it would be useful to be able to disable certain checks directly in the profile definition.

Two ways to do this:

  1. add a property to profile.ttl that can contain a list of check identifiers to skip
  2. utilise SHACL's built-in sh:deactivated property to deactivate target checks directly in the SHACL definition. This would require existing sh:PropertyShapes to be given IRIs rather than being blank nodes, so they can be targeted from other profiles. See this example for the pattern.

I prefer option 2 as it's a bit more robust, though an equivalent would need to be developed for the Python checks which is harder.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions