The metadata “schema” of RSD is basically their relational database/API. There is no schema in the sense of XML or JSON.
So there is no simple one-to-one mapping between key/value pairs. It could be a simple column on a table, it could be a foreign-key relationship, or something else.
The API of RSD is documented here: https://research-software-directory.org/swagger/
FairMQ Example entries:
RSD: https://helmholtz.software/software/fairmq
CodeMeta: https://github.com/FairRootGroup/FairMQ/blob/master/codemeta.json
The “description” on RSD is markdown (good). the description field in codemeta isn’t specified (to my knowledge).
The URL on RSD itself has a part (I think, those thingies are called slug): For example the fairmq
in https://helmholtz.software/software/fairmq
Related publications / etc. (scroll down to “Mentions” on the RSD page).
relatedLink
Can’t we extract a list of terms from the swagger API (e.g. as json)?
RSD has a concept of “Participating organisations”. This could be represented as “Organization” entries in the maintainer
field of codemeta.
See this Pull Request on FairMQ where Christian added this for FairMQ.
Our codemeta-to-zenodo-converter has been fixed to ignore anything but "Person"s in contact fields here.
see comment on maintainer
above, a Participating organisation is most probably not a maintainer
[Thomas] is maintainer really the right / most common place for Organizations? - Codemeta currently supports ony Person (a physical person is really maintaining software more than an org, no?) - Orgs can be author
, contributor
, copyrightHolder
, creator
, funder
, publisher
, sponsor
maintainer
field: See Pull Request on CodemetaWe could probably use the project URL (at RSD) as a isPartOf
entry?
We would match the URLs in isPartOf
against an rsd-project-URL and only convert those.
slug
--> how to generate it? --> ask RSDDraft here: https://gitlab.com/escape-ossr/eossr/-/blob/rsd/eossr/metadata/schema/escape_codemeta_crosswalk.csv
(see RSD column)
role
--> need to map each type of person in CodeMeta to that contributor rolerole
can be anything (text entry)author
, contributor
, copyrightHolder
, creator
, funder
, publisher
, sponsor
)