phyloref / phyloref-ontology

Phyloreferencing Ontology and OWL DL reasoning with phyloreferences
Creative Commons Zero v1.0 Universal
5 stars 1 forks source link

A new OWL class for representing Specifiers #5

Closed gaurav closed 5 years ago

gaurav commented 6 years ago

Proposed term: Specifier (class) Definition: A phyloreference is made up of different types of specifiers, which can be matched to nodes on a phylogeny. A specifier may be included in a phyloreference (an internal specifier) or may be excluded from the phyloreference (an external specifier). Superclass: Thing See also: scratch ontology

Specifiers are defined in terms of the taxonomic units they reference. Phyloreferences may be associated with internal specifiers or with external specifiers.

Competency questions:

On hold until we resolve https://github.com/phyloref/phyloref-ontology/issues/8#issuecomment-391907602

hlapp commented 6 years ago

@gaurav can you please break these out into one term per issue.

gaurav commented 6 years ago

@hlapp Done!

hlapp commented 6 years ago

The comment on #8 re: supporting competency question(s) applies here as well as a matter of good practice. For example, can we be more specific about how an instance of Specifier is different from any owl:Thing. If I see some instance, how can I know it's a Specifier. Either that, or competency questions for which query answering requires having some instances typed under this class, rather than just being things. (And ideally we have both.)

hlapp commented 6 years ago

Also, let's make it a habit to be precise with language used in term definitions. For example, do you truly mean to say that an instance of Specifier is RO:part_of some Phyloreference? Isn't it more that specifiers have a role in phyloreferences?

gaurav commented 6 years ago

I've tried adding some competency questions -- let me know what you think!

I think it would be useful to note that, as far as our data model is concerned, phyloreferences are composed of specifiers -- the list of specifiers in a phyloreference is in a sense the phyloreference itself. I've changed the description to make this clearer. Perhaps we could say that the phyloreference ro:depends on its specifiers?

hlapp commented 6 years ago

I think this needs more work on the definition. There still isn't anything here that would allow me to judge in any way whether a thing before me is or isn't an instance of Specifier. Perhaps a better start would be to think about a more specific superclass. (Thing implies that any object whatsoever is in principle eligible to be an instance of Specifier. I don't think that's justified at all.) Once we have a more specific superclass we can think of a genus-differentia style definition ("A specifier is a X that ...").

gaurav commented 6 years ago

The key problem here is whether we'd like to define a separate Specifier class that corresponds to specifiers in the PhyloCode, or whether we should start with the simplest possible model, in which case phyloreferences could refer directly to TUs and (later) to apomorphies.

At the deepest level, internal and external specifiers are translated into class definitions that look something like this:

So there's no reason we couldn't simplify that be eliminating Specifiers entirely as:

Right now, we only have one other Specifier-level property that stores the verbatim specifier, but we could change that to a verbatim taxonomic unit property instead. And if we do end up needing a Specifier-level class, we can bring it back in with a clearer definition later. The other benefit we might get from a Specifier class is being able to group all internal specifiers together, whether defined in terms of taxonomic units or in terms of apomorphies. But I don't think having a separate represents_apomorphy term will really be a problem.

If that is what we decide to do, I think we should make these changes in this order:

  1. Create an issue in phyloref/clade-ontology to remove Specifiers from there and rename the terms used to refer to taxonomic units to e.g. has_internal_TU and has_external_TU.
  2. Create a branch to implement that issue, review the code and merge it.
  3. File an issue to update the Curation Tool to the new model and implement it ASAP.
  4. Update all the issues in this repository to eliminate the Specifier class and redefine #7 and #8 in terms of taxonomic units.

Does that make sense? Or should we modify the Phyloref ontology in this repository first and then update the model in the Clade Ontology and the Curation Tool instead?

gaurav commented 6 years ago

On hold until we resolve https://github.com/phyloref/phyloref-ontology/issues/8#issuecomment-391907602

hlapp commented 5 years ago

In light of the conclusion from recent discussions that at least for purposes of phylogenetic clade definitions there is no discernible difference between a specifier and a referent to a taxon concept, this should be closed. See also https://github.com/phyloref/phyloref-ontology/issues/8#issuecomment-448387121.