Establishing relationship between synonym and preferred/accepted taxon, en masse

We need to upload a (long and fairly clean) list of new taxa prior to uploading the actual specimens/records that bear those names. I know many of those binomials are synonyms of others (specific ones) in that same list, where each synonym is unequivocally linked to its accepted/preferred name.
However, I can’t figure out how to map that relationship in the WorkBench. Fields like Taxon.acceptedTaxon and Taxon.isAccepted (populating it would help down the line) are not available in the WB. But neither is Determination.preferredTaxon if one is to try an alternative route.
Again, it’s a long list and synonymizing binomials one by one on the taxon tree would be painful.
I must be missing something. Thanks.


Hi @igranzow,

Unfortunately, you are not missing anything. Currently, there is no method to bulk upload synonyms through WorkBench; they need to be set up one by one via the tree interface. Updating Taxon records individually through SQL or the API is feasible but more complex and risky compared to using the user interface.

This has been requested a number of times and I’ve added your comment to the official issue tracking. If you have more comments or want to share your ideal workflow once this request is implemented, please reply to this topic below or on GitHub!

Hi @igranzow,

As mentioned by @Specify, the best way this can be accomplished without individually synonymizing the Taxa records using the Tree Viewer would be through SQL or through a script utilizing the API (or some combination of the two).

If such a solution appeals to you before the ability to upload synonymies via the WorkBench is implemented and you are in need of assistance, can you clarify the structure of the input or provide a (optionally fictitious) sample of the dataset?

For example, what are the mapped column headings (to fields/relationships from CollectionObject, Determination, or Taxon, etc.) in the dataset?

Hi, @jason_m

We have 32.4k taxon names that we wish to import into Specify. 28% (9.1k) of them are synonyms. I’m interested to find out more about the options I have here to avoid forcing our curatorial staff to hand-edit that many synonyms post-launch.

By way of example, our data contains parent/child relationships between members of the taxonomic hierarchy and a relationship between a prior taxon name (a synonym of some kind) and a more recent name, which may itself be a synonym. That is, there may be several “hops” across names before arriving at one or more accepted taxon names.

9024 Species false Boronia machardiana F.Muell.
9025 Species false Boronia viminea Lindl.
16636 Subspecies true Boronia crenulata subsp. viminea (Lindl.) Paul G. Wilson
9024 16636 TSY
9025 16636 TSY

This data documents the following synonym relationships.

  1. Boronia machardiana F.Muell. is a taxonomic synonym of Boronia crenulata subsp. viminea (Lindl.) Paul G. Wilson.
  2. Boronia viminea Lindl. is a taxonomic synonym of Boronia crenulata subsp. viminea (Lindl.) Paul G. Wilson.

I had planned to convert this data into a CSV suitable for uploading to the Workbench and hoped to build sufficient data into that CSV file to allow Specify’s taxon tree to recognise the synonym relationships.

1 Like

Thanks Iñigo and Ben for bringing up the issue. We are facing exactly the same problem here in the French Guiana Herbarium (CAY) for migrating our taxon tree to Specify.
We have ~55k taxa to import and ~30k are synonyms, so this is definitely not something that can be deal with manually.
We +1 the feature request and in the meantime we are happy to share dataset and brain power to come up with a SQL based (semi)automatized solution.
Philippe V. (CAY)

Hi @pverley,

Could you share the dataset of synonyms you want to import into Specify? We will explore and suggest an interim method for importing synonyms until WorkBench fully supports this feature.

Thank you!