From 14c634bb9c6eb232d09ff3776b821cacb9d76921 Mon Sep 17 00:00:00 2001 From: EttoreM Date: Mon, 22 Jun 2026 11:01:54 +0100 Subject: [PATCH 1/2] Updated content of flattened ttl file for ruleset #1. --- .../{must => }/1_requesting_agent.ttl | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) rename rocrate_validator/profiles/five-safes-crate/{must => }/1_requesting_agent.ttl (77%) diff --git a/rocrate_validator/profiles/five-safes-crate/must/1_requesting_agent.ttl b/rocrate_validator/profiles/five-safes-crate/1_requesting_agent.ttl similarity index 77% rename from rocrate_validator/profiles/five-safes-crate/must/1_requesting_agent.ttl rename to rocrate_validator/profiles/five-safes-crate/1_requesting_agent.ttl index b3b5a1382..ec2b84764 100644 --- a/rocrate_validator/profiles/five-safes-crate/must/1_requesting_agent.ttl +++ b/rocrate_validator/profiles/five-safes-crate/1_requesting_agent.ttl @@ -22,6 +22,8 @@ @prefix xsd: . +#=== MUST shapes ===# + five-safes-crate:AgentIsMemberOf a sh:NodeShape ; sh:name "Requesting Agent" ; @@ -49,6 +51,7 @@ five-safes-crate:AgentIsMemberOf five-safes-crate:AgentProjectIntersection a sh:NodeShape ; sh:name "Agent Project Intersection" ; + sh:severity sh:Violation ; sh:description """At least one Project referenced by Agent -> memberOf MUST be included in the set of Projects referenced by RootDataEntity -> sourceOrganization.""" ; sh:target [ a sh:SPARQLTarget ; @@ -77,6 +80,31 @@ five-safes-crate:AgentProjectIntersection } } """ ; - ] ; - sh:severity sh:Violation ; - sh:message """At least one Project referenced by Agent -> memberOf MUST be included in the set of Projects referenced by RootDataEntity -> sourceOrganization.""" . \ No newline at end of file + sh:message """At least one Project referenced by Agent -> memberOf MUST be included in the set of Projects referenced by RootDataEntity -> sourceOrganization.""" ; + ] . + + +#=== SHOULD shapes ===# + +five-safes-crate:AgentIsMemberOf + a sh:NodeShape ; + sh:name "Requesting Agent" ; + sh:target [ + a sh:SPARQLTarget ; + sh:prefixes ro-crate:sparqlPrefixes ; + sh:select """ + SELECT DISTINCT ?this WHERE { + ?action a schema:CreateAction ; + schema:agent ?this . + } + """ + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:name "memberOf" ; + sh:path schema:memberOf; + sh:minCount 1 ; + sh:severity sh:Warning ; + sh:message """The Requesting Agent SHOULD have a `memberOf` property.""" ; + ] . From 008add1172eabf5cf666bdb6b1e80b7dad3ca13c Mon Sep 17 00:00:00 2001 From: EttoreM Date: Mon, 22 Jun 2026 11:07:04 +0100 Subject: [PATCH 2/2] Updated content of flattened ttl file for ruleset #1 (requesting agent) --- .../profiles/five-safes-crate/1_requesting_agent.ttl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/rocrate_validator/profiles/five-safes-crate/1_requesting_agent.ttl b/rocrate_validator/profiles/five-safes-crate/1_requesting_agent.ttl index ec2b84764..0e70407f5 100644 --- a/rocrate_validator/profiles/five-safes-crate/1_requesting_agent.ttl +++ b/rocrate_validator/profiles/five-safes-crate/1_requesting_agent.ttl @@ -51,7 +51,6 @@ five-safes-crate:AgentIsMemberOf five-safes-crate:AgentProjectIntersection a sh:NodeShape ; sh:name "Agent Project Intersection" ; - sh:severity sh:Violation ; sh:description """At least one Project referenced by Agent -> memberOf MUST be included in the set of Projects referenced by RootDataEntity -> sourceOrganization.""" ; sh:target [ a sh:SPARQLTarget ; @@ -80,8 +79,9 @@ five-safes-crate:AgentProjectIntersection } } """ ; - sh:message """At least one Project referenced by Agent -> memberOf MUST be included in the set of Projects referenced by RootDataEntity -> sourceOrganization.""" ; - ] . + ] ; + sh:severity sh:Violation ; + sh:message """At least one Project referenced by Agent -> memberOf MUST be included in the set of Projects referenced by RootDataEntity -> sourceOrganization.""" . #=== SHOULD shapes ===# @@ -94,7 +94,7 @@ five-safes-crate:AgentIsMemberOf sh:prefixes ro-crate:sparqlPrefixes ; sh:select """ SELECT DISTINCT ?this WHERE { - ?action a schema:CreateAction ; + ?action a rocrate:WorkflowRunAction ; schema:agent ?this . } """ @@ -108,3 +108,7 @@ five-safes-crate:AgentIsMemberOf sh:severity sh:Warning ; sh:message """The Requesting Agent SHOULD have a `memberOf` property.""" ; ] . + + + #=== MAY shapes ===# + # (none) \ No newline at end of file