zenodo
zenodo copied to clipboard
Record content does not match the record schema
Browser & OS (see also https://www.whatismybrowser.com/): Firefox (latest): OSX Monterey
Describe the bug
The record content does not successfully validate with the record schema version 1.0.0, and no newer version seems to be available. I searched on this repository, in the developer documentation and used search engines for other resources beginning with "https://zenodo.org/schemas/records/". If there is another schema, I did not find any trace of it.
Steps to Reproduce
- Go to any json schema validator, for example this one: https://www.liquid-technologies.com/online-json-schema-validator
- Use this schema: https://zenodo.org/schemas/records/record-v1.0.0.json
- Use this data: https://zenodo.org/api/records/5894799
- See error
Expected behavior
It should validate, or any trace of the newest schema should be documented somewhere.
Screenshots (if applicable)
Additional context
Not sure if this is a bug or misconception, for example due to some missing information in the documentation. I was especially interested in the required fields of the schema of records, but also in the possible fields in general. As a workaround, I plan to take a look into the datacite-mapped version, but I'd rather like to work with JSON than XML.
Dear @Pfeil could you show which is the error you are obtaining? I typically use JSONlint, and as you can see it says the JSON is valid:

Dear @ppanero , I am not saying the JSON is invalid. I am saying the JSON is not valid against the given schema. The link you provided simply tests for valid JSON. The validator I provided tests if a (valid) JSON is valid according to a given json schema. Please see the steps for reproduction above. The Zenodo instance hosts a set of schemas, one being for the record JSON metadata (as the link above, https://zenodo.org/schemas/records/record-v1.0.0.json). And it does not seem to be up-to-date.
EDIT: Here the errors.

Hi @Pfeil,
I've been working on a JSONschema for the metadata part of the deposition, see https://github.com/zenodraft/zenodo-upload-metadata-schema/tree/0.1.0. While it may help you solve some of your problem, it seems there is some mapping and renaming happening after Zenodo ingests the metadata, e.g. journal_title becomes journal.title.
Best regards, Jurriaan
This is interesting. So generally this means there is an upload schema and a retrieval schema, basically. I am more interested in the latter, as I am reading the records. But this is helpful for working around this issue, thank you.