I am planning a series of blog posts describing some general tips I have found useful in working with groups developing biological ontologies. These are not intended to be rigid rules enforced by ontological high priests; they are intended to provide empirically backed assistance to ontology developers of different levels of abilities, based on lessons learned in the trenches. I’m going to attempt to stay away from both hand-waving abstraction and platitudinous obvious truths, and focus on concrete practical examples of utility to ontology developers. I also hope to generate constructive and interesting discussion around some of the more controversial recommendations.
The following is a list of tips I intended to cover. I will add hyperlinks as I write each individual tip. I’m not sure when I will finish writing all articles so apologies for any teasers.
- OntoTip: Lift/Borrow/Steal Software Engineering Principles
- OntoTip: Single-inheritance principle considered dangerous
- OntoTip: Learn the Rector Normalization pattern
- OntoTip: Logical Axioms are your Friends
- OntoTip: Beware of Over-Axiomatization
- OntoTip: Write simple, concise clear text definitions that are consistent with the logical ones
- OntoTip: Clearly document your design decisions
- OntoTip: Don’t Over-specify OWL definitions
- OntoTip: Always make sure child terms have siblings
- OntoTip: Avoid Complex Boolean Constructs
- OntoTip: Embrace Simple Powerful Models of the World
- OntoTip: Shadow Concepts Considered Harmful
- OntoTip: Model the World Directly
- OntoTip: Your ontology may be used in ways you had never imagined
- OntoTip: Communicate with developers of imported ontologies
- OntoTip: Undercommit to BFO, commit to domain upper ontologies
7 thoughts on “OntoTips: A series of assorted ontology development guidelines”