Code Monkey home page Code Monkey logo

ro-crate-uploader's Introduction

ro-crate-uploader

RO-Crate uploader for Zenodo

ro-crate-uploader's People

Contributors

elichad avatar stain avatar

Stargazers

Raül Sirvent avatar

Watchers

Stuart Owen avatar  avatar Alan R Williams avatar Raul Palma avatar Peter Sefton avatar Oscar Corcho avatar Daniel Garijo avatar  avatar  avatar

ro-crate-uploader's Issues

CQ2: ORCID identifiers preserved in Zenodo

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.

CQ4: Preserve affiliation identifiers

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.

CQ5: Preserve license information

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.

Add CLI and docs for using

As a workflow developer, I want to call the uploader using a CLI and have clearly explained errors if it fails

Remind users to update author names in Zenodo before publishing

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'

CQ1: Zenodo ZIP upload from RO-Crate

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:

  • Title
  • Author names

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:

CQ3: Affiliations preserved in Zenodo as free-text

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]

Handle cases where referenced contextual entities are not described elsewhere in the file

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.