RO-Crate uploader for Zenodo
researchobject / ro-crate-uploader Goto Github PK
View Code? Open in Web Editor NEWRO-Crate uploader for Zenodo
License: Apache License 2.0
RO-Crate uploader for Zenodo
License: Apache License 2.0
If an RO-Crate "author"
has used ORCID identifier URIs like { "@id", "http://orcid.org/0000-0002-1825-0097"}
or https://orcid.org/0000-0002-1825-0097
then I want the ORCID string (e.g. 0000-0002-1825-0097
) filled in as an orcid
identifier in Zenodo's author information.
If a user has another URI as identifier (or a #local
identifier), the URL should (probably) not be listed as an author identifier as it's probably just a homepage.
Assume the RO-Crate uploaded to Zenodo have used an ROR identifier as in https://www.researchobject.org/ro-crate/1.1/contextual-entities.html#organizations-as-values e.g. https://ror.org/03f0f6041
The Zenodo entry should likewise have this identifier set on the affiliation, as is possible in the HTML form (but with an awkward auto-complete). It may be that the full-text shown for the organization in the form is different from what is in the RO-Crate (typically for an institution with names in multiple languages or acronyms), it's not certain if it's possible to override this in the Zenodo API.
RO-Crate requires license
to be set on the top level Dataset (and optionally on other files). See https://www.researchobject.org/ro-crate/1.1/contextual-entities.html#licensing-access-control-and-copyright
When selecting a corresponding License in Zenodo there may need to be matching by @id
and/or it's name as they have a fixed list accessible from the API https://developers.zenodo.org/#licenses
A full list of known open source licenses is available in https://spdx.org/licenses and in machine-readable format in https://github.com/spdx/license-list-data -- however these assume URIs like http://spdx.org/licenses/Apache-2.0
but RO-Crate at best has https://spdx.org/licenses/Apache-2.0.html
(note the subtle difference) as that is what is presented in browser.
More commonly licenses in RO-Crate may have the upstream URI like https://www.apache.org/licenses/LICENSE-2.0
or one of the Creative Commons licenses licenses.
As a workflow developer, I want to call the uploader using a CLI and have clearly explained errors if it fails
Some info on this format: https://www.wikidata.org/wiki/Property:P227
Provide to Zenodo API as (e.g.) 'gnd': '170118215'
on Creator
Persons in RO-Crates typically have a single name
attribute, but Zenodo expects a family name and given names. From API docs this is the format we need to get names into:
name
: Name of creator in the format Family name, Given names
For example 'Doe, John'
As a researcher who have a minimal RO-Crate, e.g. created using Crate-O, I want to be able to upload it to Zenodo as a ZIP file, but without filling in again the basic information again:
After deposit, the Zenodo entry would have the correct metadata and the ZIP file, which contains ro-crate-metadata.json
and my files.
The RO-Crate saved as a folder on disk, assume all files are local to the folder, e.g. as in https://training.galaxyproject.org/topics/fair/tutorials/ro-crate-intro/tutorial.html
Resources:
As a user, I want to be able to install the uploader into my environment from a standard registry
If an author has an affiliation
as in https://www.researchobject.org/ro-crate/1.1/contextual-entities.html#people or https://www.researchobject.org/ro-crate/1.1/contextual-entities.html#organizations-as-values then it should be listed as an affiliation in Zenodo using free-text.
Note that affiliation
may go either to a free text or to an Organization
which has a name
with the value. It is not necessary to look up any parentOrganization
as they are not commonly used in RO-Crate [citation needed]
From the ISNI website:
The dataset uses URIs of the form:
For entities, i.e. persons and organizations: https://isni.org/isni/{ISNI} where ISNI is the 16 digit identifier. For example, https://isni.org/isni/0000000080456315
It's not mandatory to describe referenced contextual entities - see https://www.researchobject.org/ro-crate/1.1/structure.html :
It is RECOMMENDED that any referenced contextual entities are also described in the RO-Crate Metadata File with the same identifier. Similarly it is RECOMMENDED that any contextual entity in the RO-Crate Metadata file is linked to from at least one of the other entities using the same identifier.
ro-crate-py
does not load referenced entities that are not described in the file, so the author
list can include basic strings as well as Person
objects. The same applies to organizations.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.