Provides identity


Identity principle






Allowed supertypes

Category, Mixin

Allowed subtypes

Subkind, Role, Phase

Forbidden associations

ComponentOf, SubCollectionOf, MemberOf, SubQuantityOf, Derivation




A «Quality» is a particular type of intrinsic property which has a structured value. Qualities are things that are existentially dependent on the things they characterize, called their bearers. Types stereotyped as «Quality» are also rigid. OntoUML differentiates between three types of qualities:

  • Perceivable, which capture qualities that could be measured by an agent with the appropriate instrument, like weight, height, color and speed.

  • Non-Perceivable, which represent properties which cannot be directly measured by an instrument, like currency.

  • Nominal, which are used to make reference to an individual, like one’s name, a book’s ISBN or a credit card number.

Notice some examples of qualities in the next figure:

Quality examples

You can define different types of geometrical structures for a quality value using dimensions and domains. Here is an example:

Quality application 2


C1: A «Quality» must always be connected, through a «Characterization» to another type.

Quality application 1

C2: The multiplicity of the characterized end (opposite to the quality) must be exactly one. Therefore, the following examples are forbidden.

Quality forbidden 1

C3: Qualtities cannot have as ancestors the following types: «Kind», «Quantity», «Collective», «Subkind», «Role», «RoleMixin», «Phase», «Relator», «Mode».

Quality forbidden 2

C4: Qualtities cannot have as descendants the following types: «Kind», «Quantity», «Collective», «RoleMixin», «Category», «Mixin», «Relator», «Mode».

Quality forbidden 3

Common questions

Q1: Can I represent the property “height” as an attribute instead of a «Quality»?

A1: Yes. The decision to represent attributes or qualities is entirely up to you. It is useful to represent properties as qualities when you want to define different escales for the same characteristic. For instance, if you want to model that a Person has a “height” property, which can be measured in meters or centimeters you should explicitly represent the Height quality.

Quality application 4


No examples yet…