Search Mailing List Archives
[protege-owl] "Abstract" class in OWL
Thomas Russ
tar at ISI.EDU
Sun Sep 30 18:51:33 PDT 2007
On Sep 30, 2007, at 4:31 PM, Fernando Mertins wrote:
> Hi...
>
> Is there an option to define an "abstract" class, in OWL? i.e., a
> class that
> must not have instances... The propose of the class is only to be
> superclass
> from others... i.e.:
Not directly. It doesn't really make sense in OWL, because the
notion of what class something belongs to is a lot more fluid in
OWL. This can change with additional assertions or inference, so
there isn't the same degree of concern as with object-oriented
programming.
>
> Model
> Model A
> Model B
> Model C
>
> A, B and C classes are "models", but something cannot be only
> "Model", must
> be a model of subtype A, B or C...
You could make "Model" equivalent to a union of "Model A", "Model B",
and "Model C".
That would mean that anything that is a Model must also be one of
Model A, B or C as well. But since OWL is quite happy with
incomplete (open world) knowledge, you could have some particular
model about which you didn't know which of those subclasses it
belongs to. I also note that if you don't want to have something
possibly being both a Model A and a Model B, etc. you will have to
tell OWL that A, B and C are disjoint classes. By default they are not.
One key thing to understand when coming to a description logic from a
programming background is that DL is about inference and not about
primarily about type-checking. The inference and the different
assumptions underlying the reasoning system can cause some surprises
until you adjust your way of thinking.
More information about the protege-owl
mailing list