Base Templates CardinalityMin, CardinalityMax, CardinalityMinMax


CardinalityMin, CardinalityMax, and CardinalityMinMax are templates for expressing the
values of cardinalities.

CardinalityMinMax(a, b, c) means that a is a cardinality and b and c are integers, and that
b is the minimal, c the maximal, constraint of a. CardinalityMin and CardinalityMax are
similar, and apply to just the minimal, resp. the maximal constraint.
CardinalityMin

Roles:
1 hasCardinality Cardinality
2 valMinimumCardinality INTEGER

CardinalityMax

Roles:
1 hasCardinality Cardinality
2 valMaximumCardinality INTEGER

CardinalityMinMax

Roles:
1 hasCardinality Cardinality
2 valMinimumCardinality INTEGER
3 valMaximumCardinality INTEGER

Axiom:

CardinalityMin(x1, x2) <-> 
Cardinality(x1) & 
INTEGER(x2) & 
hasMinimumCardinality(x1, x2) . 

Axiom:

CardinalityMax(x1, x2) <-> 
Cardinality(x1) & 
INTEGER(x2) & 
hasMaximumCardinality(x1, x2) . 

Axiom:

CardinalityMinMax(x1, x2, x3) <-> 
Cardinality(x1) & 
INTEGER(x2) & 
INTEGER(x3) & 
CardinalityMin(x1, x2) & 
CardinalityMax(x1, x3) . 

NOTE In ISO 15926, cardinalities are first-class objects. In ISO 15926-2, it is stated that an absence of specified minimum or maximum values for a cardinality should be interpreted as a absence of constraints (clause 5.2.13.1). The nature of the representation of ISO 15926-2 in first-order logic, with an open world assumption, mandates that both lower and upper bounds be given explicitly. Where no minimal constraint applies, the value 0 should be assigned. Where no maximum constraint applies, the reference item * Cardinality should be assigned (see 8.2.1).

Home
About PCA
Reference Data Services
Projects
Workgroups