uKSI Notes
Difference between taxonID and taxonConceptID
synonyms
- The UKSI taxa table includes all records with synonyms or deprecated taxa mixed in. In UKSI, it’s common for a record to have:
parent_taxon_id set, but
also an accepted_taxon_id (meaning it’s a synonym or deprecated name).
Those records shouldn’t appear in your browser’s hierarchical tree, because they’re not part of the accepted taxonomy — they are aliases. So when building the hierarchical tree you must use taxonomic_status = 'accepted'. simply filtering by taxonomic_status='accepted' will remove nearly all the spurious “no children available” cases.
its common practice to concatonate the scientific name (scientificName) and the authorship (scientificNameAuthorship) combined into one display string.
Fungi R.T.Moore
not just
Fungi
Ordering by rank
ranks like phylum, class, order, family, etc. are text strings and are not inherently sortable in the database. In order to sort by rank, you need to maintain a numeric rankKey or rankIndex.
GBIF already provide for this: https://github.com/gbif/name-parser/blob/master/name-parser-api/src/main/java/org/gbif/nameparser/api/Rank.java
<repository>
<id>gbif-all</id>
<url>https://repository.gbif.org/content/groups/gbif</url>
</repository>
<dependency>
<groupId>org.gbif.nameparser</groupId>
<artifactId>name-parser</artifactId>
<version>4.0.0</version> <!-- replace with latest version -->
</dependency>
or gradle
repositories {
mavenCentral()
maven { url = 'https://repository.gbif.org/content/groups/gbif' }
}
implementation 'org.gbif:name-parser:4.0.0'
which you can use
import org.gbif.nameparser.api.Rank;
Rank r = Rank.PHYLUM;
int order = r.ordinal(); for hierarchical order
System.out.println("Rank: " + r + ", order = " + order);
There’s no natural alphabetical order that makes biological sense (e.g. “class” would come before “family”, which is wrong).
https://data-blog.gbif.org/post/some-checklist-terms-explained/
uksi Taxonomic hierarchy https://www.nhm.ac.uk/our-science/data/uk-species/hierarchy