Skip to content

Conversation

@edmondchuc
Copy link
Contributor

@edmondchuc edmondchuc commented Nov 17, 2025

This PR adds the Property Roles section to the UI document. It builds on the foundations established in the DASH Property Roles and Resource Summaries document and introduces a new qualified role annotation modeling pattern that enables assigning multiple roles of the same type with support for preference ordering.

This initial PR introduces only one built-in property role: shui:LabelRole. It does not yet include the constraints or processing logic implied by this role as the task force still needs to decide whether roles should inherit constraints or processing behaviour. Additional label-related logic (such as defining label properties as subproperties of rdfs:label has been deferred to the upcoming label resolution section, which will be added in a separate PR.

Other property roles from the DASH Property Roles document will also be added later in separate PRs.

Closes #538

@edmondchuc edmondchuc added the UI For SHACL 1.2 UI spec label Nov 17, 2025

<p>
This section introduces Property Roles for annotating SHACL property shapes along with several core property roles defined in the SHUI namespace.
Property Roles is defined in the SHUI namespace and defines the class <code>shui:PropertyRole</code> and the property <code>shui:propertyRole</code>.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Property Roles is defined in the SHUI namespace and defines the class <code>shui:PropertyRole</code> and the property <code>shui:propertyRole</code>.
Property Roles are defined in the SHUI namespace and define the class <code>shui:PropertyRole</code> and the property <code>shui:propertyRole</code>.


<p>
Property roles can be annotated on property shapes by using the <code></code>shui:propertyRole</code> predicate and linking directly to a property role instance.
SHACL renderers may use this direct annotation to drive how specific user-interface elements are displayed.
Copy link
Member

@TallTed TallTed Nov 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
SHACL renderers may use this direct annotation to drive how specific user-interface elements are displayed.
SHACL renderers may use such direct annotations to drive the way specific user-interface elements are displayed.


<p>
It is possible but not recommended to assign the same property role to multiple property shapes that apply to the same focus node using the direct role annotation form.
When this occurs, the resulting behavior is undefined.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When this occurs, the resulting behavior is undefined.
When this is done, the resulting behavior is undefined.

<h2>Property Roles</h2>

<p>
RDF resources commonly use properties to specify labels and descriptions, which user-interface engines depend on to render structured content.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
RDF resources commonly use properties to specify labels and descriptions, which user-interface engines depend on to render structured content.
RDF resources commonly use properties to specify labels and descriptions, and other information needed for rendering, which user-interface engines depend on to render structured content.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have icons and images in mind, but I wanted to keep the text generic in case we find other use cases.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small tweak to @bergos' tweak.

Suggested change
RDF resources commonly use properties to specify labels and descriptions, which user-interface engines depend on to render structured content.
RDF resources commonly use properties to specify labels, descriptions, and other information needed for rendering, which user-interface engines depend on to render structured content.

<p>
RDF resources commonly use properties to specify labels and descriptions, which user-interface engines depend on to render structured content.
However, the vocabularies defining these properties vary across domains and communities. To ensure consistent interpretation, property shapes can
be annotated with explicit roles for elements such as labels and descriptions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
be annotated with explicit roles for elements such as labels and descriptions.
be annotated with explicit roles for elements such as labels and descriptions, and additional rendering properties.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
be annotated with explicit roles for elements such as labels and descriptions.
be annotated with explicit roles for elements such as labels, descriptions, and other rendering properties.

</p>
</aside>

<h3>Qualified Role Annotation</h3>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add a note that RDF 1.2 reification is recommended, and the section will be revisited later?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

UI For SHACL 1.2 UI spec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[UI] Support for DASH Property Role

4 participants