ResearchObject / workflow-run-crate

Workflow Run RO-Crate profile
https://www.researchobject.org/workflow-run-crate/
Apache License 2.0
8 stars 9 forks source link

Add Profile Crates for 0.5-DRAFT #73

Closed stain closed 1 month ago

stain commented 1 month ago

One Profile Crate for each of process/workflow/provenance, assuming Profile Crate updates in ResearchObject/ro-crate#296 and ResearchObject/ro-crate#262

To view what this PR looks like, see https://stain.github.io/workflow-run-crate/profiles/0.5-DRAFT/ :

This is in a way also a test of the Profile Crate mechanism.

Note the need to rename workflow_run_crate.md to workflow_run_crate/index.md etc to add the neighbouring crate files.

If we settle for this style I can do similar crates for the older versions and set up the w3id content negotiation so that the permalinks can give both JSON-LD and HTML.

I extracted out the JSON-LD example to actual crates, so it can be linked to from the Profile Crate.

Link to the common JSON-LD context using the @id at w3id -- this requires context negotiation as permitted by https://www.researchobject.org/ro-crate/1.2-DRAFT/profiles.html#json-ld-context but I also added url to the direct json -- should this not have jsonld filename to get the correct Content-Type?

To discuss:

stain commented 1 month ago

I added links to prov mapping to each, but it lives outside in the ro-crate for the paper, referenced from this crate

stain commented 1 month ago

Merging the profile crates as I think we agreed this approach on 2024-05-21

simleo commented 1 month ago

@stain now we have the docs/ontology/wfrun.* files, the DefinedTermSet in the Process Run Crate profile crate and the csv and jsonld files in the ro-terms repository (unless I'm missing something). I'm wondering, how does one add a new term now, especially someone that does not speak all those languages? Before this you had to add a line to the csv in ro-terms and run the Python script to update the jsonld, but what is going to be the procedure now?

dgarijo commented 1 month ago

Thanks Stian. Having a defined set with domains and ranges makes sense to me. As long as we produce a machine readable specification it should be ok. It may confuse people that the specification itself is a RO-Crate, since we could just return JSON-LD with the terms.

dgarijo commented 1 month ago

@stain I enabled content negotiation on the profiles for the crates (in the draft version only for now). The terms we should probably define in https://github.com/ResearchObject/ro-terms/tree/master/workflow-run, because that's the repo on terminology, no?

stain commented 6 days ago

I think if the terms are defined now properly in the roterms namespace (incl. HTML!) we no longer need to define them individually in the profile crates, just refer to the DefinedTermSet alone. Will raise as new issue for 0.6, that's just housekeeping, no harm in the current way except duplication.