From 36a1b985aeadfb802572bc6d07a56cdae1f9f6cf Mon Sep 17 00:00:00 2001 From: Robert David <9427084@gmail.com> Date: Wed, 20 May 2026 17:28:47 +0200 Subject: [PATCH 1/8] Added global configuration Changed global configuration to a subsection Fixed html bug --- shacl12-ui/index.html | 70 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/shacl12-ui/index.html b/shacl12-ui/index.html index 9260104f..338fc42d 100644 --- a/shacl12-ui/index.html +++ b/shacl12-ui/index.html @@ -671,6 +671,76 @@
+ A shapes graph may contain a SHACL instance of the class shui:Configuration
+ to define global configuration properties for rendering the UI.
+ shui:Configuration is a SHACL subclass of sh:Graph
+ The following properties can be defined for a shui:Configuration instance.
+
| Property | +Summary and Syntax Rules | +
|---|---|
shui:defaultNamespace |
+
+ The default namespace used to construct fresh user-added nodes.
+ The value of shui:defaultNamespace is an IRI.
+ |
+
shui:hasLanguagePreference |
+
+ The language selection for displaying labels in widgets.
+ The value of shui:hasLanguagePreference is a well-formed SHACL list where all members are language tags.
+ The preferred language is determined according to the order of priority in the list from beginning (highest) to end (lowest ).
+ |
+
shui:timeZone |
+
+ The time zone used to construct new terms with datatype xsd:dateTime.
+ The value of shui:timeZone is xsd:string.
+ |
+
shui:shapesLabelPreference |
+
+ The label properties used to determine labels to display in widgets.
+ Properties are looked up in the shapes graph.
+ The value of shui:shapesLabelPreference is a well-formed SHACL list where all members are IRIs.
+ |
+
shui:dataLabelPreference |
+
+ The label properties used to determine labels to display in widgets and labels to represent nodes values in the widgets.
+ Properties are looked up in the data graph.
+ The value of shui:dataLabelPreference is a well-formed SHACL list where all members are IRIs.
+ |
+
TODO: Describe the constraint collection/aggregation behaviour here for both Node and Property UI Component.
From 79019b8cc7ae2b3bc80383cde8067137cb3bcf81 Mon Sep 17 00:00:00 2001 From: Robert David <9427084@gmail.com> Date: Thu, 21 May 2026 17:17:06 +0200 Subject: [PATCH 2/8] Added label resolution using global configuration --- shacl12-ui/index.html | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/shacl12-ui/index.html b/shacl12-ui/index.html index 338fc42d..32905fdd 100644 --- a/shacl12-ui/index.html +++ b/shacl12-ui/index.html @@ -1446,7 +1446,7 @@shui:hasLanguagePreference.
+ Label resolution is done according to the property IRIs listed using the SHACL global configuration property shui:dataLabelPreference.
+ It defaults to rdfs:label.
+
rdfs:label triples with subject P, select
+ contains one or more triples with properties determined by label resolution and with subject P, select
the best matching value using language resolution. If a match is found, use
that literal as the label.
rdfs:label) for V,
+ the value node determined by label resolution for V,
select the best matching value using language resolution. If a match is found, use
that literal as the label.
rdfs:label) for V,
+ the value node determined by label resolution for V,
select the best matching value using language resolution. If a match is found, use
that literal as the label.
shui:hasLanguagePreference.shui:hasLanguagePreference.
- Label resolution is done according to the property IRIs listed using the SHACL global configuration property shui:dataLabelPreference.
+ Label resolution is done according to the property IRIs listed using the global configuration property shui:dataLabelPreference.
It defaults to rdfs:label.
rdfs:label triples with subject P, select
+ contains one or more triples with properties determined by label resolution and with subject P, select
the best matching value using language resolution. If a match is found, use
that literal as the label.
A shapes graph may contain a SHACL instance of the class shui:Configuration
to define global configuration properties for rendering the UI.
- shui:Configuration is a SHACL subclass of sh:Graph
+ sh:Graph is a SHACL subclass of shui:Configuration.
The following properties can be defined for a shui:Configuration instance.
shui:defaultNamespace |
The default namespace used to construct fresh user-added nodes.
- The value of shui:defaultNamespace is an IRI.
+ The value of shui:defaultNamespace is a Literal whose value is a valid IRI.
|
|
shui:timeZone |
The time zone used to construct new terms with datatype xsd:dateTime.
- The value of shui:timeZone is xsd:string.
+ The value of shui:timeZone is of datatype xsd:string.
|
|
shui:shapesLabelPreference |
+ shui:labelPreference |
- The label properties used to determine labels to display in widgets.
- Properties are looked up in the shapes graph.
- The value of shui:shapesLabelPreference is a well-formed SHACL list where all members are IRIs.
- |
-
shui:dataLabelPreference |
-
- The label properties used to determine labels to display in widgets and labels to represent nodes values in the widgets.
- Properties are looked up in the data graph.
- The value of shui:dataLabelPreference is a well-formed SHACL list where all members are IRIs.
+ The label properties used to determine the labels to display in widgets and labels to represent nodes values in the widgets.
+ The value of shui:labelPreference is a well-formed SHACL list where all members are IRIs.
+ The preferred label property is determined according to the order of priority in the list from beginning (highest) to end (lowest).
|
|
shui:hasLanguagePreference |
+ shui:languagePreference |
The language selection for displaying labels in widgets.
- The value of shui:hasLanguagePreference is a well-formed SHACL list where all members are language tags.
+ The value of shui:languagePreference is a well-formed SHACL list where all members are language tags.
The preferred language is determined according to the order of priority in the list from beginning (highest) to end (lowest ).
An empty literal (`""`) represents no language, i.e., a string literal with no language tag.
|
@@ -739,8 +739,8 @@