Skip to content

Commit

Permalink
Merge pull request #40 from ResearchObject/conformsTo
Browse files Browse the repository at this point in the history
Add conformsTo to identify profile conformance
  • Loading branch information
simleo authored Jan 16, 2023
2 parents 054f443 + a110f03 commit e3458bc
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 14 deletions.
29 changes: 26 additions & 3 deletions docs/profiles/0.1-DRAFT/process_run_crate.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,33 @@ 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"}
],
"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",
Expand Down Expand Up @@ -73,6 +86,7 @@ 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).
Expand All @@ -88,6 +102,15 @@ Note that the command line shown in the action's `description` is not directly r
<td><strong>Description</strong></td>
</tr>

<tr>
<th colspan="3"><strong>Dataset</strong> (the <a href="https://www.researchobject.org/ro-crate/1.1/root-data-entity.html">root data entity</a>, e.g. <code>"@id": "./"</code>)</th>
</tr>
<tr>
<td>conformsTo</td>
<td>MUST</td>
<td>MUST reference a <code>CreativeWork</code> entity with an <code>@id</code> URI that is consistent with the versioned <em>Permalink</em> of this document, e.g. <code>{"@id": "https://w3id.org/ro/wfrun/process/0.1"}</code></td>
</tr>

<tr>
<th colspan="3"><strong>SoftwareApplication</strong></th>
</tr>
Expand Down Expand Up @@ -135,7 +158,7 @@ Note that the command line shown in the action's `description` is not directly r
<tr>
<td>@id</td>
<td>MUST</td>
<td>A unique identifier for the execution, e.g. <code>"urn:uuid:50ec5c76-1f7a-4130-8ef6-846756b228c1"</code>, <code>"#f99a8e6c"</code>. MAY be an absolute URI, e.g. <a href="http://example.com/runs/846756b228c1">http://example.com/runs/846756b228c1</a>. The use of randomly generated <a href="https://datatracker.ietf.org/doc/html/rfc4122">UUIDs</a> (type 4) is RECOMMENDED. SHOULD be listed under <a href="http://schema.org/mentions">mentions</a> of the [root data entity](https://www.researchobject.org/ro-crate/1.1/root-data-entity.html).</td>
<td>A unique identifier for the execution, e.g. <code>"urn:uuid:50ec5c76-1f7a-4130-8ef6-846756b228c1"</code>, <code>"#f99a8e6c"</code>. MAY be an absolute URI, e.g. <a href="http://example.com/runs/846756b228c1">http://example.com/runs/846756b228c1</a>. The use of randomly generated <a href="https://datatracker.ietf.org/doc/html/rfc4122">UUIDs</a> (type 4) is RECOMMENDED. SHOULD be listed under <a href="http://schema.org/mentions">mentions</a> of the <a href="https://www.researchobject.org/ro-crate/1.1/root-data-entity.html">root data entity</a>.</td>
</tr>

<tr>
Expand Down
55 changes: 46 additions & 9 deletions docs/profiles/0.1-DRAFT/provenance_run_crate.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,29 @@ The following diagram shows the relationships between all provenance-related ent
<img alt="Entity-relationship diagram" src="img/er_diagram.svg" width="920" />


## 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"},
Expand All @@ -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",
Expand Down Expand Up @@ -294,6 +321,7 @@ The following diagram shows the relationships between all provenance-related ent
"value": "True"
}
]
}
```


Expand Down Expand Up @@ -415,6 +443,15 @@ The requirements of this profile are those of [Workflow Run Crate](workflow_run_
<td><strong>Description</strong></td>
</tr>

<tr>
<th colspan="3"><strong>Dataset</strong> (the <a href="https://www.researchobject.org/ro-crate/1.1/root-data-entity.html">root data entity</a>, e.g. <code>"@id": "./"</code>)</th>
</tr>
<tr>
<td>conformsTo</td>
<td>MUST</td>
<td>Array MUST reference a <code>CreativeWork</code> entity with an <code>@id</code> URI that is consistent with the versioned <em>Permalink</em> of this document, and SHOULD also reference versioned permalinks for <a href="https://w3id.org/ro/wfrun/process/0.1">Process Run Crate</a>, <a href="https://w3id.org/ro/wfrun/workflow/0.1">Workflow Run Crate</a> and <a href="https://w3id.org/workflowhub/workflow-ro-crate/1.0">Workflow RO-Crate</a>.</td>
</tr>

<tr>
<th colspan="3"><strong>ComputationalWorkflow</strong></th>
</tr>
Expand Down
44 changes: 42 additions & 2 deletions docs/profiles/0.1-DRAFT/workflow_run_crate.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,28 @@ 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)) &mdash; or [PropertyValue](https://schema.org/PropertyValue), in the case of dictionary-like structured types &mdash; 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",
"@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"},
Expand All @@ -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"],
Expand Down Expand Up @@ -171,6 +201,7 @@ Some workflows have multiple inputs/outputs that, in conformance with the [Biosc
"name": "Workflow Execution Summary of Hello World"
}
]
}
```


Expand All @@ -186,6 +217,15 @@ This profile inherits the requirements of [Process Run Crate](process_run_crate)
<td><strong>Description</strong></td>
</tr>

<tr>
<th colspan="3"><strong>Dataset</strong> (the <a href="https://www.researchobject.org/ro-crate/1.1/root-data-entity.html">root data entity</a>, e.g. <code>"@id": "./"</code>)</th>
</tr>
<tr>
<td>conformsTo</td>
<td>MUST</td>
<td>Array MUST reference a <code>CreativeWork</code> entity with an <code>@id</code> URI that is consistent with the versioned <em>Permalink</em> of this document, and SHOULD also reference versioned permalinks for <a href="https://w3id.org/ro/wfrun/process/0.1">Process Run Crate</a> and <a href="https://w3id.org/workflowhub/workflow-ro-crate/1.0">Workflow RO-Crate</a>.</td>
</tr>

<tr>
<th colspan="3"><strong>CreateAction</strong></th>
</tr>
Expand Down

0 comments on commit e3458bc

Please sign in to comment.