Skip to content

Conversation

@EttoreM
Copy link

@EttoreM EttoreM commented Oct 23, 2025

Rules implemented

Description sh:severity
The RootDataEntity MUST have the schema:mainEntity property with cardinality 1. sh:Violation
The mainEntity pointed to by the RootDataEntity MUST be of type schema:Dataset. sh:Violation
The mainEntity MUST have a purl:conformsTo property with an IRI starting with "https://w3id.org/workflowhub/workflow-ro-crate" sh:Violation
If mainEntity has an HTTP(S) @id, it SHOULD have a distribution that is an HTTP(S) URL. sh:Warning

Rules NOT implemented

There are other rules pertaining to the mainEntity, but these were deemed to be not implementable.
For sake of completeness these are reported below

Description sh:severity
The @id of the mainEntity SHOULD be a permalink or versioned URL sh:Warning
The @id of the mainEntity MAY be a nested directory in the payload. sh:Info
Workflow programming language and detailed metadata MUST be provided in the referenced Workflow RO-Crate, not this crate sh:Violation
If present in the referenced Workflow RO-Crate, SHOULD be either CWL or Nextflow URIs. sh:Warning
If the identifier is not a URI, Clients SHOULD follow Signposting headers to find the rel="item" link to the RO-Crate ZIP file sh:Warning

@EttoreM EttoreM linked an issue Oct 23, 2025 that may be closed by this pull request
@EttoreM EttoreM self-assigned this Oct 23, 2025
@EttoreM
Copy link
Author

EttoreM commented Oct 29, 2025

@elichad @douglowe @stain @alexhambley

I think this PR is ready for review.

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .


five-safes-crate::DatasetMustHaveDistributionIfURI

Choose a reason for hiding this comment

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

Should be single colon :

Copy link
Author

Choose a reason for hiding this comment

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

Done

sh:message "The mainEntity pointed to by the RootDataEntity MUST be of type schema:Dataset" ;
] .

five-safes-crate:mainEntityHasProperConformsTo
Copy link

@alexhambley alexhambley Oct 30, 2025

Choose a reason for hiding this comment

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

I'm not 100% sure, but I think this may only validate the prefix when conformsTo exists. In other words if conformsTo is missing, the violation might not report (?)
sh:minCount 1 ; might be required. Worth a test to see.

Copy link
Author

Choose a reason for hiding this comment

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

You're right. Added a constraint for that and a corresponding test.

Copy link

@alexhambley alexhambley left a comment

Choose a reason for hiding this comment

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

Provided comments in-line. There is a double colon typo and conformsTo property needs checking :)

@douglowe
Copy link

This is superceded by PR #28

@EttoreM EttoreM requested a review from alexhambley November 4, 2025 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants