That makes sense to me and sounds like a good solution. It's disappointing
subjects aren't part of the GitHub API but that explains why you weren't
able to use any identifiee value. Thanks for sharing!
Best,
Eric
On Mon, Mar 30, 2026, 10:19 Jason Best <
[log in to unmask]> wrote:
> I'm following up to share how I worked out a solution for this. It's a
> hack of sorts, but it works for now. I never found any official
> documentation about submitting subjects via the GitHub/Zenodo integration
> but I did find this resource that maps the Zenodo metadata to GitHub
> metadata and the lack of "subjects" suggests that it doesn't exist and
> isn't supported - https://rue-a.github.io/github-zenodo-integration/table/
>
> With that roadblock established, I decided to try adding subjects directly
> with the Zenodo API and automating it with GitHub actions. This ended up
> working exactly as I needed. This is my first time using the Zenodo API and
> the first time I've used GitHub actions and it was nice to see it all work
> so well. The script is now part of the dataset repository at
> https://github.com/BRITorg/carlquist_publications_dataset/blob/main/tools/zenodo_add_subjects.py
>
> Full disclosure, if the code looks like it's AI, it's because it is AI. I
> used Claude to help generate this solution and it was really great to not
> have to manually work through all the gotchas that I would have encountered.
>
> 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
>
>
> From: Jason Best <[log in to unmask]>
> Date: Friday, March 27, 2026 at 1:23 PM
> To: Code for Libraries <[log in to unmask]>
> Subject: Re: CODE4LIB - Problems with GitHub to Zenodo publication process
> (2)
>
> 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 <[log in to unmask]>
> 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 <
> [log in to unmask]> 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
> ****************************************************************
>
|