-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Case: How to get the contents of a RO as a zip file? #228
Comments
https://signposting.org/adopters/#workflowhub documents how we do this with Signposting in WorkflowHub. Could we generalize this? Let's make a new section for Retrieving RO-Crate and move out some of the content-negotiation described in https://www.researchobject.org/ro-crate/1.2-DRAFT/profiles#how-to-retrieve-a-profile-crate We can then add signposting particularly where the persistent identifier has a HTML landing page (which may be See also #149 |
Not sure we should close this, as we don't detail what to expect in the zip file. @dgarijo -- is the text in https://www.researchobject.org/ro-crate/1.2-DRAFT/root-data-entity.html#root-data-entity-identifier sufficient for 1.2 to close this? Here's one take with BagIt: https://trefx.uk/trusted-wfrun-crate/0.3/#archive-serialisation which assumes a single folder (with arbitrary name) that again contains Then there is Workflow RO-Crate has a different take where the Zip file has not got a top level directory at all (that is ROHub also exports directly with As I listed in https://trefx.uk/trusted-wfrun-crate/0.3/#zip-expectations certain ZIP features should not be used, e.g. multipart (for floppies!), ZIP64 extensions are needed for larger than 2 GB, etc. These are documented fairly well in https://www.w3.org/publishing/epub32/epub-ocf.html#sec-zip-container-zipreqs |
I start thinking that we need multiple profiles depending on if it's a bagit-wrapping ZIP, a "plain" RO-Crate, or a detached RO-Crate JSON-LD.. A ZIP archive with Link: <https://example.com/workflows/419/ro_crate.zip> ;
rel="item" ;
type="application/zip" ;
profile="https://w3id.org/ro/crate#archive" (or make a new w3id PID space for that) A bagit zip according to https://www.researchobject.org/ro-crate/1.2-DRAFT/appendix/implementation-notes.html#adding-ro-crate-to-bagit aka Link: <https://example.com/workflows/419/bagit.zip> ;
rel="item" ;
type="application/zip" ;
profile="https://w3id.org/ro/bagit/profile/0.3" An RO-Crate Metadata Document straight on the web (Detached or Attached): Link: <https://example.com/workflows/419/ro-crate-metadata.json> ;
rel="item" ;
type="application/ld+json" ;
profile="https://w3id.org/ro/crate" And then only the final one corresponds to the profile registered in https://www.iana.org/assignments/profile-uris/profile-uris.xhtml as a JSON-LD profile. In either case, when retrieving, the profile will be provided as a GET http://example.com/crates/42.zip HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/zip
Link: <https://w3id.org/ro/crate#archive>; rel="profile"` Or from a landing page, with signposting as above: HEAD http://example.com/crates/42.html HTTP/1.1
HTTP/1.1 200 OK
Content-Type: text/html
Link: <https://example.com/query-12389.zip>; rel="item", type="application/zip"
Link: <https://w3id.org/ro/crate>; rel="profile"; type="application/zip";
anchor="https://example.com/query-12389.zip" |
Hmm, you may be correct, although it complicates things a little. From my end, I am interested in knowing what to prepare when someone asks for one of my ROs with permanent ids. The text in https://www.researchobject.org/ro-crate/1.2-DRAFT/root-data-entity.html#root-data-entity-identifier points me to https://www.researchobject.org/ro-crate/1.2-DRAFT/profiles.html#how-to-retrieve-a-profile-crate, but it is not clear how I should structure the contents of the zip file. Also, should my root data entity contain a link to the zip file with the downloadable ro-crate? maybe using the schema.org distribution properties used for datasets. |
As a programmer, I want to obtain the aggregated contents of a Research Object as a downloadable resource.
Ideally, I would like to do so through a request and content-negotiation. But I do not see an agreement about how to serve the RO-Crate itself. Can we agree into something like
application/zip
?Can we have some community-agreed guidelines?
The text was updated successfully, but these errors were encountered: