Re: CODE4LIB - Problems with GitHub to Zenodo publication process (2)

From: Jason Best <0000001c3d6b02ee-dmarc-request_at_nyob>
Date: Fri, 27 Mar 2026 18:23:41 +0000
To: CODE4LIB_at_LISTS.CLIR.ORG
Eric,
Thank you for taking a look and offering that suggestion. Unfortunately, I don't think it worked. I tried adding to dataset version 1.1.2 (https://zenodo.org/records/19260599) only:

    {
      "subject": "Wood",
      "scheme": "MeSH",
      "id": "mesh:D014934"
    },

And that didn't work. I manually added GEMET: Bibliography in the Zenodo UI then downloaded the full JSON export. The subject section then had:
    {
            "id": "gemet:concept/836",
            "identifiers": [
              {
                "identifier": "http://www.eionet.europa.eu/gemet/concept/836",
                "scheme": "url"
              }
            ],
            "props": {
              "groups": [
                "http://www.eionet.europa.eu/gemet/group/7136"
              ],
              "parents": "gemet:concept/7472,gemet:concept/3646",
              "themes": [
                "http://www.eionet.europa.eu/gemet/theme/16",
                "http://www.eionet.europa.eu/gemet/theme/30",
                "http://www.eionet.europa.eu/gemet/theme/4"
              ]
            },
            "scheme": "GEMET",
            "subject": "Biogeography"
          }

which I added to version 1.1.3 but it didn't appear when I published it. The JSON generated by the export is clearly different than the JSON that is ingested (aside from the difference from the documented format, the export lumps "keywords", into the "subjects" array as strings). I may experiment a bit more to see if I can come up with some educated guesses that work.

Thanks,
Jason

Jason Best
Director of Biodiversity Informatics
Botanical Research Institute of Texas at the
Fort Worth Botanic Garden
1700 University Drive
Fort Worth, Texas 76107-3400

817-332-4441 ext. 230
http://www.fwbg.org





------------------------------

Date:    Fri, 27 Mar 2026 09:00:09 -0700
From:    Eric Phetteplace <phette23_at_GMAIL.COM>
Subject: Re: Problems with GitHub to Zenodo publication process

Hi Jason,

It looks like Zenodo isn't using URLs for their MeSH subject identifiers
but "mesh:D..." URIs. Your subject terms are rejected because to Zenodo
they look like they're trying to refer to subjects that do not exist in the
MeSH scheme. I discovered this by looking at a record with a couple of MeSH
subjects and noticing their identifiers:

{
"id": "mesh:D000071253Q000592",
"scheme": "MeSH",
"subject": "Metadata/standards"
},
{
"id": "mesh:D018875",
"scheme": "MeSH",
"subject": "Vocabulary, Controlled"
}

I think if you change "https://id.nlm.nih.gov/mesh/D014934" in your
identifier to "mesh:D014934" then the subject will be recognized. You can
also include subjects as bare keywords, instead of referring to existing
schemes. I'm not sure what the GEMET identifiers look like but I'd guess
the same principle applies. You could create a draft record in Zenodo with
the exact subjects you want, download the JSON record, and then look at the
identifiers to be 100% certain.

Best,
Eric Phetteplace
Systems Librarian
California College of the Arts


On Fri, Mar 27, 2026 at 8:46 AM Jason Best <
0000001c3d6b02ee-dmarc-request_at_lists.clir.org> wrote:

> Hello all,
> I have a CSV dataset that I'm maintaining on GitHub (
> https://github.com/BRITorg/carlquist_publications_dataset/) and am using
> the GitHub to Zenodo publication workflow (
> https://help.zenodo.org/docs/github/) to publish to Zenodo (
> https://zenodo.org/records/19242257). The problem I'm having is with the
> .zenodo.json file which contains metadata about the dataset and is used to
> generate the publication metadata for each version published on Zenodo.
> Much of it is working (citation, keywords, etc.) but I can't get the
> subjects (with identifiers and controlled vocabularies) to work - they
> simply don't show up in the record when published to Zenodo. I've tried the
> format as documented at https://developers.zenodo.org/#representation but
> that doesn't seem to work.
>
> I'm using this format:
>   "subjects": [
>     {
>       "term": "Wood",
>       "scheme": "MeSH",
>       "identifier": "https://id.nlm.nih.gov/mesh/D014934"
>     },
> ...]
> Full file at
> https://github.com/BRITorg/carlquist_publications_dataset/blob/main/.zenodo.json

>
> I've not been able to find an example of a .zenodo.json file that
> successfully incorporates subjects. Does anyone have any experience or
> suggestions for this issue?
>
> Thanks,
> Jason
>
>
> Jason Best
> Director of Biodiversity Informatics
> Botanical Research Institute of Texas at the
> Fort Worth Botanic Garden
> 1700 University Drive
> Fort Worth, Texas 76107-3400
>
> 817-332-4441 ext. 230
> http://www.fwbg.org

> [https://img.fwbg.org/bitg_2026.png]<
> https://fwbg.org/events/butterflies-in-the-garden/>
>

------------------------------

End of CODE4LIB Digest - 26 Mar 2026 to 27 Mar 2026 - Unfinished
****************************************************************
Received on Fri Mar 27 2026 - 14:23:48 EDT