On Tue, 22 Aug 2006 10:28:03 -0600, Larry Hunter wrote:
 In my experience, many complex knowledge modeling projects benefit
 from the use of metaclasses.  For example, if the domain of a
 relationship is limited to several specific classes, it makes sense
 to model those classes as members of a particular metaclass (i.e.,
 one that supports a particular slot type).

Larry,

this typical use case of metaclasses may not be the best solution for the problem. In many cases (but you may have other reasons as well), people introduce metaclasses so that they can get a different behavior of user interfaces. For example many ontology editors automatically create input fields if certain properties are in the domain of the instance type.

In my opinion, changing a model only to control the behavior of a user interface is a bad idea. This approach was unfortunately promoted by some ontology editors in the past. Ontologies are no longer just used as a framework to restrict the type of instances that can be entered, but also for various types of reasoning and information exchange on the Web. For these tasks, having a complicating metaclass architecture is just another obstacle.

I agree with Matthias that metaclasses should be avoided whenever possible.

Holger

Reply via email to