Subkind

Category
RigidSortal
Provides identity
no
Identity principle
simple
Rigidity
rigid
Dependency
optional
Allowed supertypes
Kind, Subkind, Collective, Quantity, Relator, Category, Mixin, Mode, Quality
Allowed subtypes
Subkind, Phase, Role
Forbidden associations
Structuration
Abstract
undefined

Definition

A «Subkind» is a construct used to represent rigid specializations of identity providersKind», «Collective», «Quantity», «Relator», «Mode» and «Quantity»). By default, its usage do not require a relational dependency. Let’s see some examples:

Example

Constraints

C1: A «Subkind» must always have exactly one identity providerKind», «Collective», «Quantity», «Relator», «Mode», «Quantity») as an ancestor (a direct or indirect super-type). Therefore, our examples in the first figure should be modelled as:

Subkind application 1

C2: Because it is a rigid type, a «Subkind» cannot have an anti-rigid type («Role», «Phase», «RoleMixin») as an ancestor. Therefore, the following fragments would not be allowed:

Subkind forbidden 1

C3: Since every instance of a «Subkind» follows the same identity principle, a «Subkind» cannot have an mixin type («Category», «Mixin», «RoleMixin») as a descendant, i.e., a direct or indirect subtype. Fragments like the ones below are not allowed:

Subkind forbidden 2

Common questions

Q1: Are subkinds only used to specialize kinds?

A1: No! Even though the name might be a little misleading, a «Subkind» may be used to specialize any identity provider, which includes «Collective», «Quantity» and «Relator».

Examples

EX1: Usually, subkinds come in groups, like in the examples below:

Subkind application 2

EX2: Fragment from the Normative Acts Ontology (see more):

Example NAO

EX3: Fragment of a conceptual model about Brazilian Universities (see more):

Example University