As in any top-level ontology, the types in this one are not all necessary for any application, and they are not sufficient for any application (i.e. there are many applications in which other top-level distinctions are also useful for guiding the acquisition and the organisation of the types necessary for these applications).
This ontology is designed for easing the representation of natural language (NL) sentences in the Conceptual Graph (CG) formalism, or more generally, for easing the building of a knowledge base using concept types and relation types being or specialising types useful for directly representing the content of NL sentences. This goal does not restrict much the kind of applications where this ontology could be useful but much more the way the knowledge is represented: relations between entities are explicitly represented by conceptual relations between concept nodes. This kind of organisation tends to lead to more explicit/complete knowledge representations, and thus, later, to better knowledge retrieval and knowledge explanations, but these representations may have to be compiled into other formalisms for their efficient use in problem-solving.
According to this ontology purpose, we have tried to maximise the number of
potentially useful types while minimising the number of the ones which are not
easily understandable by the user, i.e. which are not commonsense.
More precisely, since our ontology had to be composed of a relation type ontology
and a concept type ontology, the first one includes and organises all the
NL&commonsense relation types we have found in other top-level ontologies
(i.e. about 150 types now; indeed more have to be included), while the
concept type ontology first included the few concept types required for the
signatures of the relation types (i.e. about 25 concept types, the main ones being
Thing, Collection, Entity, Situation, Process, Goal_directed_agent, Cognitive_agent,
Temporal_entity, Spatial_entity, Property, Measure, Modality, Description).