Category
- Category
RigidNonSortal
- Provides identity
- Identity principle
- Rigidity
- Dependency
optional
- Allowed supertypes
- Allowed subtypes
Kind, Subkind, Collective, Quantity, Relator, Category, Mode, Quality, Role, Phase, RoleMixin, PhaseMixin, Mixin
- Forbidden associations
- Abstract
True
Definition
A «Category» is a rigid mixin that does not require a dependency to be specified. It is used to aggregate essential properties to individuals which following different identity principles. Let’s see some examples:
Categories are usually used in a refactoring process. For example, let’s suppose that you defined two classes in your model, Person and Animal. Now you want to state that either people and animals have a weight. You than create a «Category», which has weight, and generalize the existing classes into it.
Constraints
C1: A «Category» is always abstract. Notice that abstract classes are represented with an italic label.
C2: A «Category» aggregate individuals that follow different identity principles, therefore it may not have as ancestor the following constructs: «Kind», «Quantity», «Collective», «Subkind», «Role», «Phase», «Relator», «Mode», «Quality».
C3: A «Category» is a rigid construct, therefore it cannot have as ancestor an anti-rigid type, as: «Role», «RoleMixin», «Phase».
Common questions
Ask us some question if something is not clear …
Examples
EX1: Fragment from the ECG Ontology (see more):
EX2: Fragment from UFO-S, a commitment-based service ontology (see more):