From d3acbba8d486d0e98d6580eb21f2bcf0e54d2df7 Mon Sep 17 00:00:00 2001 From: Stian Soiland-Reyes Date: Thu, 12 Jan 2023 15:52:30 +0000 Subject: [PATCH 1/2] Add conformsTo to identify profile conformance Following https://www.researchobject.org/ro-crate/1.2-DRAFT/profiles but with "conformsTo" applied to "./" as suggested in https://github.com/ResearchObject/ro-crate/issues/153#issuecomment-1240446098 --- docs/profiles/0.1-DRAFT/process_run_crate.md | 29 +++++++++- .../0.1-DRAFT/provenance_run_crate.md | 54 +++++++++++++++---- docs/profiles/0.1-DRAFT/workflow_run_crate.md | 41 +++++++++++++- 3 files changed, 112 insertions(+), 12 deletions(-) diff --git a/docs/profiles/0.1-DRAFT/process_run_crate.md b/docs/profiles/0.1-DRAFT/process_run_crate.md index 66dfeea..50df0df 100644 --- a/docs/profiles/0.1-DRAFT/process_run_crate.md +++ b/docs/profiles/0.1-DRAFT/process_run_crate.md @@ -21,13 +21,21 @@ By "implicit workflow" we mean that the composition of these tools may have been This profile requires the indication of [Software used to create files](https://www.researchobject.org/ro-crate/1.1/provenance.html#software-used-to-create-files), namely a [SoftwareApplication](http://schema.org/SoftwareApplication) (the tool) and a [CreateAction](http://schema.org/CreateAction) (the execution of said tool). -## Example +## Example Metadata File (`ro-crate-metadata.json`) ```json -[ +{ "@context": "https://w3id.org/ro/crate/1.1/context", + "@graph": [ + { + "@id": "ro-crate-metadata.json", + "@type": "CreativeWork", + "conformsTo": {"@id": "https://w3id.org/ro/crate/1.1"}, + "about": {"@id": "./"} + }, { "@id": "./", "@type": "Dataset", + "conformsTo": { "@id": "https://w3id.org/ro/wfrun/process/0.1" }, "hasPart": [ {"@id": "pics/2017-06-11%2012.56.14.jpg"}, {"@id": "pics/sepia_fence.jpg"} @@ -35,6 +43,11 @@ This profile requires the indication of [Software used to create files](https:// "mentions": {"@id": "#SepiaConversion_1"}, "name": "My Pictures" }, + { "@id": "https://w3id.org/ro/wfrun/process/0.1", + "@type": "CreativeWork", + "name": "Process Run Crate", + "version": "0.1" + }, { "@id": "https://www.imagemagick.org/", "@type": "SoftwareApplication", @@ -73,11 +86,14 @@ This profile requires the indication of [Software used to create files](https:// "name": "Stian Soiland-Reyes" } ] +} ``` Note that the command line shown in the action's `description` is not directly re-executable, as file paths are not required to match the RO-Crate locations. For a more structural and reproducible description of tool executions, see [Workflow Run Crate](workflow_run_crate). + + ## Requirements @@ -88,6 +104,15 @@ Note that the command line shown in the action's `description` is not directly r + + + + + + + + diff --git a/docs/profiles/0.1-DRAFT/provenance_run_crate.md b/docs/profiles/0.1-DRAFT/provenance_run_crate.md index acebf5e..a15d31a 100644 --- a/docs/profiles/0.1-DRAFT/provenance_run_crate.md +++ b/docs/profiles/0.1-DRAFT/provenance_run_crate.md @@ -29,13 +29,29 @@ The following diagram shows the relationships between all provenance-related ent Entity-relationship diagram -## Example +## Example Metadata File (`ro-crate-metadata.json`) ```json -[ +{ "@context": "https://w3id.org/ro/crate/1.1/context", + "@graph": [ + { + "@id": "ro-crate-metadata.json", + "@type": "CreativeWork", + "about": {"@id": "./"}, + "conformsTo": [ + {"@id": "https://w3id.org/ro/crate/1.1"}, + {"@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} + ] + }, { "@id": "./", "@type": "Dataset", + "conformsTo": [ + { "@id": "https://w3id.org/ro/wfrun/process/0.1" }, + { "@id": "https://w3id.org/ro/wfrun/workflow/0.1" }, + { "@id": "https://w3id.org/ro/wfrun/provenance/0.1" }, + { "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} + ], "hasPart": [ {"@id": "packed.cwl"}, {"@id": "327fc7aedf4f6b69a42a7c8b808dc5a7aff61376"}, @@ -47,14 +63,25 @@ The following diagram shows the relationships between all provenance-related ent {"@id": "#4154dad3-00cc-4e35-bb8f-a2de5cd7dc49"} ] }, - { - "@id": "ro-crate-metadata.json", + { "@id": "https://w3id.org/ro/wfrun/process/0.1", "@type": "CreativeWork", - "about": {"@id": "./"}, - "conformsTo": [ - {"@id": "https://w3id.org/ro/crate/1.1"}, - {"@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} - ] + "name": "Process Run Crate", + "version": "0.1" + }, + { "@id": "https://w3id.org/ro/wfrun/workflow/0.1", + "@type": "CreativeWork", + "name": "Workflow Run Crate", + "version": "0.1" + }, + { "@id": "https://w3id.org/ro/wfrun/provenance/0.1", + "@type": "CreativeWork", + "name": "Provenance Run Crate", + "version": "0.1" + }, + { "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0", + "@type": "CreativeWork", + "name": "Workflow RO-Crate", + "version": "1.0" }, { "@id": "packed.cwl", @@ -415,6 +442,15 @@ The requirements of this profile are those of [Workflow Run Crate](workflow_run_ + + + + + + + + diff --git a/docs/profiles/0.1-DRAFT/workflow_run_crate.md b/docs/profiles/0.1-DRAFT/workflow_run_crate.md index 206f605..4538427 100644 --- a/docs/profiles/0.1-DRAFT/workflow_run_crate.md +++ b/docs/profiles/0.1-DRAFT/workflow_run_crate.md @@ -24,10 +24,25 @@ Some workflows have multiple inputs/outputs that, in conformance with the [Biosc ## Example ```json -[ +{ "@context": "https://w3id.org/ro/crate/1.1/context", + "@graph": [ + { + "@id": "ro-crate-metadata.json", + "@type": "CreativeWork", + "about": {"@id": "./"}, + "conformsTo": [ + {"@id": "https://w3id.org/ro/crate/1.1"}, + {"@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} + ] + }, { "@id": "./", "@type": "Dataset", + "conformsTo": [ + { "@id": "https://w3id.org/ro/wfrun/process/0.1" }, + { "@id": "https://w3id.org/ro/wfrun/workflow/0.1" }, + { "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} + ], "hasPart": [ {"@id": "Galaxy-Workflow-Hello_World.ga"}, {"@id": "inputs/abcdef.txt"}, @@ -38,6 +53,21 @@ Some workflows have multiple inputs/outputs that, in conformance with the [Biosc "mainEntity": {"@id": "Galaxy-Workflow-Hello_World.ga"}, "mentions": {"@id": "#wfrun-5a5970ab-4375-444d-9a87-a764a66e3a47"} }, + { "@id": "https://w3id.org/ro/wfrun/process/0.1", + "@type": "CreativeWork", + "name": "Process Run Crate", + "version": "0.1" + }, + { "@id": "https://w3id.org/ro/wfrun/workflow/0.1", + "@type": "CreativeWork", + "name": "Workflow Run Crate", + "version": "0.1" + }, + { "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0", + "@type": "CreativeWork", + "name": "Workflow RO-Crate", + "version": "1.0" + }, { "@id": "Galaxy-Workflow-Hello_World.ga", "@type": ["File", "SoftwareSourceCode", "ComputationalWorkflow"], @@ -186,6 +216,15 @@ This profile inherits the requirements of [Process Run Crate](process_run_crate) + + + + + + + + From a110f03b4dddeb8d2808cbefdf1aaa6e34e271cc Mon Sep 17 00:00:00 2001 From: simleo Date: Mon, 16 Jan 2023 13:25:22 +0100 Subject: [PATCH 2/2] fix formatting --- docs/profiles/0.1-DRAFT/process_run_crate.md | 8 +++----- docs/profiles/0.1-DRAFT/provenance_run_crate.md | 15 ++++++++------- docs/profiles/0.1-DRAFT/workflow_run_crate.md | 13 +++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/profiles/0.1-DRAFT/process_run_crate.md b/docs/profiles/0.1-DRAFT/process_run_crate.md index 50df0df..ecfc2e1 100644 --- a/docs/profiles/0.1-DRAFT/process_run_crate.md +++ b/docs/profiles/0.1-DRAFT/process_run_crate.md @@ -35,7 +35,7 @@ This profile requires the indication of [Software used to create files](https:// { "@id": "./", "@type": "Dataset", - "conformsTo": { "@id": "https://w3id.org/ro/wfrun/process/0.1" }, + "conformsTo": {"@id": "https://w3id.org/ro/wfrun/process/0.1"}, "hasPart": [ {"@id": "pics/2017-06-11%2012.56.14.jpg"}, {"@id": "pics/sepia_fence.jpg"} @@ -92,8 +92,6 @@ This profile requires the indication of [Software used to create files](https:// Note that the command line shown in the action's `description` is not directly re-executable, as file paths are not required to match the RO-Crate locations. For a more structural and reproducible description of tool executions, see [Workflow Run Crate](workflow_run_crate). - - ## Requirements
Description
Dataset (the root data entity, e.g. "@id": "./")
conformsToMUSTMUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, e.g. {"@id": "https://w3id.org/ro/wfrun/process/0.1"} +
SoftwareApplication
Description
Dataset (the root data entity, e.g. "@id": "./")
conformsToMUSTArray MUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, and SHOULD also reference versioned permalinks for Process Run Crate, Workflow Run Crate and Workflow RO-Crate. +
ComputationalWorkflow
Description
Dataset (the root data entity, e.g. "@id": "./")
conformsToMUSTArray MUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, and SHOULD also reference versioned permalinks for Process Run Crate and Workflow RO-Crate. +
CreateAction
@@ -110,7 +108,7 @@ Note that the command line shown in the action's `description` is not directly r - @@ -160,7 +158,7 @@ Note that the command line shown in the action's `description` is not directly r - + diff --git a/docs/profiles/0.1-DRAFT/provenance_run_crate.md b/docs/profiles/0.1-DRAFT/provenance_run_crate.md index a15d31a..235628e 100644 --- a/docs/profiles/0.1-DRAFT/provenance_run_crate.md +++ b/docs/profiles/0.1-DRAFT/provenance_run_crate.md @@ -32,7 +32,7 @@ The following diagram shows the relationships between all provenance-related ent ## Example Metadata File (`ro-crate-metadata.json`) ```json -{ "@context": "https://w3id.org/ro/crate/1.1/context", +{ "@context": "https://w3id.org/ro/crate/1.1/context", "@graph": [ { "@id": "ro-crate-metadata.json", @@ -47,10 +47,10 @@ The following diagram shows the relationships between all provenance-related ent "@id": "./", "@type": "Dataset", "conformsTo": [ - { "@id": "https://w3id.org/ro/wfrun/process/0.1" }, - { "@id": "https://w3id.org/ro/wfrun/workflow/0.1" }, - { "@id": "https://w3id.org/ro/wfrun/provenance/0.1" }, - { "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} + {"@id": "https://w3id.org/ro/wfrun/process/0.1"}, + {"@id": "https://w3id.org/ro/wfrun/workflow/0.1"}, + {"@id": "https://w3id.org/ro/wfrun/provenance/0.1"}, + {"@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} ], "hasPart": [ {"@id": "packed.cwl"}, @@ -72,7 +72,7 @@ The following diagram shows the relationships between all provenance-related ent "@type": "CreativeWork", "name": "Workflow Run Crate", "version": "0.1" - }, + }, { "@id": "https://w3id.org/ro/wfrun/provenance/0.1", "@type": "CreativeWork", "name": "Provenance Run Crate", @@ -321,6 +321,7 @@ The following diagram shows the relationships between all provenance-related ent "value": "True" } ] +} ``` @@ -448,7 +449,7 @@ The requirements of this profile are those of [Workflow Run Crate](workflow_run_ - diff --git a/docs/profiles/0.1-DRAFT/workflow_run_crate.md b/docs/profiles/0.1-DRAFT/workflow_run_crate.md index 4538427..02d0635 100644 --- a/docs/profiles/0.1-DRAFT/workflow_run_crate.md +++ b/docs/profiles/0.1-DRAFT/workflow_run_crate.md @@ -21,10 +21,10 @@ This profile is a combination of [Process Run Crate](process_run_crate) and [Wor Some workflows have multiple inputs/outputs that, in conformance with the [Bioschemas ComputationalWorkflow profile](https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE) are defined as [FormalParameter](https://bioschemas.org/types/FormalParameter/1.0-RELEASE) entities. It is OPTIONAL to include these definitions on a `ComputationalWorkflow`. A data entity or `PropertyValue` that realizes a `FormalParameter` definition SHOULD refer to it via [exampleOfWork](https://schema.org/exampleOfWork); additionally, if the data entity or `PropertyValue` is an illustrative example of the parameter, the latter MAY refer back to the former using the reverse property [workExample](https://schema.org/workExample). This links the `input` of a `ComputationalWorkflow` to the `object` of a `CreateAction`, and the `output` of a `ComputationalWorkflow` to the `result` of a `CreateAction`. An `object` item that does not match a slot in the workflow's input interface (e.g., a [configuration file](process_run_crate#referencing-configuration-files) read from a predefined path) MUST NOT refer to a `FormalParameter` of the `ComputationalWorkflow` via `exampleOfWork`. A `FormalParameter` that maps to a `PropertyValue` SHOULD have a subclass of [DataType](https://schema.org/DataType) (e.g., [Integer](https://schema.org/Integer)) — or [PropertyValue](https://schema.org/PropertyValue), in the case of dictionary-like structured types — as its `additionalType`. See [CWL parameter mapping](/workflow-run-crate/cwl_param_mapping) for an example. -## Example +## Example Metadata File (`ro-crate-metadata.json`) ```json -{ "@context": "https://w3id.org/ro/crate/1.1/context", +{ "@context": "https://w3id.org/ro/crate/1.1/context", "@graph": [ { "@id": "ro-crate-metadata.json", @@ -39,9 +39,9 @@ Some workflows have multiple inputs/outputs that, in conformance with the [Biosc "@id": "./", "@type": "Dataset", "conformsTo": [ - { "@id": "https://w3id.org/ro/wfrun/process/0.1" }, - { "@id": "https://w3id.org/ro/wfrun/workflow/0.1" }, - { "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} + {"@id": "https://w3id.org/ro/wfrun/process/0.1"}, + {"@id": "https://w3id.org/ro/wfrun/workflow/0.1"}, + {"@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"} ], "hasPart": [ {"@id": "Galaxy-Workflow-Hello_World.ga"}, @@ -201,6 +201,7 @@ Some workflows have multiple inputs/outputs that, in conformance with the [Biosc "name": "Workflow Execution Summary of Hello World" } ] +} ``` @@ -222,7 +223,7 @@ This profile inherits the requirements of [Process Run Crate](process_run_crate) -
conformsTo MUSTMUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, e.g. {"@id": "https://w3id.org/ro/wfrun/process/0.1"} + MUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, e.g. {"@id": "https://w3id.org/ro/wfrun/process/0.1"}
@id MUSTA unique identifier for the execution, e.g. "urn:uuid:50ec5c76-1f7a-4130-8ef6-846756b228c1", "#f99a8e6c". MAY be an absolute URI, e.g. http://example.com/runs/846756b228c1. The use of randomly generated UUIDs (type 4) is RECOMMENDED. SHOULD be listed under mentions of the [root data entity](https://www.researchobject.org/ro-crate/1.1/root-data-entity.html).A unique identifier for the execution, e.g. "urn:uuid:50ec5c76-1f7a-4130-8ef6-846756b228c1", "#f99a8e6c". MAY be an absolute URI, e.g. http://example.com/runs/846756b228c1. The use of randomly generated UUIDs (type 4) is RECOMMENDED. SHOULD be listed under mentions of the root data entity.
conformsTo MUSTArray MUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, and SHOULD also reference versioned permalinks for Process Run Crate, Workflow Run Crate and Workflow RO-Crate. + Array MUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, and SHOULD also reference versioned permalinks for Process Run Crate, Workflow Run Crate and Workflow RO-Crate.
conformsTo MUSTArray MUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, and SHOULD also reference versioned permalinks for Process Run Crate and Workflow RO-Crate. + Array MUST reference a CreativeWork entity with an @id URI that is consistent with the versioned Permalink of this document, and SHOULD also reference versioned permalinks for Process Run Crate and Workflow RO-Crate.