Closed mpadge closed 1 year ago
Note that many schema alternatives need to be expressed as "anyOf", rather than "oneOf". Example of creator arrays, which have "name" for both Zenodo and Figshare, but different properties otherwise. Using "oneOf" requires an item to match exactly one schema alternative, but that then matches multiple versions. Thus "anyOf" has to be used in such cases.
This issue will need to be re-opened, and the DCMI schema expanded again, each time a new service is added. From now on that should nevertheless be relatively straight forward.
That currently has default ("string") values for most fields, with more complete entries currently only for a select few.
TODO:
from_dc
translation mappings for Zenodo and Figshare, and identify all JSON structures at API endpoints/dc/schema.json
, with multiple entries expressed through "anyOf" constructions like for "creators": https://github.com/ropenscilabs/deposits/blob/5146c5fb5bd3d60af9a4f7e2b3dd2f0e8b7ad235/inst/extdata/dc/schema.json#L74-L77