Issue 869#900
Conversation
Changed global configuration to a subsection Fixed html bug
| <p> | ||
| A shapes graph may contain a <a>SHACL instance</a> of the class <code>shui:Configuration</code> | ||
| to define global configuration properties for rendering the UI. | ||
| <code>shui:Configuration</code> is a <a>SHACL subclass</a> of <code>sh:Graph</code> |
There was a problem hiding this comment.
| <code>shui:Configuration</code> is a <a>SHACL subclass</a> of <code>sh:Graph</code> | |
| <code>sh:Graph</code> is a <a>SHACL subclass</a> of <code>shui:Configuration</code> |
The order should be reversed. A sh:Graph should be a subtype of sh:Configuration, making it possible to attach configuration properties directly. However, making every sh:Configuration a sh:Graph would prevent nested or alternative configurations from coexisting in the same graph.
There was a problem hiding this comment.
Suggesting an additional trailing dot.
| <code>shui:Configuration</code> is a <a>SHACL subclass</a> of <code>sh:Graph</code> | |
| <code>sh:Graph</code> is a <a>SHACL subclass</a> of <code>shui:Configuration </code>. |
| <td><code>shui:defaultNamespace</code></td> | ||
| <td> | ||
| The default namespace used to construct fresh user-added nodes. | ||
| The value of <code>shui:defaultNamespace</code> is an <a>IRI</a>. |
There was a problem hiding this comment.
| The value of <code>shui:defaultNamespace</code> is an <a>IRI</a>. | |
| The value of <code>shui:defaultNamespace</code> is a <a>Literal</a> whose value is a valid IRI. |
It should be a literal whose value is an IRI. The default namespace is not itself a resource — the IRIs derived from it will be.
There was a problem hiding this comment.
@bergos, so do I understand it correctly that you suggest to use rather shui:defaultNamespace "http://example.com/ns#" instead of shui:defaultNamespace <http://example.com/ns#> ;?
I see now in #869 it was also suggested as a Literal. Beware that we'll then have to update this example in the PR accordingly.
| @@ -1471,13 +1552,13 @@ <h4>Property Labels</h4> | |||
| </li> | |||
| <li> | |||
| If <var>P</var> is a predicate IRI and the <a>data graph</a> | |||
| contains one or more <code>rdfs:label</code> triples with subject <var>P</var>, select | |||
| contains one or more triples with properties determined by <a>label resolution</a> and with subject <var>P</var>, select | |||
| the best matching value using <a>language resolution</a>. If a match is found, use | |||
| that literal as the label. | |||
| </li> | |||
| <li> | |||
| If <var>P</var> is a predicate IRI and the <a>shapes graph</a> | |||
| contains one or more <code>rdfs:label</code> triples with subject <var>P</var>, select | |||
| contains one or more triples with properties determined by <a>label resolution</a> and with subject <var>P</var>, select | |||
| the best matching value using <a>language resolution</a>. If a match is found, use | |||
| that literal as the label. | |||
| </li> | |||
| @@ -1512,13 +1593,13 @@ <h4>Value Node Labels</h4> | |||
| </li> | |||
| <li> | |||
| If the <a>data graph</a> contains one or more values for the configured property path for | |||
| the value node label resolution (defaulting to <code>rdfs:label</code>) for <var>V</var>, | |||
| the value node determined by <a>label resolution</a> for <var>V</var>, | |||
| select the best matching value using <a>language resolution</a>. If a match is found, use | |||
| that literal as the label. | |||
| </li> | |||
| <li> | |||
| If the <a>shapes graph</a> contains one or more values for the configured property path for | |||
| the value node label resolution (defaulting to <code>rdfs:label</code>) for <var>V</var>, | |||
| the value node determined by <a>label resolution</a> for <var>V</var>, | |||
| select the best matching value using <a>language resolution</a>. If a match is found, use | |||
| that literal as the label. | |||
| </li> | |||
There was a problem hiding this comment.
Defining the logic once and referencing it is a good approach, given it's used four times — but "label resolution" doesn't work as the term here. Since "Property Labels" and "Value Node Labels" are already sub-sections of "Label Resolution" for specific cases, this creates a circular reference. A better approach would be to introduce a new sub-section, as was done for "Local Name Resolution". Additionally, the default should not be defined at the config level but rather within each sub-section: rdfs:label as the default for "Value Node Labels" and sh:name as the default for "Property Labels".
| <p> | ||
| A shapes graph may contain a <a>SHACL instance</a> of the class <code>shui:Configuration</code> | ||
| to define global configuration properties for rendering the UI. | ||
| <code>shui:Configuration</code> is a <a>SHACL subclass</a> of <code>sh:Graph</code> |
There was a problem hiding this comment.
Suggesting an additional trailing dot.
| <code>shui:Configuration</code> is a <a>SHACL subclass</a> of <code>sh:Graph</code> | |
| <code>sh:Graph</code> is a <a>SHACL subclass</a> of <code>shui:Configuration </code>. |
| <td><code>shui:defaultNamespace</code></td> | ||
| <td> | ||
| The default namespace used to construct fresh user-added nodes. | ||
| The value of <code>shui:defaultNamespace</code> is an <a>IRI</a>. |
There was a problem hiding this comment.
@bergos, so do I understand it correctly that you suggest to use rather shui:defaultNamespace "http://example.com/ns#" instead of shui:defaultNamespace <http://example.com/ns#> ;?
I see now in #869 it was also suggested as a Literal. Beware that we'll then have to update this example in the PR accordingly.
| <td> | ||
| The language selection for displaying labels in widgets. | ||
| The value of <code>shui:hasLanguagePreference</code> 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 ). |
There was a problem hiding this comment.
I find the description of an empty Literal behavior useful to add as well. Also a redundant space.
| The preferred language is determined according to the order of priority in the list from beginning (highest) to end (lowest ). | |
| 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. |
| <td><code>shui:timeZone</code></td> | ||
| <td> | ||
| The time zone used to construct new terms with <a>datatype</a> <code>xsd:dateTime</code>. | ||
| The value of <code>shui:timeZone</code> is <code>xsd:string</code>. |
There was a problem hiding this comment.
| The value of <code>shui:timeZone</code> is <code>xsd:string</code>. | |
| The value of <code>shui:timeZone</code> is of datatype <code>xsd:string</code>. |
| <tr> | ||
| <td><code>shui:shapesLabelPreference</code></td> | ||
| <td> | ||
| The label properties used to determine labels to display in widgets. |
There was a problem hiding this comment.
| The label properties used to determine labels to display in widgets. | |
| The properties used to determine the labels to display in widgets. |
| <td> | ||
| The label properties used to determine labels to display in widgets. | ||
| Properties are looked up in the <a>shapes graph</a>. | ||
| The value of <code>shui:shapesLabelPreference</code> is a well-formed SHACL list where all members are IRIs. |
There was a problem hiding this comment.
I guess the order is of relevance here as well?
| The value of <code>shui:shapesLabelPreference</code> is a well-formed SHACL list where all members are IRIs. | |
| The value of <code>shui:shapesLabelPreference</code> is a well-formed SHACL list where all members are IRIs. | |
| A label is determined by evaluating the properties according to the order of priority in the list from beginning (highest) to end (lowest). |
| 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 <a>data graph</a>. | ||
| The value of <code>shui:dataLabelPreference</code> is a well-formed SHACL list where all members are IRIs. |
There was a problem hiding this comment.
idem
| 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 <a>data graph</a>. | |
| The value of <code>shui:dataLabelPreference</code> is a well-formed SHACL list where all members are IRIs. | |
| The properties used to determine the labels to display in widgets and the labels to represent value nodes in the widgets. | |
| Properties are looked up in the <a>data graph</a>. | |
| The value of <code>shui:dataLabelPreference</code> is a well-formed SHACL list where all members are IRIs. | |
| A label is determined by evaluating the properties according to the order of priority in the list from beginning (highest) to end (lowest). |
| shui:defaultNamespace <http://example.com/ns#> ; | ||
| shui:hasLanguagePreference ("" "en" "de") ; | ||
| shui:hasTimeZone "Europe/Vienna" ; |
There was a problem hiding this comment.
| shui:defaultNamespace <http://example.com/ns#> ; | |
| shui:hasLanguagePreference ("" "en" "de") ; | |
| shui:hasTimeZone "Europe/Vienna" ; | |
| shui:defaultNamespace "http://example.com/ns#" ; | |
| shui:languagePreference ("" "en" "de") ; | |
| shui:timeZone "Europe/Vienna" ; |
| <ul> | ||
| <li>A UI feature that allows the user to select a preferred display language or languages priorities.</li> | ||
| <li>A predefined language configuration in the application settings.</li> | ||
| <li>A <a>global configuration</a> using the property <code>shui:hasLanguagePreference</code>.</li> |
There was a problem hiding this comment.
| <li>A <a>global configuration</a> using the property <code>shui:hasLanguagePreference</code>.</li> | |
| <li>A <a>global configuration</a> using the property <code>shui:languagePreference</code>.</li> |
| <td> | ||
| The label properties used to determine labels to display in widgets. | ||
| Properties are looked up in the <a>shapes graph</a>. | ||
| The value of <code>shui:shapesLabelPreference</code> is a well-formed SHACL list where all members are IRIs. |
There was a problem hiding this comment.
I remember vaguely that we also discussed using SHACL property paths here so that we would have support for skosxl:literalForm and others.
| <div class="turtle"> | ||
| ex:config a shui:Configuration ; | ||
| shui:defaultNamespace <http://example.com/ns#> ; | ||
| shui:defaultNamespace "<"http://example.com/ns#" ; |
There was a problem hiding this comment.
I may be misreading, but it seems that this URI markup is broken. I think this fixes it.
| shui:defaultNamespace "<"http://example.com/ns#" ; | |
| shui:defaultNamespace "<http://example.com/ns#>" ; |
Closes #869