Re: [OPEN] and/or [PORT] : a practical question

Ian,

  With the risk of being expelled from the class, here it goes... :)

>In contrast, classes as instances are relatively rarely used (most
>forms of conceptual modelling, databases etc., seem to have managed
>perfectly well without them), and hardly ever used
>"correctly". Moreover, the resulting logics are much less well
>understood and there is little implementation experience.

Saying that classes as instances are relatively rarely used is not 
quite accurate, actually. At least this is not true among the 
Protege users (of which there are quite a lot recently). Protege has 
always allowed metaclasses, and advanced users have often used them. 
In fact when the Protege OWL plugin did not initially allow 
metaclasses in order to force all users into OWL DL, users promptly 
rebelled and asked for this feature (if you are curious, you can look 
at the protege-discussion list archive at [1]).

As far as I could tell from my interaction with users and developers, 
metaclasses were misused or used incorrectly much less often than the 
subclass relationship. This is in large part because usually only 
experienced users venture into the metaclasses territory, and anyone 
who is creating the first two classes in his life, tries to put them 
in a class hierarchy. As you point out though, the fact that people 
misuse something is not the reason to remove it from the language.

The integration of ontologies and terminologies is one place where 
the use of classes as instances (and the use of classes in instance 
defintions) happens often, but is not the only one.

Don't get me wrong: I am not trying to start a language war here (and 
I am glad I've missed them before). I just want to point out that 
this use is not all that rare and not always misguided, and we should 
document best practices for it, when to use it and when, why, and how 
to avoid it.

Natasha

[1] http://protege.stanford.edu/community.html

Received on Wednesday, 24 March 2004 17:16:45 UTC