W3C home > Mailing lists > Public > www-rdf-logic@w3.org > February 2004

Re: Abstract Classes

From: Drew McDermott <drew.mcdermott@yale.edu>
Date: Wed, 11 Feb 2004 18:53:09 -0500 (EST)
Message-Id: <200402112353.i1BNr9i15804@pantheon-po02.its.yale.edu>
To: www-rdf-logic@w3.org


> [Eric Jain] 
> Is there a way to indicate that a Class should be abstract, i.e. that no
> direct instances are allowed to exist?

Owl classes are like set-theory classes, not like OOP classes.  There
is no notion of "direct instance."

In mathematics, a class or set is nothing but a ... bunch or ... group
or ... (hmmm) set of objects.  If x is an element of set S, it's
pointless to try to find a set S' such that x elt S' and S' subset S.
There will always be such an S', usually quite a large number.  If you
change the "subset" to "proper subset," then the only time there can
fail to be such an S' is if S = {x}.

In OOP, classes aren't classes of objects, just convenient packages of
methods and such.  An object x can be an instance of S', and S' be a
subclass of S, without x being an instance of S in any useful sense.
Of course, it's an instance by fiat, but what I mean is that if there
is a set of properties that is intended to hold for elements of S and
fail to hold for elements outside of S, then all those properties
could fail to hold for x.


-- 
                                   -- Drew McDermott
                                      Yale Computer Science Department
Received on Wednesday, 11 February 2004 18:53:12 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:48 GMT