- From: <ewallace@cme.nist.gov>
- Date: Thu, 2 Jun 2005 14:51:50 -0400 (EDT)
- To: welty@us.ibm.com
- Cc: public-swbp-wg@w3.org
Chris Welty wrote: >Evan or Natasha, can you point us to a decent description of "association >classes" in UML and what you think might be needed to translate something >in OWL to it? I am not sure if this qualifies as "a decent description", but it is defined in the UML 1.5 specification [1] starting on page 3-77 (477). Of course, since this just says an Association Class is "an Association that has class properties..." you will have to understand the UML interpretation of both Association and Class as well. You can look those up, but I give you a brief summary of Association below. A UML Association is a relation (a predicate, or subtype of UML:Classifier, not an instance) between classes. These are typically binary relations, but they can be N-ary. The place where the Association line contacts a Class is called an Association End (sometimes referred to as a role). This restricts the range for that role to the class (and its subclasses) contacted. The Association End will also include Multiplicity (cardinality constraint) for that role's participation in an instance of the relation, and it may include a Role Name. There are other properties of Association End, most of which don't map to KR languages. One which is awkward to map to OWL DL, but might more easily map to other languages is Ordered. The default for that property is unordered. A typical mapping to OWL for a binary UML Association would lead to: - an ObjectProperty with domain and range restricted to the associated classes, - another property which is the inverse of that property, and - Property Restriction axioms for each cardinality constraint in the description of the OWL classes corresponding to the UML classes participating in the Association. You mentioned naming in the telecon. That can be a PITA when mapping from UML because names are only required when there is ambiguity in the identity of a model element in the context in which it is used. The solution I used in my mapping was to optionally include the context information in the name used in the corresponding OWL ontology. Very ugly. Evan [1] http://www.omg.org/docs/formal/03-03-01.pdf
Received on Thursday, 2 June 2005 18:51:59 UTC