[MUD-Dev] OpenCyc, design implications of ontological systems?

Robert Zubek rob at cs.northwestern.edu
Sun Apr 14 15:30:40 New Zealand Standard Time 2002

From: Miroslav Silovic
> Robert Zubek wrote:

>> This will break the translation of an OpenCyc ontology into an OO
>> representation. AFAIK, the OO model doesn't allow for an
>> equivalent of instantiation between collections. C++ programmers
>> sometimes unknowingly kluge this by trying to represent something
>> that looks like instantiation using the superclassing mechanism,
>> but that seems suboptimal because it muddles the distinction
>> between instances and specializations...

> This only applies to certain OO systems. In CLOS, each class is an
> instance of a metaclass. The metaclass defines such things as
> inheritance precedence, method lookup and sorting algorithm, and
> even class definition syntax (you can override class definition
> parser on the metaclass). Metaclass may also track other things;
> basically it defines the beheviour of its instances with fairly
> low granularity.

I agree, MOP is wonderful - it lets you do runtime adjustment of the
class hierarchy, modify class and slot definitions, and all the
other good stuff that meta-objects ought to do, but I'm still not
sure it lets one do a direct translation of the OpenCyc
representation into CLOS. Using CLOS, can a *class* be an instance
of another base-level class (not of a metaobject class)?

In any case, isa and genl (the instantiation and generalization
relations) are just two of the difficulties of representing Cyc in
an OO model. Then there is the problem of translating relations and
attributes, which I'm not sure how one would even begin to
approach... :)


Robert Zubek
rob at cs.northwestern.edu

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list