2323@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
2424
2525
26+ # === MUST shapes ===#
27+
28+ five-safes-crate:CheckValueObjectHasDescriptiveNameAndIsAssessAction
29+ a sh:NodeShape ;
30+ sh:name " CheckValue" ;
31+ sh:description " " ;
32+
33+ sh:target [
34+ a sh:SPARQLTarget ;
35+ sh:select """
36+ PREFIX schema: <http://schema.org/>
37+ PREFIX shp: <https://w3id.org/shp#>
38+
39+ SELECT ?this
40+ WHERE {
41+ ?this schema:additionalType shp:CheckValue .
42+ }
43+ """ ;
44+ ] ;
45+
46+ sh:property [
47+ sh:path rdf:type ;
48+ sh:minCount 1 ;
49+ sh:hasValue schema:AssessAction;
50+ sh:severity sh:Violation ;
51+ sh:message " CheckValue MUST be a `AssessAction`." ;
52+ ] ;
53+
54+ sh:property [
55+ sh:a sh:PropertyShape ;
56+ sh:name " name" ;
57+ sh:description " CheckValue MUST have a human readable name string." ;
58+ sh:path schema:name ;
59+ sh:datatype xsd:string ;
60+ sh:severity sh:Violation ;
61+ sh:message " CheckValue MUST have a human readable name string." ;
62+ ] .
63+
64+ five-safes-crate:CheckValueActionStatusMustHaveAllowedValues
65+ a sh:NodeShape ;
66+ sh:name " CheckValue" ;
67+ sh:description " " ;
68+
69+ sh:target [
70+ a sh:SPARQLTarget ;
71+ sh:select """
72+ PREFIX schema: <http://schema.org/>
73+ PREFIX shp: <https://w3id.org/shp#>
74+
75+ SELECT ?this
76+ WHERE {
77+ ?this schema:additionalType shp:CheckValue ;
78+ schema:actionStatus ?status .
79+ }
80+ """ ;
81+ ] ;
82+
83+ sh:property [
84+ a sh:PropertyShape ;
85+ sh:name " ActionStatus" ;
86+ sh:path schema:actionStatus ;
87+ sh:in (
88+ " http://schema.org/PotentialActionStatus"
89+ " http://schema.org/ActiveActionStatus"
90+ " http://schema.org/CompletedActionStatus"
91+ " http://schema.org/FailedActionStatus"
92+ ) ;
93+ sh:severity sh:Violation ;
94+ sh:message " `CheckValue` --> `actionStatus` MUST have one of the allowed values." ;
95+ ] .
96+
97+
98+ # === SHOULD shapes ===#
99+
26100five-safes-crate:RootDataEntityShouldMentionCheckValueObject
27101 a sh:NodeShape ;
28102 sh:name " RootDataEntity" ;
29103 sh:targetClass ro-crate:RootDataEntity ;
30104 sh:description " " ;
105+ sh:severity sh:Warning ;
31106
32107 sh:sparql [
33108 a sh:SPARQLConstraint ;
@@ -44,7 +119,6 @@ five-safes-crate:RootDataEntityShouldMentionCheckValueObject
44119 }
45120 }
46121 """ ;
47- sh:severity sh:Warning ;
48122 sh:message " RootDataEntity SHOULD mention a check value object." ;
49123 ] .
50124
@@ -188,3 +262,38 @@ five-safes-crate:CheckValueShouldHaveActionStatus
188262 sh:severity sh:Warning ;
189263 sh:message " CheckValue SHOULD have actionStatus property." ;
190264 ] .
265+
266+
267+ # === MAY shapes ===#
268+
269+ five-safes-crate:CheckValueMayHaveStartTime
270+ a sh:NodeShape ;
271+ sh:name " CheckValue" ;
272+ sh:description " " ;
273+ sh:target [
274+ a sh:SPARQLTarget ;
275+ sh:select """
276+ PREFIX schema: <http://schema.org/>
277+ PREFIX shp: <https://w3id.org/shp#>
278+ SELECT ?this
279+ WHERE {
280+ ?this schema:additionalType shp:CheckValue ;
281+ schema:actionStatus ?status .
282+ FILTER(?status IN (
283+ "http://schema.org/CompletedActionStatus",
284+ "http://schema.org/FailedActionStatus",
285+ "http://schema.org/ActiveActionStatus"
286+ ))
287+ }
288+ """ ;
289+ ] ;
290+
291+ sh:property [
292+ a sh:PropertyShape ;
293+ sh:name " StartTime" ;
294+ sh:path schema:startTime ;
295+ sh:minCount 1 ;
296+ sh:maxCount 1 ;
297+ sh:severity sh:Info ;
298+ sh:message " `CheckValue` MAY have the `startTime` property." ;
299+ ] .
0 commit comments