Skip to main content

Class Stereotypes

Class stereotypes decorate Class elements, naming the UFO notion each class instantiates — kind, role, relator, and so on. A class's stereotype also constrains the ontological natures it may list in restrictedTo and the order it may carry.

Unlike Ontological Nature and Aggregation Kind, this vocabulary is open: the schema stores stereotype as a plain non-empty string (see Decoratable), so the values below are the recommended standard set, not a closed enumeration.

Standard values​

For each standard stereotype, the table gives the restrictedTo natures and the order expected in a serialized Class, using the schema's ontological-nature tokens.

StereotyperestrictedToorder
kind["functional-complex"]"1"
collective["collective"]"1"
quantity["quantity"]"1"
relator["relator"]"1"
modenon-empty subset of ["intrinsic-mode", "extrinsic-mode"]"1"
quality["quality"]"1"
event["event"]"1"
situation["situation"]"1"
type["type"]higher-order ("2", "3", … or "*" — not "1")
subkinda single nature, inherited from the ultimate sortalany
rolea single nature, inherited from the ultimate sortalany
phasea single nature, inherited from the ultimate sortalany
historicalRolea single nature, inherited from the ultimate sortalany
categorya non-empty subset of the naturesany
mixina non-empty subset of the naturesany
roleMixina non-empty subset of the naturesany
phaseMixina non-empty subset of the naturesany
historicalRoleMixina non-empty subset of the naturesany
note

The non-sortal stereotypes — category, mixin, roleMixin, phaseMixin, and historicalRoleMixin — decorate classes that must be abstract (isAbstract: true), since their instances always carry an identity principle supplied by some sortal.

By domain​

Grouped by the kind of entity they classify:

  • Endurants: kind, collective, quantity, relator, mode, quality, subkind, role, phase, category, mixin, roleMixin, phaseMixin.
  • Events: event, historicalRole, historicalRoleMixin.
  • Situations: situation.
  • Multi-level (types): type.

Example​

The «kind» Person class, decorated with the kind stereotype and restricted to functional-complex:

{
"type": "Class",
"id": "class_person",
"name": { "en": "Person" },
"stereotype": "kind",
"isDerived": false,
"isAbstract": false,
"properties": ["prop_age"],
"literals": [],
"restrictedTo": ["functional-complex"],
"isPowertype": false,
"order": "1",
"customProperties": null,
"created": "2024-09-04",
"modified": null,
"alternativeNames": [],
"description": null,
"editorialNotes": [],
"creators": [],
"contributors": []
}
Source of truth

These values come from the OntoUML profile, not from this serialization schema. See the OntoUML Metamodel for the formal definitions and constraints of each stereotype. Because stereotype is an unconstrained string (Decoratable), custom values are allowed — prefer the standard vocabulary for interoperability, and reserve custom stereotypes for deliberate extensions.