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

Experimental OWL version of WRROC #69

Closed stain closed 3 months ago

stain commented 9 months ago

As part of creating the SKOS mapping for https://w3id.org/ro/doi/10.5281/zenodo.10368989 (see https://github.com/ResearchObject/workflow-run-crate-paper/tree/main/docs/mapping) I tried making an OWL ontology to better help the SSSOM mapping for some PROV edge cases as well as to avoid mapping on any non-process actions that happen to be in the crate.

I ended up formalizing types like ProcessRunCrateProfile and ProcessRunAction -- these may be useful also for doing RDF Shapes with SHACL which is quite type-centric. As we in RO-Crate don't easily invent new subtypes these are equivalence classes in their own namespace which should not be declared in @type -- this ontology is thus more of an execution tool than vocabulary definitions of WRROC.

I will leave this PR as a draft as this was a bit tricky to do consistently and it will need its own unit tests. It's also incomplete in that I only started with the process crate, but leave it here for interested readers.

It's also quite convoluted to climb up from the profile to the crate to the crate's content. That's why many additional equivalence classes etc. are added.

stain commented 4 months ago

Ontology also editable in https://webprotege.stanford.edu/#projects/08bcccf2-8ac3-4438-835d-f5ec104c197d/edit/Classes

I added the roterms as separate Turtle file, but there only using schema.org style rdfs schema. For owl you need the union classes etc for domain/range as in this owl file so the roterms are redefined there.

stain commented 4 months ago

need: a way to test the reasoner with each of our example crates after converting them from json-ld to owl

stain commented 4 months ago

Agreed in call 2024-05-21 and on Slack that we won't need the ontology as #73 included a rdfs vocabulary.

stain commented 3 months ago

Suggest we close this as the ontology does kind of work, but the OWL reasoners don't so it may not really be that helpful.