7.1.2. Property

A Property is an atomic type, as far as the semantics of PL concerns. There are but three things of interest to a Property (we call them attributes) and those are

  1. Whether it is mandatory;

  2. Whether it is functional;

  3. What is its range type.

A Property is a single dimension to compare Roles on. Range types are for example Integer, Boolean, String and Date. However, an implementation may add other Range types.

Of theoretical interest is a Range type without values. We use it to define the ValueLess Property.