From a72b93f5f5758bf49a46547e41be16f062d69cc1 Mon Sep 17 00:00:00 2001 From: Eli Chadwick Date: Wed, 4 Feb 2026 17:01:15 +0000 Subject: [PATCH 1/2] merge wroc experiment --- .../{must => }/0_main-workflow.ttl | 54 ++++++++++++++ .../{should => }/1_wroc_crate.ttl | 3 + .../{must => }/1_wroc_root_data_entity.ttl | 1 + .../{should => }/2_main-workflow.ttl | 0 .../{may => }/2_wrroc_crate.ttl | 1 + .../workflow-ro-crate/may/0_main-workflow.ttl | 70 ------------------- 6 files changed, 59 insertions(+), 70 deletions(-) rename rocrate_validator/profiles/workflow-ro-crate/{must => }/0_main-workflow.ttl (58%) rename rocrate_validator/profiles/workflow-ro-crate/{should => }/1_wroc_crate.ttl (96%) rename rocrate_validator/profiles/workflow-ro-crate/{must => }/1_wroc_root_data_entity.ttl (98%) rename rocrate_validator/profiles/workflow-ro-crate/{should => }/2_main-workflow.ttl (100%) rename rocrate_validator/profiles/workflow-ro-crate/{may => }/2_wrroc_crate.ttl (98%) delete mode 100644 rocrate_validator/profiles/workflow-ro-crate/may/0_main-workflow.ttl diff --git a/rocrate_validator/profiles/workflow-ro-crate/must/0_main-workflow.ttl b/rocrate_validator/profiles/workflow-ro-crate/0_main-workflow.ttl similarity index 58% rename from rocrate_validator/profiles/workflow-ro-crate/must/0_main-workflow.ttl rename to rocrate_validator/profiles/workflow-ro-crate/0_main-workflow.ttl index aefb42e7..6dfd73c6 100644 --- a/rocrate_validator/profiles/workflow-ro-crate/must/0_main-workflow.ttl +++ b/rocrate_validator/profiles/workflow-ro-crate/0_main-workflow.ttl @@ -20,6 +20,8 @@ @prefix schema: . @prefix sh: . @prefix validator: . +@prefix wroc: . + workflow-ro-crate:MainEntityPropertyMustExist a sh:NodeShape ; sh:name "Main Workflow entity existence" ; @@ -31,6 +33,7 @@ workflow-ro-crate:MainEntityPropertyMustExist a sh:NodeShape ; sh:minCount 1 ; sh:description "Check if the Main Workflow is specified through a `mainEntity` property in the root data entity" ; sh:message "The Main Workflow must be specified through a `mainEntity` property in the root data entity" ; + sh:severity sh:Violation; ] . workflow-ro-crate:FindMainWorkflow a sh:NodeShape, validator:HiddenShape ; @@ -70,6 +73,7 @@ workflow-ro-crate:MainWorkflowRequiredProperties a sh:NodeShape ; bioschemas:ComputationalWorkflow ; sh:minCount 1 ; sh:message "The Main Workflow must have types File, SoftwareSourceCode, ComputationalWorkflow" ; + sh:severity sh:Violation; ] ; sh:property [ a sh:PropertyShape ; @@ -79,4 +83,54 @@ workflow-ro-crate:MainWorkflowRequiredProperties a sh:NodeShape ; sh:class schema:ComputerLanguage ; sh:minCount 1 ; sh:message "The Main Workflow must refer to its language via programmingLanguage" ; + sh:severity sh:Violation; + ] . + + +workflow-ro-crate:MainWorkflowOptionalProperties a sh:NodeShape ; + sh:name "Main Workflow optional properties" ; + sh:description """Main Workflow properties defined as MAY"""; + sh:targetClass workflow-ro-crate:MainWorkflow ; + sh:property [ + a sh:PropertyShape ; + sh:name "Main Workflow image" ; + sh:description "The Crate MAY contain a Main Workflow Diagram; if present it MUST be referred to via 'image'" ; + sh:path schema:image ; + sh:class schema:MediaObject, schema:ImageObject ; + sh:minCount 1 ; + sh:message "The Crate MAY contain a Main Workflow Diagram; if present it MUST be referred to via 'image'" ; + sh:severity sh:Info ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:name "Main Workflow subjectOf" ; + sh:description "The Crate MAY contain a Main Workflow CWL Description; if present it MUST be referred to via 'subjectOf'" ; + sh:path schema:subjectOf ; + sh:node workflow-ro-crate:CWLDescriptionProperties ; + sh:minCount 1 ; + sh:message "The Crate MAY contain a Main Workflow CWL Description; if present it MUST be referred to via 'subjectOf'" ; + sh:severity sh:Info ; + ] . + +workflow-ro-crate:CWLDescriptionProperties a sh:NodeShape ; + sh:name "CWL Description properties" ; + sh:description "Main Workflow CWL Description properties" ; + sh:property [ + a sh:PropertyShape ; + sh:name "CWL Description type" ; + sh:description "The CWL Description type must be File, SoftwareSourceCode, HowTo" ; + sh:path rdf:type ; + sh:hasValue schema:MediaObject, schema:SoftwareSourceCode, schema:HowTo ; + sh:message "The CWL Description type must be File, SoftwareSourceCode, HowTo" ; + sh:severity sh:Info ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:name "CWL Description language" ; + sh:description "The CWL Description SHOULD have a language of https://w3id.org/workflowhub/workflow-ro-crate#cwl" ; + sh:path schema:programmingLanguage ; + sh:hasValue wroc:cwl ; + sh:class schema:ComputerLanguage ; + sh:message "The CWL Description SHOULD have a language of https://w3id.org/workflowhub/workflow-ro-crate#cwl" ; + sh:severity sh:Info ; ] . diff --git a/rocrate_validator/profiles/workflow-ro-crate/should/1_wroc_crate.ttl b/rocrate_validator/profiles/workflow-ro-crate/1_wroc_crate.ttl similarity index 96% rename from rocrate_validator/profiles/workflow-ro-crate/should/1_wroc_crate.ttl rename to rocrate_validator/profiles/workflow-ro-crate/1_wroc_crate.ttl index 6c32731a..377b813f 100644 --- a/rocrate_validator/profiles/workflow-ro-crate/should/1_wroc_crate.ttl +++ b/rocrate_validator/profiles/workflow-ro-crate/1_wroc_crate.ttl @@ -33,6 +33,7 @@ workflow-ro-crate:DescriptorProperties a sh:NodeShape ; ; sh:minCount 1 ; sh:message "The Metadata File Descriptor conformsTo SHOULD contain https://w3id.org/ro/crate/1.1 and https://w3id.org/workflowhub/workflow-ro-crate/1.0" ; + sh:severity sh:Warning; ] . workflow-ro-crate:FindReadme a sh:NodeShape ; @@ -47,6 +48,7 @@ workflow-ro-crate:FindReadme a sh:NodeShape ; sh:class ro-crate:RootDataEntity ; sh:minCount 1 ; sh:message "The README.md SHOULD be about the crate" ; + sh:severity sh:Warning; ] ; sh:property [ a sh:PropertyShape ; @@ -56,4 +58,5 @@ workflow-ro-crate:FindReadme a sh:NodeShape ; sh:hasValue "text/markdown" ; sh:minCount 1 ; sh:message "The README.md SHOULD have text/markdown as its encodingFormat" ; + sh:severity sh:Warning; ] . diff --git a/rocrate_validator/profiles/workflow-ro-crate/must/1_wroc_root_data_entity.ttl b/rocrate_validator/profiles/workflow-ro-crate/1_wroc_root_data_entity.ttl similarity index 98% rename from rocrate_validator/profiles/workflow-ro-crate/must/1_wroc_root_data_entity.ttl rename to rocrate_validator/profiles/workflow-ro-crate/1_wroc_root_data_entity.ttl index 47005164..9758532d 100644 --- a/rocrate_validator/profiles/workflow-ro-crate/must/1_wroc_root_data_entity.ttl +++ b/rocrate_validator/profiles/workflow-ro-crate/1_wroc_root_data_entity.ttl @@ -36,4 +36,5 @@ workflow-ro-crate:WROCRootDataEntityRequiredProperties a sh:NodeShape ; ) ; sh:minCount 1 ; sh:message "The Crate (Root Data Entity) must specify a license, which should be a URL but can also be a string" ; + sh:severity sh:Violation; ] . diff --git a/rocrate_validator/profiles/workflow-ro-crate/should/2_main-workflow.ttl b/rocrate_validator/profiles/workflow-ro-crate/2_main-workflow.ttl similarity index 100% rename from rocrate_validator/profiles/workflow-ro-crate/should/2_main-workflow.ttl rename to rocrate_validator/profiles/workflow-ro-crate/2_main-workflow.ttl diff --git a/rocrate_validator/profiles/workflow-ro-crate/may/2_wrroc_crate.ttl b/rocrate_validator/profiles/workflow-ro-crate/2_wrroc_crate.ttl similarity index 98% rename from rocrate_validator/profiles/workflow-ro-crate/may/2_wrroc_crate.ttl rename to rocrate_validator/profiles/workflow-ro-crate/2_wrroc_crate.ttl index 13017a84..455c6bbf 100644 --- a/rocrate_validator/profiles/workflow-ro-crate/may/2_wrroc_crate.ttl +++ b/rocrate_validator/profiles/workflow-ro-crate/2_wrroc_crate.ttl @@ -46,4 +46,5 @@ workflow-ro-crate:FindExamplesDir a sh:NodeShape ; sh:hasValue schema:Dataset ; sh:minCount 1 ; sh:message "The examples/ dir should be a Dataset" ; + sh:severity sh:Info; ] . diff --git a/rocrate_validator/profiles/workflow-ro-crate/may/0_main-workflow.ttl b/rocrate_validator/profiles/workflow-ro-crate/may/0_main-workflow.ttl deleted file mode 100644 index 8ee8ccb7..00000000 --- a/rocrate_validator/profiles/workflow-ro-crate/may/0_main-workflow.ttl +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright (c) 2024-2026 CRS4 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -@prefix ro: <./> . -@prefix ro-crate: . -@prefix workflow-ro-crate: . -@prefix rdf: . -@prefix schema: . -@prefix bioschemas: . -@prefix sh: . -@prefix wroc: . - -workflow-ro-crate:MainWorkflowOptionalProperties a sh:NodeShape ; - sh:name "Main Workflow optional properties" ; - sh:description """Main Workflow properties defined as MAY"""; - sh:targetClass workflow-ro-crate:MainWorkflow ; - sh:property [ - a sh:PropertyShape ; - sh:name "Main Workflow image" ; - sh:description "The Crate MAY contain a Main Workflow Diagram; if present it MUST be referred to via 'image'" ; - sh:path schema:image ; - sh:class schema:MediaObject, schema:ImageObject ; - sh:minCount 1 ; - sh:message "The Crate MAY contain a Main Workflow Diagram; if present it MUST be referred to via 'image'" ; - # sh:severity sh:Info ; - ] ; - sh:property [ - a sh:PropertyShape ; - sh:name "Main Workflow subjectOf" ; - sh:description "The Crate MAY contain a Main Workflow CWL Description; if present it MUST be referred to via 'subjectOf'" ; - sh:path schema:subjectOf ; - sh:node workflow-ro-crate:CWLDescriptionProperties ; - sh:minCount 1 ; - sh:message "The Crate MAY contain a Main Workflow CWL Description; if present it MUST be referred to via 'subjectOf'" ; - # sh:severity sh:Info ; - ] . - -workflow-ro-crate:CWLDescriptionProperties a sh:NodeShape ; - sh:name "CWL Description properties" ; - sh:description "Main Workflow CWL Description properties" ; - sh:property [ - a sh:PropertyShape ; - sh:name "CWL Description type" ; - sh:description "The CWL Description type must be File, SoftwareSourceCode, HowTo" ; - sh:path rdf:type ; - sh:hasValue schema:MediaObject, schema:SoftwareSourceCode, schema:HowTo ; - sh:message "The CWL Description type must be File, SoftwareSourceCode, HowTo" ; - # sh:severity sh:Info ; - ] ; - sh:property [ - a sh:PropertyShape ; - sh:name "CWL Description language" ; - sh:description "The CWL Description SHOULD have a language of https://w3id.org/workflowhub/workflow-ro-crate#cwl" ; - sh:path schema:programmingLanguage ; - sh:hasValue wroc:cwl ; - sh:class schema:ComputerLanguage ; - sh:message "The CWL Description SHOULD have a language of https://w3id.org/workflowhub/workflow-ro-crate#cwl" ; - # sh:severity sh:Info ; - ] . From 742ec630018c5ac3f9b41578ae2351d52d6f3832 Mon Sep 17 00:00:00 2001 From: Eli Chadwick Date: Thu, 5 Mar 2026 16:54:57 +0000 Subject: [PATCH 2/2] empty commit to trigger CI