310 12 Building Bioinformatics Ontologies
Note that this does not require that admissions be authorized. It only states
that when an admission has been authorized, then it must be authorized by
a doctor. To require authorization, one must impose a cardinality constraint.
This is covered in the next subsection.
Many design methodologies treat classes as the most important design no-
tion, and relegate properties to a subsidiary role in which properties belong
to their domain classes. For example, the methodology in (Noy and McGuin-
ness 2001) regards properties as “slots” belonging to a class. XML and XSD,
as well as most software engineering methodologies, take this point of view.
OWL and RDF use an alternative point of view in which classes and proper-
ties have the same status (Baclawski et al. 2001). This design methodology is
calledaspect-oriented modeling, and it is supported by the most recent version
of UML (UML 2004).
12.7.3 Cardinality Constraints
Cardinalityis another word for the number of elements of a set. When used in
the context of ontologies, the word refers to the number of values that can be
taken by a property or attribute. For example, in BioML every chromosome
can have at most one name. In terms of cardinalities, one would say that
the name property hasmaximum cardinalityequal to 1. As another example,
every genus must have at least one species; in other words, theminimum
cardinalityis equal to 1. One can impose both a minimum and a maximum
cardinality, and when these two are the same number, then it is called an
exactcardinalityconstraint. In such a case, the number of values will always
be the same. For example, if one requires that every patient have exactly one
name, then one says that the name property hascardinalityequal to 1. The
most commonly imposed cardinality constraints are shown in the following
table:
Constraint Description XML DTD
No cardinality constraint Any numberof values *
Minimum cardinality is 1 At leastone value +
Maximum cardinality is 1 At mostone value?
Cardinality is 1 Exactlyone value
Maximum cardinality is 0 Not applicable N/A
The last column shows the symbol used in XML DTDs, and Perl patterns.
One can impose cardinality constraints with numbers other than 0 or 1, but
this is rarely done. The last row in the table is used by properties that are