Semantics of phenotype annotations
In Phenoscape data annotation, we typically model a phenotype as a class expression describing a set of organisms, for example 'has_part some (caudal_fin and bearer_of some bifurcated)'. How precisely this phenotype class is related to a taxon has important consequences for the resulting inferences and thus queries for phenotypes across the taxonomy. This is most important when making annotations to higher-level taxa. How should these annotations propagate to sub-taxa?
This page assumes that taxa are represented as OWL individuals, and the taxonomy is a tree of subclade_of/contains_clade relationships. For example:
Ictalurus_punctatus subclade_of Ictalurus subclade_of Ictaluridae subclade_of Siluriformes
These are transitive, so that Ictalurus is a subclade_of Siluriformes. Individual organisms are related to taxa via member_of/has_member. A member_of a taxon X which is a subclade_of taxon Y is also a member_of taxon Y.
Types of phenotype annotations
(member_of value Siluriformes) SubClassOf (has_part some (caudal_fin and bearer_of some bifurcated))
Very strong statement - says that all Siluriformes have a bifurcated caudal fin, no exceptions. This allows no observation of polymorphism or evolutionary reversal. But it does allow you to make one statement and then return any catfish species in a query for species with members having bifurcated caudal fins. This is the logic of annotations in the existing Phenoscape Knowledgebase.
Siluriformes Type (has_member some (has_part some (caudal_fin and bearer_of some bifurcated)))
Ancestral state annotation
Siluriformes Type (has_progenitor some (has_part some (caudal_fin and bearer_of some bifurcated)))