Bug #4718

Include help text on the Annotation wizard page

Added by ben leinfelder over 10 years ago. Updated over 10 years ago.

Morpho Plugin
Target version:
Start date:
Due date:
% Done:


Estimated time:


Each field/checkbox/class selection widget should have a brief explanation about what is expected input (similar to the attribute defining page that already exists for describing the columns of data tables for EML).
More in-depth help could also be presented when a "?" button is pressed.


#1 Updated by ben leinfelder over 10 years ago

Added help for the class selection items (Entity, Char, Standard, Protocol).

I'd like some guidance on the Observation "Is Distinct" and Measurement "Is Key"

Shawn, can you provide a "one liner" description for these options?

#2 Updated by Shawn Bowers over 10 years ago

The measurement "iskey" attribute in the annotation syntax is a constraint, much like (primary) key constraints in relational databases. A measurement "isKey = yes" constraint states that a particular measurement (characteristic-value pair) determines the identity of the corresponding entity instance. For example, if we have a plot entity with a label characteristic measurement, and state that this measurement is a key, then each occurrence of the label value in a row of the dataset relates to the same entity instance (see example below). For instance, each site label "1" would denote a unique site instance, each site label "2" would denote a different site instance, and so on. If multiple measurements in an observation have an "isKey = yes" constraint, then each measurement serves as a partial key, i.e., the identity of the entity instance is determined by a combination of the corresponding characteristic-value pairs (and not by just one of the pairs).

The observation "isDistinct=yes" constraint is somewhat similar, but promoted to the level of the observation. It states that if two of the observation instances are of the same entity instance, then the these observation instances are the same instance (i.e., there is only one "distinct" or "unique" observation).

In addition, a context relationship can have an "isIdentifying = yes" constraint stating that the identity of the entity instance is further determined by the context observation instance's individual entity. For example, in this simple dataset:

Site Plot Year DailyAvgTemp
1 A 2001 10.5
1 B 2001 10.1
1 A 2002 10.8
1 B 2002 10.5
2 A 2001 10.1
2 B 2001 10.3
2 A 2002 10.9
2 A 2002 11.0

each plot with the label "A" denotes a unique plot for its corresponding site. This means that Plot A in Site 1 identifies a single plot (i.e., two rows have these values, which means they are of the same plot instance), but Plot A in Site 2 is a different plot. Here, the label measurement for the plot observation is a key, the label measurement for the site observation is a key, and the contextual relationship from the plot observation to the site observation is identifying. Further, the site observation is unique, but not the plot observation (since we take multiple observations temp observations of each plot). The plot observation also is contextualized by the year in which the temperature was taken. Again, year would be a unique observation with a single key measurement (the year value).

#3 Updated by ben leinfelder over 10 years ago

i've added a snippet of Shawn's explanation to the main UI page for annotations, and then put more text on a Help pop up that can be accessed from said page.
I'm sure there will be edits/additions to this.

#4 Updated by ben leinfelder over 10 years ago

reopen if there are additional comments to make on the help text.

#5 Updated by Redmine Admin over 7 years ago

Original Bugzilla ID was 4718

Also available in: Atom PDF