Knowledge Systems Laboratory, Stanford University
13
Class Features
uDeclaring a class to be a disjoint union of multiple classes
ä<Class about = "#Person">
ä <comment> every person is a man or a woman </comment>
ä <disjointUnionOf parseType = "daml:collection">
ä <Class about = "#Man” />
ä <Class about = "#Woman” />
ä </disjointUnionOf>
ä</Class>
Joe is a Person.
Is Joe either a Man or a Woman?
Yes.
Joe’s-Height is a Height.
What is Joe’s-Height?
“short”, “medium”, or “tall”.
uDeclaring a class as an explicitly enumerated set
ä<Class ID = "Height">
ä <oneOf parseType = "daml:collection">
ä <Height ID = "short” />
ä <Height ID = "medium” />
ä <Height ID = "tall” />
ä </oneOf>
ä</Class>