Open floWetzels opened 2 weeks ago
To consider:
- what should happen if multiple entry points conform to the same profile? e.g. in the case of uploading a crate with multiple workflow entry points to WorkflowHub
In this case, the service could decide to decompose the RO-Crate into "atomic" (for the lack of a better term) RO-Crates which can be handled like normal RO-Crates. I.e. WorkflowHub could decide to create multiple entries - one for each entry point in the crate; a workflow execution engine executing a workflow from RO-Crate could present a drop down selection to the user or require to specify an entrypoint during workflow submisson.
Intending to discuss this issue at the RO-Crate community call at 8:00 UTC tomorrow
Missed the meeting and thus the discussion in the call. Still sharing my two cents.
From a semantic point of view there is nothing preventing you to declare additional triples with the dcterms:conformsTo-predicate attached to any available part (subject) in the graph. And I don't think the ro-crate spec is formulating any restriction on that either. If anything, the jsonld-context just makes it handy to use conformsTo:
keys in the json-ld to add these.
Its value is expected to contain an identifier (URI) for a standard, that
As such one could be using the conformsTo in ro-crates in combination with
This way of applying dcterms:conformsTo
exists outside the RO-Crate concept and can be applied to any part of it as far as I see. The fact that the RO-Crate specification additionally introduced some specific suggestions to express conformity of ro-crates was considered as a useful and clear mechanism to guide people into some kind of "duck-type" declaring of valid assumptions on the crate contents. The fact RO-Crate 1.2 introduces some guidance on this level
If anything, IMHO the RO-Crate spec should state it does deliberately not want to interfere with that detail level. And
Summarising discussion from community call 2024-11-14:
EntryPoint
type is not strictly required since it could be inferred from checking if any conformsTo
on an entity is an RO-Crate profile. However it is convenient (for tooling) to make entry points explicit within the crate metadata.@type
to indicate entry points may not be the best choice, as @type
usually describes what the actual thing represented by the entity is (e.g. a File, a Person, a Place), and an entry point is just a construct in the metadata
EntryPoint
type in schema.org is intended for describing API endpoints and such, this isn't quite the same as our idea, we wouldn't want someone to describe an API using RO-Crate and end up with weird conflicts because of the overloaded typeadditionalType
to indicate Investigation, Study, Assay https://github.com/nfdi4plants/isa-ro-crate-profile/blob/release/profile/isa_ro_crate.md - potentially do something similar to indicate entry points?@graph
{ fragments } to isolate the scope? Can get quite complicated.
In the current specification, profiles are always defined on a complete RO-Crate. In case that such profile specifies requirements on the root data entity, they cannot be used in a modular or composable way, since subdirectories in RO-Crates don't specify a root data entity. An example for such a profile is the Workflow-Run-RO-Crate.
This issue came up at the BioHackathon Europe 2024, project 19 (@elichad @dnlbauer @floWetzels). Since composed research objects seem to be common and it should be possible to model them in RO-Crates without redundance in profiles, we propose the introduction of a Entrypoint mechanic into the RO-Crate specification, see https://github.com/dnlbauer/bh24-ro-crate-extension for details (will be fleshed out in the future).
Subscribe to this issue to stay updated on the development.