diff --git a/shacl12-ui/index.html b/shacl12-ui/index.html
index 6e3668c4..6fbb4620 100644
--- a/shacl12-ui/index.html
+++ b/shacl12-ui/index.html
@@ -131,6 +131,7 @@
company: "KurrawongAI",
companyURL: "https://kurrawong.ai",
mailto: "edmond@kurrawong.ai",
+ url: "https://www.edmondchuc.com/",
w3cid: 163845,
},
{
@@ -997,7 +998,7 @@
shui:AutoCompleteEditor
Score:
- 1 if the value is an IRI.
- - 0 otherwise.
+ 0 otherwise.
@@ -1038,7 +1039,7 @@
shui:BlankNodeEditor
Score:
- 1 for blank nodes.
- - 0 otherwise.
+ 0 otherwise.
@@ -1053,8 +1054,8 @@
shui:BooleanSelectEditor
Score:
- 10 for
xsd:boolean literals.
- - 0 for non-literals and when there is a
sh:datatype constraint.
- null for properties allowing literals without specifying a particular datatype.
+ 0 for non-literals and when there is a sh:datatype constraint.
+ - 0 for properties allowing literals without specifying a particular datatype.
@@ -1077,7 +1078,7 @@
shui:DatePickerEditor
- 10 for
xsd:date literals.
- 5 if the property has
sh:datatype xsd:date.
- - 0 otherwise.
+ 0 otherwise.
@@ -1099,7 +1100,7 @@
shui:DateTimePickerEditor
- 10 for
xsd:dateTime literals.
- 5 if the property has
sh:datatype xsd:dateTime.
- - 0 otherwise.
+ 0 otherwise.
@@ -1119,8 +1120,8 @@
shui:DetailsEditor
Score:
- null for non-literals, i.e., it can be selected manually via shui:editor.
- - 0 otherwise.
+ - 0 for non-literals, i.e., it can be selected manually via
shui:editor.
+ 0 otherwise.
@@ -1191,7 +1192,7 @@
shui:EnumSelectEditor
Score:
- 10 if there exists a
sh:in constraint for the same property at the current focus node.
- - 0 otherwise.
+ 0 otherwise.
@@ -1211,8 +1212,8 @@
shui:InstancesSelectEditor
Score:
- null if there exists a sh:class for the property.
- - 0 otherwise.
+ 0 if there exists a sh:class for the property.
+ 0 otherwise.
@@ -1234,7 +1235,7 @@
shui:RichTextEditor
Score:
- 10 for
rdf:HTML literals.
- - 0 otherwise.
+ 0 otherwise.
@@ -1255,7 +1256,7 @@
shui:SubClassEditor
Score:
- null, i.e., this should be selected explicitly through a shui:editor statement.
+ 0, i.e., this should be selected explicitly through a shui:editor statement.
However, this widget is typically only used if the property has a
dash:rootClass
constraint, or (at minimum) only allows classes as values.
@@ -1281,12 +1282,12 @@ shui:TextAreaEditor
Score:
- - 0 if the property is marked
sh:singleLine true.
+ - -1 if the property is marked
sh:singleLine true.
- 20 if the value is an
xsd:string literal and sh:singleLine false.
- 5 if the value is an
xsd:string literal.
- 2 if the property has
xsd:string among the permissible datatypes.
- null if the property has a custom datatype (not from xsd or rdf namespaces but for example geo:wktLiteral).
- - 0 otherwise.
+ 0 if the property has a custom datatype (not from xsd or rdf namespaces but for example geo:wktLiteral).
+ 0 otherwise.
@@ -1307,10 +1308,10 @@
shui:TextAreaWithLangEditor
Score:
- - 0 if the property is marked
sh:singleLine true.
+ - -1 if the property is marked
sh:singleLine true.
- 15 if the value is an
rdf:langString literal and sh:singleLine false.
- 5 if the value is an
rdf:langString literal or the property permits such values.
- - 0 otherwise.
+ 0 otherwise.
@@ -1332,7 +1333,7 @@
shui:TextFieldEditor
Score:
- 10 if the value is a literal that is neither
rdf:langString nor xsd:boolean.
- - 0 otherwise.
+ 0 otherwise.
@@ -1354,7 +1355,7 @@
shui:TextFieldWithLangEditor
- 11 if the value is an
rdf:langString literal or the property permits either rdf:langString or xsd:string.
- 5 if the property is not
sh:singleLine false and permits rdf:langString values.
- - 0 otherwise.
+ 0 otherwise.
@@ -1376,8 +1377,8 @@
shui:URIEditor
Score:
- 10 if the value is an IRI node and the property has
sh:nodeKind sh:IRI and no sh:class constraint.
- null if the value is an IRI node.
- - 0 otherwise.
+ 0 if the value is an IRI node.
+ 0 otherwise.
@@ -1406,7 +1407,7 @@
shui:BlankNodeViewer
Score:
- 1 for blank nodes.
- - 0 for all other nodes.
+ 0 for all other nodes.
@@ -1422,8 +1423,7 @@
shui:DetailsViewer
Score:
- - 0 for literals.
- null for IRIs and blank nodes.
+ - 0 for non-literals, i.e., it can be selected manually via
shui:Viewer.
@@ -1439,7 +1439,7 @@
shui:HTMLViewer
Score:
- 50 for literals with datatype
rdf:HTML.
- - 0 for all other values.
+ 0 for all other values.
@@ -1455,8 +1455,8 @@
shui:HyperlinkViewer
Score:
- 50 for literals with datatype
xsd:anyURI.
- null for xsd:string literals.
- - 0 for all other values.
+ - 0 for
xsd:string literals.
+ 0 for all other values.
@@ -1482,7 +1482,7 @@
shui:LabelViewer
Score:
- 5 if the value is an IRI.
- - 0 otherwise.
+ 0 otherwise.
@@ -1499,7 +1499,7 @@
shui:LangStringViewer
Score:
- 10 if the value is a literal of type
rdf:langString.
- - 0 otherwise.
+ 0 otherwise.
@@ -1513,7 +1513,7 @@
shui:LiteralViewer
Score:
- 1 if the value is a literal.
- - 0 otherwise.
+ 0 otherwise.
@@ -1527,7 +1527,7 @@
shui:URIViewer
Score:
- 1 if the value is an IRI.
- - 0 otherwise.
+ 0 otherwise.
@@ -1544,7 +1544,7 @@
shui:ValueTableViewer
Score:
- null, i.e., this should be selected explicitly through a shui:editor statement.
+ - 0, i.e., this should be selected explicitly through a
shui:viewer statement.
@@ -1628,12 +1628,12 @@ Property Roles
Direct Role Annotation
- Property roles can be annotated on property shapes by using the shui:propertyRole predicate and linking directly to a property role instance.
+ Property roles can be annotated on property shapes by using the shui:propertyRole predicate and linking directly to a property role instance.
SHACL renderers may use such direct annotations to drive the way specific user-interface elements are displayed.
- 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.
+ 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 is done, the resulting behavior is undefined.
@@ -1652,7 +1652,7 @@ Direct Role Annotation
- This example illustrates the common case where a property shape is directly annotated with shui:LabelRole.
+ This example illustrates the common case where a property shape is directly annotated with shui:LabelRole.
This informs user-interfaces that the shape's value nodes represent human-readable labels for resources.
diff --git a/shacl12-ui/widgets/editors/auto-complete-editor.ttl b/shacl12-ui/widgets/editors/auto-complete-editor.ttl
new file mode 100644
index 00000000..a4d9b3c4
--- /dev/null
+++ b/shacl12-ui/widgets/editors/auto-complete-editor.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:autoCompleteEditorScore1
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isIRI ;
+ shui:score 1 ;
+ shui:widget shui:AutoCompleteEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/blank-node-editor.ttl b/shacl12-ui/widgets/editors/blank-node-editor.ttl
new file mode 100644
index 00000000..40a51829
--- /dev/null
+++ b/shacl12-ui/widgets/editors/blank-node-editor.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:blankNodeEditorScore1
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isBlankNode ;
+ shui:score 1 ;
+ shui:widget shui:BlankNodeEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/boolean-select-editor.ttl b/shacl12-ui/widgets/editors/boolean-select-editor.ttl
new file mode 100644
index 00000000..c19359b3
--- /dev/null
+++ b/shacl12-ui/widgets/editors/boolean-select-editor.ttl
@@ -0,0 +1,16 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:booleanSelectEditorScore10
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isBoolean ;
+ shui:score 10 ;
+ shui:widget shui:BooleanSelectEditor ;
+.
+
+shui:booleanSelectEditorScoreNull
+ a shui:WidgetScore ;
+ shui:score 0 ;
+ shui:shapesGraphShape shui:literalsAllowedAndNoDatatypeSpecified ;
+ shui:widget shui:BooleanSelectEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/date-picker-editor.ttl b/shacl12-ui/widgets/editors/date-picker-editor.ttl
new file mode 100644
index 00000000..7f459ab2
--- /dev/null
+++ b/shacl12-ui/widgets/editors/date-picker-editor.ttl
@@ -0,0 +1,16 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:datePickerEditorScore10
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isDate ;
+ shui:score 10 ;
+ shui:widget shui:DatePickerEditor ;
+.
+
+shui:datePickerEditorScore5
+ a shui:WidgetScore ;
+ shui:score 5 ;
+ shui:shapeGraphShape shui:isDate ;
+ shui:widget shui:DatePickerEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/date-time-picker-editor.ttl b/shacl12-ui/widgets/editors/date-time-picker-editor.ttl
new file mode 100644
index 00000000..0a14b860
--- /dev/null
+++ b/shacl12-ui/widgets/editors/date-time-picker-editor.ttl
@@ -0,0 +1,16 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:dateTimePickerEditorScore10
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isDateTime ;
+ shui:score 10 ;
+ shui:widget shui:DateTimePickerEditor ;
+.
+
+shui:dateTimePickerEditorScore5
+ a shui:WidgetScore ;
+ shui:score 5 ;
+ shui:shapeGraphShape shui:isDateTime ;
+ shui:widget shui:DateTimePickerEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/details-editor.ttl b/shacl12-ui/widgets/editors/details-editor.ttl
new file mode 100644
index 00000000..bb1f79f3
--- /dev/null
+++ b/shacl12-ui/widgets/editors/details-editor.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:detailsEditorScore0
+ a shui:WidgetScore ;
+ shui:score 0 ;
+ shui:shapesGraphShape shui:isNotLiteral ;
+ shui:widget shui:DetailsEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/enum-select-editor.ttl b/shacl12-ui/widgets/editors/enum-select-editor.ttl
new file mode 100644
index 00000000..5942e6cf
--- /dev/null
+++ b/shacl12-ui/widgets/editors/enum-select-editor.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:enumSelectEditorScore10
+ a shui:WidgetScore ;
+ shui:score 10 ;
+ shui:shapeGraphShape shui:hasInConstraint ;
+ shui:widget shui:EnumSelectEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/instances-select-editor.ttl b/shacl12-ui/widgets/editors/instances-select-editor.ttl
new file mode 100644
index 00000000..e6131dea
--- /dev/null
+++ b/shacl12-ui/widgets/editors/instances-select-editor.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:instancesSelectEditorScore0
+ a shui:WidgetScore ;
+ shui:score 0 ;
+ shui:shapeGraphShape shui:hasClassConstraint ;
+ shui:widget shui:InstancesSelectEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/rich-text-editor.ttl b/shacl12-ui/widgets/editors/rich-text-editor.ttl
new file mode 100644
index 00000000..12f50ac6
--- /dev/null
+++ b/shacl12-ui/widgets/editors/rich-text-editor.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:richTextEditorScore10
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isHTML ;
+ shui:score 10 ;
+ shui:widget shui:RichTextEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/sub-class-editor.ttl b/shacl12-ui/widgets/editors/sub-class-editor.ttl
new file mode 100644
index 00000000..6bf04ed6
--- /dev/null
+++ b/shacl12-ui/widgets/editors/sub-class-editor.ttl
@@ -0,0 +1,8 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:subClassEditorScore0
+ a shui:WidgetScore ;
+ shui:score 0 ;
+ shui:widget shui:SubClassEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/text-area-editor.ttl b/shacl12-ui/widgets/editors/text-area-editor.ttl
new file mode 100644
index 00000000..63c38369
--- /dev/null
+++ b/shacl12-ui/widgets/editors/text-area-editor.ttl
@@ -0,0 +1,37 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:textAreaEditorScoreMinus1
+ a shui:WidgetScore ;
+ shui:shapesGraphShape shui:isSingleLineTrue ;
+ shui:score -1 ;
+ shui:widget shui:TextAreaEditor ;
+.
+
+shui:textAreaEditorScore20
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isString ;
+ shui:shapesGraphShape shui:isSingleLineFalse ;
+ shui:score 20 ;
+ shui:widget shui:TextAreaEditor ;
+.
+
+shui:textAreaEditorScore5
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isString ;
+ shui:score 5 ;
+ shui:widget shui:TextAreaEditor ;
+.
+
+shui:textAreaEditorScore2
+ a shui:WidgetScore ;
+ shui:shapesGraphShape shui:permitsString ;
+ shui:score 2 ;
+ shui:widget shui:TextAreaEditor ;
+.
+
+shui:textAreaEditorScore0
+ a shui:WidgetScore ;
+ shui:shapesGraphShape shui:hasCustomDatatype ;
+ shui:widget shui:TextAreaEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/text-area-with-lang-editor.ttl b/shacl12-ui/widgets/editors/text-area-with-lang-editor.ttl
new file mode 100644
index 00000000..356b66d4
--- /dev/null
+++ b/shacl12-ui/widgets/editors/text-area-with-lang-editor.ttl
@@ -0,0 +1,31 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:textAreaWithLangEditorScoreMinus1
+ a shui:WidgetScore ;
+ shui:shapesGraphShape shui:isSingleLineTrue ;
+ shui:score -1 ;
+ shui:widget shui:TextAreaWithLangEditor ;
+.
+
+shui:textAreaWithLangEditorScore15
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isLangString ;
+ shui:shapesGraphShape shui:isSingleLineFalse ;
+ shui:score 15 ;
+ shui:widget shui:TextAreaWithLangEditor ;
+.
+
+shui:textAreaWithLangEditorScore5
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isLangString ;
+ shui:score 5 ;
+ shui:widget shui:TextAreaWithLangEditor ;
+.
+
+shui:textAreaWithLangEditorScore5Permits
+ a shui:WidgetScore ;
+ shui:shapesGraphShape shui:permitsLangString ;
+ shui:score 5 ;
+ shui:widget shui:TextAreaWithLangEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/text-field-editor.ttl b/shacl12-ui/widgets/editors/text-field-editor.ttl
new file mode 100644
index 00000000..cd74b04d
--- /dev/null
+++ b/shacl12-ui/widgets/editors/text-field-editor.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:textFieldEditorScore10
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isPlainLiteral ;
+ shui:score 10 ;
+ shui:widget shui:TextFieldEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/text-field-with-lang-editor.ttl b/shacl12-ui/widgets/editors/text-field-with-lang-editor.ttl
new file mode 100644
index 00000000..42bd63b1
--- /dev/null
+++ b/shacl12-ui/widgets/editors/text-field-with-lang-editor.ttl
@@ -0,0 +1,23 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:textFieldWithLangEditorScore11
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isLangString ;
+ shui:score 11 ;
+ shui:widget shui:TextFieldWithLangEditor ;
+.
+
+shui:textFieldWithLangEditorScore11Permits
+ a shui:WidgetScore ;
+ shui:shapesGraphShape shui:permitsLangStringOrString ;
+ shui:score 11 ;
+ shui:widget shui:TextFieldWithLangEditor ;
+.
+
+shui:textFieldWithLangEditorScore5
+ a shui:WidgetScore ;
+ shui:shapesGraphShape shui:isNotSingleLineFalse, shui:permitsLangString ;
+ shui:score 5 ;
+ shui:widget shui:TextFieldWithLangEditor ;
+.
diff --git a/shacl12-ui/widgets/editors/uri-editor.ttl b/shacl12-ui/widgets/editors/uri-editor.ttl
new file mode 100644
index 00000000..3b078e57
--- /dev/null
+++ b/shacl12-ui/widgets/editors/uri-editor.ttl
@@ -0,0 +1,17 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:uriEditorScore10
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isIRI ;
+ shui:shapesGraphShape shui:isIRI, shui:hasNoClassConstraint ;
+ shui:score 10 ;
+ shui:widget shui:URIEditor ;
+.
+
+shui:uriEditorScore0
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isIRI ;
+ shui:score 0 ;
+ shui:widget shui:URIEditor ;
+.
diff --git a/shacl12-ui/widgets/score-shapes.ttl b/shacl12-ui/widgets/score-shapes.ttl
new file mode 100644
index 00000000..98832e04
--- /dev/null
+++ b/shacl12-ui/widgets/score-shapes.ttl
@@ -0,0 +1,182 @@
+PREFIX sh:
+PREFIX shui:
+PREFIX xsd:
+@prefix rdf: .
+
+shui:isBlankNode
+ a sh:NodeShape ;
+ sh:nodeKind sh:BlankNode ;
+.
+
+shui:isBoolean
+ a sh:NodeShape ;
+ sh:datatype xsd:boolean ;
+.
+
+shui:isDate
+ a sh:NodeShape ;
+ sh:datatype xsd:date ;
+.
+
+shui:isDateTime
+ a sh:NodeShape ;
+ sh:datatype xsd:dateTime ;
+.
+
+shui:isIRI
+ a sh:NodeShape ;
+ sh:nodeKind sh:IRI ;
+.
+
+shui:literalsAllowedAndNoDatatypeSpecified
+ a sh:NodeShape ;
+ sh:property
+ [
+ sh:hasValue sh:Literal ;
+ sh:path sh:nodeKind ;
+ ] ,
+ [
+ sh:maxCount 0 ;
+ sh:path sh:datatype ;
+ ] ;
+.
+
+shui:isNotLiteral
+ a sh:NodeShape ;
+ sh:not [
+ sh:nodeKind sh:Literal ;
+ ] ;
+.
+
+shui:hasInConstraint
+ a sh:NodeShape ;
+ sh:property [
+ sh:path sh:in ;
+ sh:minCount 1 ;
+ ] ;
+.
+
+shui:hasClassConstraint
+ a sh:NodeShape ;
+ sh:property [
+ sh:path sh:class ;
+ sh:minCount 1 ;
+ ] ;
+.
+
+shui:isHTML
+ a sh:NodeShape ;
+ sh:datatype rdf:HTML ;
+.
+
+shui:isSingleLineTrue
+ a sh:NodeShape ;
+ sh:property [
+ sh:path sh:singleLine ;
+ sh:hasValue true ;
+ ] ;
+.
+
+shui:isSingleLineFalse
+ a sh:NodeShape ;
+ sh:property [
+ sh:path sh:singleLine ;
+ sh:hasValue false ;
+ ] ;
+.
+
+shui:isString
+ a sh:NodeShape ;
+ sh:datatype xsd:string ;
+.
+
+shui:permitsString
+ a sh:NodeShape ;
+ sh:property [
+ sh:path sh:datatype ;
+ sh:hasValue xsd:string ;
+ ] ;
+.
+
+shui:hasCustomDatatype
+ a sh:NodeShape ;
+ sh:property [
+ sh:path sh:datatype ;
+ sh:minCount 1 ;
+ ] ;
+ sh:not [
+ sh:property [
+ sh:path sh:datatype ;
+ sh:pattern "^http://www.w3.org/2001/XMLSchema#|^http://www.w3.org/1999/02/22-rdf-syntax-ns#" ;
+ ] ;
+ ] ;
+.
+
+shui:isLangString
+ a sh:NodeShape ;
+ sh:datatype rdf:langString ;
+.
+
+shui:permitsLangString
+ a sh:NodeShape ;
+ sh:property [
+ sh:path sh:datatype ;
+ sh:hasValue rdf:langString ;
+ ] ;
+.
+
+shui:isPlainLiteral
+ a sh:NodeShape ;
+ sh:nodeKind sh:Literal ;
+ sh:not [ sh:datatype rdf:langString ] ;
+ sh:not [ sh:datatype xsd:boolean ] ;
+.
+
+shui:permitsLangStringOrString
+ a sh:NodeShape ;
+ sh:or (
+ [
+ sh:property [
+ sh:path sh:datatype ;
+ sh:hasValue rdf:langString
+ ]
+ ]
+ [
+ sh:property [
+ sh:path sh:datatype ;
+ sh:hasValue xsd:string
+ ]
+ ]
+ ) ;
+.
+
+shui:isNotSingleLineFalse
+ a sh:NodeShape ;
+ sh:not shui:isSingleLineFalse ;
+.
+
+shui:hasNoClassConstraint
+ a sh:NodeShape ;
+ sh:not shui:hasClassConstraint ;
+.
+
+shui:isAnyURI
+ a sh:NodeShape ;
+ sh:datatype xsd:anyURI ;
+.
+
+shui:hasImageFileExtension
+ a sh:NodeShape ;
+ sh:property [
+ sh:or (
+ [
+ sh:nodeKind sh:IRI
+ ]
+ [
+ sh:nodeKind sh:Literal
+ ]
+ ) ;
+ sh:pattern "\.(jpg|jpeg|png|gif|bmp|svg|webp|avif)$" ;
+ sh:flags "i" ;
+ ] ;
+.
diff --git a/shacl12-ui/widgets/viewers/blank-node-viewer.ttl b/shacl12-ui/widgets/viewers/blank-node-viewer.ttl
new file mode 100644
index 00000000..cc22e7e4
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/blank-node-viewer.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:blankNodeViewerScore1
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isBlankNode ;
+ shui:score 1 ;
+ shui:widget shui:BlankNodeViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/details-viewer.ttl b/shacl12-ui/widgets/viewers/details-viewer.ttl
new file mode 100644
index 00000000..f8a4c69e
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/details-viewer.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:detailsViewerScore0
+ a shui:WidgetScore ;
+ shui:score 0 ;
+ shui:shapesGraphShape shui:isNotLiteral ;
+ shui:widget shui:DetailsViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/html-viewer.ttl b/shacl12-ui/widgets/viewers/html-viewer.ttl
new file mode 100644
index 00000000..d2a9865e
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/html-viewer.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:htmlViewerScore50
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isHTML ;
+ shui:score 50 ;
+ shui:widget shui:HTMLViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/hyperlink-viewer.ttl b/shacl12-ui/widgets/viewers/hyperlink-viewer.ttl
new file mode 100644
index 00000000..fff56df6
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/hyperlink-viewer.ttl
@@ -0,0 +1,16 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:hyperlinkViewerScore50
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isAnyURI ;
+ shui:score 50 ;
+ shui:widget shui:HyperlinkViewer ;
+.
+
+shui:hyperlinkViewerScore0
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isString ;
+ shui:score 0 ;
+ shui:widget shui:HyperlinkViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/image-viewer.ttl b/shacl12-ui/widgets/viewers/image-viewer.ttl
new file mode 100644
index 00000000..6732825b
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/image-viewer.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:imageViewerScore50
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:hasImageFileExtension ;
+ shui:score 50 ;
+ shui:widget shui:ImageViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/label-viewer.ttl b/shacl12-ui/widgets/viewers/label-viewer.ttl
new file mode 100644
index 00000000..382364ec
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/label-viewer.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:labelViewerScore5
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isIRI ;
+ shui:score 5 ;
+ shui:widget shui:LabelViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/lang-string-viewer.ttl b/shacl12-ui/widgets/viewers/lang-string-viewer.ttl
new file mode 100644
index 00000000..d6c5e45f
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/lang-string-viewer.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:langStringViewerScore10
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isLangString ;
+ shui:score 10 ;
+ shui:widget shui:LangStringViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/literal-viewer.ttl b/shacl12-ui/widgets/viewers/literal-viewer.ttl
new file mode 100644
index 00000000..5999c95c
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/literal-viewer.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:literalViewerScore1
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isLiteral ;
+ shui:score 1 ;
+ shui:widget shui:LiteralViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/uri-viewer.ttl b/shacl12-ui/widgets/viewers/uri-viewer.ttl
new file mode 100644
index 00000000..2162e125
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/uri-viewer.ttl
@@ -0,0 +1,9 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:uriViewerScore1
+ a shui:WidgetScore ;
+ shui:dataGraphShape shui:isIRI ;
+ shui:score 1 ;
+ shui:widget shui:URIViewer ;
+.
diff --git a/shacl12-ui/widgets/viewers/value-table-viewer.ttl b/shacl12-ui/widgets/viewers/value-table-viewer.ttl
new file mode 100644
index 00000000..5b76ac59
--- /dev/null
+++ b/shacl12-ui/widgets/viewers/value-table-viewer.ttl
@@ -0,0 +1,8 @@
+PREFIX shui:
+PREFIX xsd:
+
+shui:valueTableViewerScore0
+ a shui:WidgetScore ;
+ shui:score 0 ;
+ shui:widget shui:ValueTableViewer ;
+.