Redundancy
vet@cs.utwente.nl (Paul van der Vet)
Date: Wed, 6 Jul 94 09:02:53 +0200
From: vet@cs.utwente.nl (Paul van der Vet)
Message-id: <9407060702.AA14768@apollo.cs.utwente.nl>
To: ontolingua@HPP.stanford.EDU
Subject: Redundancy
It appears that when a class is defined by extensional specification
of its instances, the instances themselves are only known if they are
additionally introduced by means of define-instance functions. Take
the following example (from Gruber's bibliography ontology):
(define-class MONTH-NAME (?month)
"The months of the year, specified as an extensionally-defined
(i.e., enumerated) set of objects, in English.
Instances of this class of months are not symbols, they are months
that may be denoted by object constants."
:iff-def (member ?month
(setof january february march april may june july
august september october november december))
:issues (("Why not specify them as an ordered sequence?"
"The class only defines the set of months. Their order would
be given by an ordering predicate: a binary relation.")))
(define-instance JANUARY (month-name))
(define-instance FEBRUARY (month-name))
(and so on)
There may be good reasons for this, although I'd like to hear them. I
would prefer an extensional specification of a class to introduce its
instances along with the class. The current construction introduces
redundancy. If, for instance, it proves necessary to add another
instance (not very likely for months, but the principle is evident) or
to perform other updates, the changes have to be made twice. This may
be a source of error.
Paul.
---------------------------------------------------------------------
Paul van der Vet Phone +31 53 89 36 94 / 36 90
Knowledge-Based Systems Group Fax +31 53 33 96 05
Dept. of Computer Science Email vet@cs.utwente.nl
University of Twente
P.O. Box 217
7500 AE Enschede
The Netherlands
---------------------------------------------------------------------