Skip to content

[UI] How to deal with various property shapes for one sh:path and possible sh:severity differences? #591

@danielbeeke

Description

@danielbeeke

Problem:

In SHACL (when using for validation) it is perfectly fine to define multiple property shapes for one sh:path. These property shapes might have different sh:severity values. Multiple shapes for one sh:path are for example used to define specific sh:messages for the various constraints.

When creating a user interface one could group property shapes on their sh:path. This introduces new challenges. Some SHACL properties might be defined multiple times over the various property shapes.

One way to deal with these ‘duplicates’ is to have a little helper that determines the most appropriate variant. As a rule, SHACL will always execute all shapes, meaning for example for sh:minCount that we should pick the biggest sh:minCount. But.. this only is valid when both severities are sh:Violation.

This becomes more complex for properties that do not have numbers. How to deal with two sh:groups for example.

I propose that the working group creates a standard algorithm that UI builders can implement to resolve these issues.

If the working group wants to do this, what is the algorithm to go from SHACL validation rules to
UI declaration rules?

Concrete question:

When one field has various property shapes, each with possible sh:severity, how to combine these property shapes into one field declaration?

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