Skip to content

Can we handle opinions, authorities, and taxon table differently? #16

@aazaff

Description

@aazaff

Simplifying greatly, the current workflow for creating a taxon in PBDB follows this set of operations.

  1. A new taxon X is first created by adding an entry to the Authorities table (through an Authorities API route)
  2. An opinion can then be entered about that taxon in the Opinions table (through an Opinions API route)
    1. Although there are theoretically many types of opinion that can be selected they boil down to types
      1. X taxon belongs to Y parent taxon
      2. X taxon is actually taxon Z
      3. X taxon does not actually exist
    2. Multiple, conflicting opinions can be entered for a single taxon
      1. higher-quality references or opinions are always preferred. Quality is ranked (in order) as:
        1. Stated with Evidence
        2. Stated without Evidence
        3. Implied
        4. Second Hand
      2. if two references or opinions of the same quality conflict, the most recently published one is preferred
  3. The taxa table is then built daily by analysis of the Authorities + Opinions tables to determine the final status of taxon X.

A possible alternative workflow is to only have a Taxa and Other Opinions table. Here is the assumed workflow in this world. (Note: although this feels like it is a violation of REST, I did some research and this workflow is REST-OK in justified circumstances, which this might be).

  1. New taxon X is created by adding an entry to the Taxa table (through a Taxa API route)
  2. When a new opinion about X is created, it is also submitted through the Taxa API route
    1. If the opinion supersedes the current information in the Taxa (according to the rules for opinion preference) above, then a new version entry is added to the taxon table.
    2. If the opinion would not supersede the current information about the taxon, then an entry is recorded in an Other Opinions table.

The benefit of this approach is that there would no longer need to be nightly-query/rebuilds of the taxa table based on analysis of Opinions and Authorities. There is a one time check of the preference logic upon upload and the taxa table will therefore always reflect the "correct" information.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions