Adding Instances To Ontologies

As we proposed in an earlier post, we have been developing an alternative to the traditional approach of representing taxonomy in ontologies. This alternative represents species (and currently higher taxa) as individuals in the ontology.

There is another phenoscape ontology that would benefit from the use of individuals: our ontology (ok, it’s really a vocabulary) of research collections of fish. Part of our process for curating anatomy papers involves constructing a list of all the specimens reported in the paper (generally the author includes this in the paper, but we enter it to facilitate annotation). The specimen lists consist of collection names and numbers. Although research collections are supposed to have standardize names and abbreviations, practice does not always reflect these standards: the same collection may be abbreviated in different ways by different authors, and collections occasionally merge and the smaller collections might disappear into larger ones or be renamed.

So we constructed a vocabulary of fish collections with their 4-5 letter abbreviations, longer name and possible synonyms. Now a research collection contains individual specimens, but these are parts of a collection, not subtypes of a particular collection, and therefore, the collection is best represented as an individual, not a class. So, the collections vocabulary, represented as an OBO ontology, should ideally use OBO instances (which exist to represent individuals), rather than terms for the collections.

Unfortunately, the current version of OBO-Edit, although it will read and save ontologies containing Individuals, provides no facility for either viewing or editing these individuals. Furthermore, although there are several OWL editors that would allow us to work with Individuals, there are no OBO<->OWL translators that understand what to do with OWL individuals, so they are just omitted in the OBO translation, even though the OBO file format, since version 1.2, has supported Instance ‘stanzas.’

Several of us recently discussed this issue with Chris Mungall, who mentioned a similar issue with the GAZ ontology of geographical terms, though the developers of GAZ are not as concerned as we have been with the Individual/Instance vs. Class/Term distinction. Since adding support for Individuals would impact the final release of OBO-Edit 2.0, which we all want, and as an OBO-Edit plugin was considered too risky (e.g., would likely introduce difficult to detect and fix bugs), Chris proposed an ‘out board’ solution.

This solution would involve adding an instance_of relation to any ontology that wanted to use individuals. Although instance_of is not one of the ten relations listed in the published OBO relations ontology, it is defined as a primitive and used throughout Smith et al. (2005).  Entities that were intended to be individuals would be defined as terms, but rather than link to their parents though is_a relations, they would use the locally defined instance_of. The out board tool will be able to convert OBO stanzas that linked to parents through instance_of back and forth between term stanzas and instance stanzas. With term stanzas, individuals would be syntactically classes, but visible to OBO-Edit, whereas when they were instance stanzas, they would be correct, but invisible to current versions of OBO-Edit. Eventually, OBO-Edit and its reasoner(s) will include support for individuals.

This seems like a workable solution and the best we can expect given current limits of time and people.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: