DAML+OIL "Tricks of the Trade"
Editor:  Deborah L. McGuinness

Included below are a list of conceptual modeling issues and suggested resolutions:

Task - define the class of all people whose best friend is their spouse, where bestFriend and spouse are properties.

Observation - there is no direct DAML+OIL constructor for this notion.  (Some languages have a notion of "same-as" that would allow this statement to be made directly.)

Abstracted solution -
Use a property hierarchy to force the reasoner to conclude that spouse and bestFriend have the same value.
Declare both bestFriend and spouse to be subProperties of a property called  bestFriendOrSpouse.
Assert that the class has a  maxCardinality restriction of 1 on bestFriendOrSpouse and has cardinality 1 on both
bestFriend and on spouse (or it would suffice to state that bestFriend and Spouse have minCardinality 1 since maxCardinality will be inferred from superproperty to subproperty).

DAML+OIL code -


Other examples of modeling issues and solutions in a language similar to DAML+OIL are available in:
Ronald J. Brachman , Deborah L. McGuinness , Peter F. Patel-Schneider , Lori Alperin Resnick , and Alex Borgida. ``Living with CLASSIC: When and How to Use a KL-ONE-Like Language,'' in John Sowa, ed., Principles of Semantic Networks: Explorations in the representation of knowledge , Morgan-Kaufmann: San Mateo, California, 1991, pages 401--456.  http://www.ksl.stanford.edu/people/dlm/papers/living-with-classic-abstract.html

The following people have contributed to this list of modeling issues and solutions:
Jeff Hefflin
Ian Horrocks
Deborah McGuinness

Last Update:   November 8, 2001