Re: Implications and Issues in Converting UML to RDF/OWL When Constructing HL7 RIM Ontology

> [helen.chen@agfa.com]
> 
> [...]
> 2. Mapping UML attributes RDF properties
> In OO, all attributes of a class will be inherited by its subclasses.  In 
> RDF/OWL, there is not such "inheritance", such that 
> 
> {?A ?P ?X. ?B rdfs:subClassOf ?A} => {?B ?P ?X} 
> 
> (the above rule does not exist in OWL semantics)

I think some clarification is needed here.  (Perhaps just to clear up
my own ignorance about UML.)  In OO-land one often writes ?A ?P ?X as
a shorthand for "Every element of class ?A has value ?X for property
?P."  I assume that's what's meant here.  If so, then OWL _does_ have
inheritance, but it's expressed in somewhat indirect ways.

For instance, one might write (using N3 notation):

   P a owl:Property .
   A a owl:Class;
     rdfs:subClassOf [a owl:Restriction
                        owl:onProperty P;
                        owl:allValuesFrom [a owl:Class;
                                             owl:oneOf (X)]] .
   B a owl:Class;
     rdfs:subClassOf A .

Any inference one can make about an element of class A having value X
for property P one can also make about an element of class B.

However, if by ?A ?P ?X is literally meant that the class A itself has
a certain property, then the inference rule is simply wrong.  For
instance, if P = 'size' and X = 1000, then obviously one wouldn't
conclude that every subclass of a class with 1000 elements had 1000
elements.

One caveat: I assume that UML, like most OO systems, imposes few
formal limits on inheritance, and in particular allows it to be
"overridden," perhaps constrained by the dictates of some formal
nonmonotonic framework (although I doubt it).  In contrast, OWL is
100% logically pure, so that no exceptions to the inheritance rule are
allowed.

                                             -- Drew McDermott

Received on Monday, 28 August 2006 18:28:46 UTC