Skip to content

[UI] Decision: what does a conformance claim guarantee, and do claims name what they cover? #1164

Description

@smessie

Split from #1083. The specification's conformance section is currently a TODO, and much of the rest depends on what goes in it.

Questions

  1. What does "conforms to SHACL UI" guarantee to a shape author or an adopting organisation?
  2. Do we adopt profiles or declared features, and if so, must a conformance claim name the ones it meets?
  3. Which profiles or features, if any, are required for a claim to be made at all?

Use cases

Proposed resolution

There was broad agreement in the task force meeting of 18 August on a direction, and I would like to write it down here so people can say whether they agree.

1. Map the specification to features. The specification defines a set of named features. Each feature covers a coherent piece of behaviour and is something an implementation can meaningfully say it does or does not support. Roughly: label and language resolution, ordering, widget matching, and so on. The exact set is work to be done, and doing that work is the next step.

2. An implementation lists the features it implements. This is what makes implementations comparable, and it's the part I'd most like to see agreed. An adopter can see what an implementation covers, and a shape author knows what to target.

3. The specification designates which features are required for conformance. Not every feature is required. The specification says which set an implementation must support before it can claim conformance at all.

4. Start with features, and decide about profiles afterwards. Rather than designing a profile mechanism now, I would suggest we define the features first and see how many there are and how they group. It is possible that one required set is all we need, in which case we may not need the term "profile" at all. If the features turn out to fall into natural groupings, we can name those then, with the evidence in front of us.

The thing I would ask us to settle regardless of how much structure we end up with: a conformance claim says what it covers. No unqualified "conforms to SHACL UI" that leaves an adopter unable to tell what they are getting.

Anything published as a feature set or profile should be a deliverable in the specification, subject to the same process and review as the rest of it.

What this leaves open

  • The feature set itself: what the features are and where the boundaries fall
  • Which features are required for a conformance claim
  • Whether we need more than one required set, and whether "profile" is the right term for that
  • How an implementation records and publishes its feature support

Metadata

Metadata

Assignees

Labels

UIFor SHACL 1.2 UI spec

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions