Re-use, application independence, and modelling style
The previous should have given you an understanding of the basics of building GRAIL models. It has introduced all of the basic ideas except for the way in which GRAIL handles transitive relationships (this is covered in here). This chapter explains in more detail how GRAIL is intended to be used. GRAIL has been designed to make a certain kind of modelling possible. To get the most out of GRAIL, you need to follow a few simple rules to produce the sort of models intended.
Our goal is to produce terminological models which are application independent and re-usable. To do this, we want to make as much information explicit in the model as possible so that applications can use it, and we want to make as few decisions as possible on the basis of individual applications. We want to avoid building in a bias towards one particular way of looking at the model.
Of course this can never be perfect, and no model will ever be re-usable over the entire range of human experience. However, our goal is to produce models which cover a range of applications in a given area rather than models which are tuned to just one, very specific application.
The main strategy for producing application independent models is to break our hierarchies of elementary categories into independent sub-hierarchies which do not overlap and then to fit them together using definitions and necessary statements. The result of the classification and formal subsumption may be a very complex multiple hierarchy, but we know why each category is classified the way it is because the information is explicit in the definition and necessary statements.
We have to have some asserted subsumption: we have to start somewhere. But over-use of asserted subsumption is the enemy of re-use, because the reason for asserted subsumption is tacit and invisible to the computer. Personally, we may or may not know or remember why we asserted that a given elementary category should be classified in a certain way, but it is certain that the information is not available to the system or to applications. We want to build the minimum of tacit assumptions into the asserted hierarchies. We want to make as much as possible explicit through the use of definitions and necessary statements.