Bug #1079
closedRevise DB model to better deal with idiosyncratic taxa
0%
Description
We need to allow users to enter "weird" taxa without cluttering up the plant
taxonomy module. We can do that by making the taxonObs/taxonInterp look more
like commClass & commInterp. Here is the email from Bob describing this. We
need first to agree on what the model needs to look like exactly, then implement
it. High priority after release 1.0.
----------------------------------------
From peet@unc.edu Thu May 29 20:06:46 2003
Date: Thu, 29 May 2003 03:26:16 -0400 (EDT)
From: Robert K. Peet <peet@unc.edu>
To: ...
Subject: irregular taxa.
Proposed change in VegBank with respect to handling of irregular taxa.
I have become very worried about cluttering up the plants portion of the
database with irregular taxa that are idiosyncratic to particular
investigators. Here is what I think we should do.
When an investigator has an irregular taxon such as " Carex-fuzzy" ,
"Potentilla canadensis + P. simplex", or Astilbe + Aruncus these should be
handled in such a way that they do not end up in the plantName and
plantConcept table. Each plant should be linked to the lowest level
concept in the plantConcept list that is certain. In addition, the
idiosyncratic names should be stored in the taxonObservation and a
capability of linking the taxon to multiple concepts with a lower
certainty should be provided. For example "Potentilla canadensis + P.
simplex" would have a high certainty link to Potentilla, and some lower
quality links to each of P. simplex and P. canadensis. To realize this we
need the following changes.
TaxonObservation.
Change field PlantName_ID to PlantName and change the contents from a FK
to text. This had all along been our intent and I don't know when we
slipped and made this a foreign key. This has some substantive
ramifications for loading data that need to be worked out.
Split TaxonInterpretation into two tables: TaxonClass being a child of
TaxonObservations and TaxonInterpretation being a child of TaxonClass.
Their contents would be as follows.
TaxonClass
PK
FK-taxonObservation_ID
interpretationDate
FK-reference_ID
FK-party_ID
FK_role_ID
interpretationType
originalInterpretation
currentInterpretation
notes
notesPublic
notesMgt
TaxonInterpretation
PK
FK-taxonClass_ID
FK-plantConcept_ID
classFit [new field, closed list, similar to commInterpretation]
classConfidence [new field, closed list, as in commInterp...]
On top of this we need a business rule that there must be one
TaxonInterpretation that has an absolutely correct classFit. To do this
means adding some higher level taxa to the plantConcepts and plantNames.
All concepts must ultimately filter up to all plants [plus probably a
second class for lichens], below which we can have [Charales,
Marchantiomorpha (liverworts), Anthocerotophyta (hornworts), Lycopsida,
Equisetopsida (horsetails), Filicopsida (ferns), and Spermatopsida. Below
Spermatopsida we would have Cycads, Conifers, Ginkgos, Gnetales, and
Angiosperms. Below Angiosperms we might have Nymphaeles, Austrobaileyales,
Eudicots, Monocotyledons, Chloranthaceae, and Magnoliids.
We could stage the implementation as follows
1. add two new fields to TaxonInterpretation
2. add top to the phylogenetic tree
3. change TaxonObservation:plantName from FK to text
4. split table and support change in data input and table preparation
I am very keen to do steps 1, 2 & 3 as quickly as we can (without holding
up release 1). Step 4 can wait until the next release.
Files
Related issues