Skip to content

Conversation

@bergos
Copy link
Contributor

@bergos bergos commented Nov 17, 2025

Adds a terminology section to the UI specification.

Closes #645

@nicholascar nicholascar added the UI For SHACL 1.2 UI spec label Nov 24, 2025
Comment on lines +429 to +454
A <dfn data-lt="shacl Renderer">SHACL Renderer</dfn> is a piece of software that processes SHACL
<a>shapes</a> and data to dynamically generate a form. A UI that represents the data is generated from one
or more <a>node UI components</a>. The SHACL renderer may add additional UI elements, such as a submit
button to save changes, a button to toggle between edit and view mode, selectors for <a>focus node</a> and
<a>node shape</a>, or messages from the <a>validation report</a>.

Further functionality the SHACL renderer may provide:
<ul>
<li>State management for the mode (edit/view) and changes</li>
<li>Managing widgets and widget selection logic</li>
<li>The target selection logic</li>
<li>Communication with the persistence layer</li>
</ul>

The inputs:
<ul>
<li><a>Focus node</a> IRI (optional, some implementations may provide a logic or UI to determine the root
node)</li>
<li><a>Node shape</a> IRI (optional, some implementations may provide a logic or UI to determine a
matching shape)</li>
<li><a>Data graph</a></li>
<li><a>Shapes graph</a></li>
</ul>

If both the focus node and node shape are provided, the SHACL renderer operates in manual mode. Otherwise,
when logic is applied to determine one or both values, it operates in automatic mode.
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
A <dfn data-lt="shacl Renderer">SHACL Renderer</dfn> is a piece of software that processes SHACL
<a>shapes</a> and data to dynamically generate a form. A UI that represents the data is generated from one
or more <a>node UI components</a>. The SHACL renderer may add additional UI elements, such as a submit
button to save changes, a button to toggle between edit and view mode, selectors for <a>focus node</a> and
<a>node shape</a>, or messages from the <a>validation report</a>.
Further functionality the SHACL renderer may provide:
<ul>
<li>State management for the mode (edit/view) and changes</li>
<li>Managing widgets and widget selection logic</li>
<li>The target selection logic</li>
<li>Communication with the persistence layer</li>
</ul>
The inputs:
<ul>
<li><a>Focus node</a> IRI (optional, some implementations may provide a logic or UI to determine the root
node)</li>
<li><a>Node shape</a> IRI (optional, some implementations may provide a logic or UI to determine a
matching shape)</li>
<li><a>Data graph</a></li>
<li><a>Shapes graph</a></li>
</ul>
If both the focus node and node shape are provided, the SHACL renderer operates in manual mode. Otherwise,
when logic is applied to determine one or both values, it operates in automatic mode.
A <dfn data-lt="shacl Renderer">SHACL Renderer</dfn> is software that processes SHACL
<a>shapes</a> and data and dynamically generates a user-interface using one
or more <a>node UI components</a>. Implementations may add supplementary UI elements, such as a submit
button to save changes, controls to toggle between edit and view modes, selectors for <a>focus node</a> and
<a>node shape</a>, or visualizations of <a>validation report</a> messages.
They may also provide:
<ul>
<li>State management for editing, viewing, and tracking data changes</li>
<li>Widget management, including widget selection strategies</li>
<li>Logic for determining the initial focus node (target) and the best suited node shape</li>
<li>A communication protocol for interacting with a persistence service</li>
</ul>
A SHACL Renderer operates on a <a>data graph</a> and a <a>shapes graph</a>, and may also take a
<a>focus node</a> and a <a>node shape</a>. When all four inputs are provided, the renderer
operates in <strong>manual mode</strong>. When the focus node or node shape is not provided,
the renderer may operate in <strong>automatic mode</strong>, in which case the application determines
appropriate values for the missing inputs.

Note: I've removed the use of form in the opening sentence since technically SHACL Renderers can produce non-form related user-interfaces.

bergos and others added 3 commits November 25, 2025 13:00
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] Terminology

4 participants