Take for example my simple request to take a coffee break with a friend from work. With a single word- “Coffee?” - an astounding number of complexities are inferred. Which coffee shop I'm referencing is gleaned because of its geographic proximity and our frequent visits (and lack of frequent visits to other proximate coffee shops). The meeting time is inferred from similar previous requests at a particular time of day, the usual lapse in response time from the request to the actual event of leaving the office, and perhaps constraints such as scheduled meetings or weather forecasts. Our transportation could be determined by proximity and availability of transportation, and whether we travel together would depend on whether we were both in the office that day. For both of us to successfully meet for coffee, we both need to know all of these things, and before that, we need to know that we need to know all of these things.
Every ontology has as its backbone a taxonomy, a well-structured hierarchy of classes used to sort all of the entities referred to in the ontology. (Note that in this article, as in enterprise and formal ontology, entities refer to actual things in the world, not linguistic concepts, as they would in a thesaurus.) Every ontologist is familiar with the challenges of creating a good taxonomy: how does one decide which classes to include? How specific or general? Along what dimension(s) should the hierarchy unfold?