Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 71 additions & 63 deletions test/galaxy/ro-crate-metadata.json
Original file line number Diff line number Diff line change
@@ -1,69 +1,77 @@
{
"@context": [
"https://w3id.org/ro/crate/1.1/context",
{ "runsOn": "https://w3id.org/ro/terms/test#runsOn" }
],
"@graph": [
"@context": "https://w3id.org/ro/crate/1.2/context",
"@graph": [
{
"@id": "./",
"@type": ["Dataset"],
"name": "Galaxy Example Workflow",
"description": "This is an example of a workflow using the Galaxy platform.",
"license": {
"@id": "https://spdx.org/licenses/GPL-3.0"
},
"datePublished": "2025-05-06T14:35:47+00:00",
"mainEntity": {
"@id": "workflow/galaxy_workflow.ga"
},
"hasPart": [
{
"@id": "./",
"@type": "Dataset",
"name": "Galaxy Example Workflow",
"description": "This is an example of a workflow using the Galaxy platform.",
"license": "GNU General Public License v3.0",
"datePublished": "2025-05-06T14:35:47+00:00",
"mainEntity" : { "@id": "#workflow" },
"runsOn" : { "@id": "#destination" },
"hasPart": [
{ "@id": "#workflow" },
{ "@id": "#textfile" },
{ "@id": "#destination" }
]
"@id": "workflow/galaxy_workflow.ga"
},
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"about": {
"@id": "./"
},
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.1"
}
},
{
"@id": "#workflow",
"@type": [
"File",
"SoftwareSourceCode",
"ComputationalWorkflow"
],
"name": "Example galaxy workflow",
"programmingLanguage": {
"@id": "https://w3id.org/workflowhub/workflow-ro-crate#galaxy"
},
"url": "https://dockstore.org/api/ga4gh/trs/v2/tools/%23workflow%2Fgithub.com%2Flaitanawe%2Fismb2024%2Fgalaxy_example/versions/main/PLAIN_GALAXY/descriptor//Galaxy-Workflow-reverse_file_galaxy_workflow.ga"
},
{
"@id": "https://w3id.org/workflowhub/workflow-ro-crate#galaxy",
"@type": "ComputerLanguage",
"identifier": {
"@id": "https://galaxyproject.org/"
},
"name": "Galaxy",
"url": {
"@id": "https://galaxyproject.org/"
}
},
{
"@id": "#textfile",
"@type": "File",
"name": "simpletext_input",
"url": "https://example-files.online-convert.com/document/txt/example.txt",
"encodingFormat": "text/txt"
},
{
"@id": "#destination",
"@type" : "Service",
"url": "https://usegalaxy.eu/"
"@id": "inputs/example.txt"
}
]
]
},
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"about": {
"@id": "./"
},
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.2"
}
},
{
"@id": "workflow/galaxy_workflow.ga",
"@type": ["File", "SoftwareSourceCode", "ComputationalWorkflow"],
"name": "Example Galaxy workflow",
"description": "Example Galaxy workflow reversing a text file.",
"programmingLanguage": {
"@id": "https://w3id.org/workflowhub/workflow-ro-crate#galaxy"
},
"encodingFormat": "application/json",
"contentUrl": "https://dockstore.org/api/ga4gh/trs/v2/tools/%23workflow%2Fgithub.com%2Flaitanawe%2Fismb2024%2Fgalaxy_example/versions/main/PLAIN_GALAXY/descriptor//Galaxy-Workflow-reverse_file_galaxy_workflow.ga",
"softwareRequirements": {
"@id": "#destination"
}
},
{
"@id": "inputs/example.txt",
"@type": "File",
"name": "simpletext_input",
"encodingFormat": "text/plain",
"contentUrl": "https://example-files.online-convert.com/document/txt/example.txt"
},
{
"@id": "https://w3id.org/workflowhub/workflow-ro-crate#galaxy",
"@type": "ComputerLanguage",
"name": "Galaxy",
"identifier": {
"@id": "https://galaxyproject.org/"
},
"url": {
"@id": "https://galaxyproject.org/"
}
},
{
"@id": "#destination",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it is a minor problem, but this element is "orphaned"; it is not linked with any other entity.
This is why, in the previous version, we had the "runsOn" field; maybe it wasn't the best solution, but it links the "destination" with the main entity.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. It is not a minor issue. We need to think how to link it while still being compliant and interoperable.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One way is to use softwareRequirements from the spec for ComputationalWorkflow which seems to allow for runtime environments which would be something like:

{
  "@id": "workflow/galaxy_workflow.ga",
  "@type": ["File", "SoftwareSourceCode", "ComputationalWorkflow"],
  "name": "Example Galaxy workflow",
  "description": "Example Galaxy workflow reversing a text file.",
  "programmingLanguage": {
    "@id": "https://w3id.org/workflowhub/workflow-ro-crate#galaxy"
  },
  "encodingFormat": "application/json",
  "contentUrl": "https://dockstore.org/api/ga4gh/trs/v2/tools/%23workflow%2Fgithub.com%2Flaitanawe%2Fismb2024%2Fgalaxy_example/versions/main/PLAIN_GALAXY/descriptor//Galaxy-Workflow-reverse_file_galaxy_workflow.ga",
  "softwareRequirements": {
    "@id": "#destination"
  }
}

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andrejcermak For semantic diff you can use json diff tools like https://jsoncompare.com/

"@type": "Service",
"name": "Galaxy Europe",
"description": "Galaxy workflow execution service",
"url": {
"@id": "https://usegalaxy.eu/"
}
}
]
}
Loading