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

I find myself agreeing with what almost everybody says in almost every 
thread: unfortunately this is not very consistent. I suspect it reflects me 
not being an expert in this area.

I wonder if there is consensus that if you find yourself using metaclasses 
it is worth thinking about the trade-offs. (i.e. metaclasses may be useful, 
but also have known difficulties)

Jeremy





Natasha Noy wrote:

> 
> At 7:54 PM +0100 3/27/04, Aldo Gangemi wrote:
> 
>>
>> My two cents ...
> 
> 
> [snipping eighteen cents...]
> 
>> Bottom-line: let Natasha, Bernard, or anyone else produce cases of 
>> reasonable use of metaclasses, and let's try to find an alternative 
>> way to model them. If that way is unnecessarily complicated for the 
>> use case we are considering, then we can consider that use an example 
>> of best annotation practice.
> 
> 
> 
> Aldo, your bottom line assumes that it is _always_ better to avoid using 
> metaclasses if there is a somewhat reasonable (but perhaps less 
> intuitive, more cumbersome, but not overly so) way to represent the same 
> thing without them. I think it is a strong assumption to make and using 
> it as an imperative for best practices is even a stronger (and more 
> dangerous) thing to do. It is already clear from the discussion that 
> there is no consensus in the community. Given that, instead of trying to 
> produce  documents that say "avoid metaclasses if at all possible", we 
> should just acknowledge the different approaches and describe them. Then 
> people can choose.
> 
> There should  be a "presumption of innocence" of any construct that is 
> valid in the language. Sure, there are trade-offs. There are examples 
> when using metaclasses allows for a simpler and more intuitive model or 
> for easier use in application (e.g., some knowledge-acquisition 
> applications; not all applications and reasoners on the SW are going to 
> be DL reasoners). At the same time, you loose the ability to have a DL 
> reasoner to use that information. And we should document that too and 
> show ways to do it differently so that the ontology is in OWL DL, if 
> that's what one needs.
> 
> As an aside, I must say that in my interactions with Protege users, many 
> of those who use OWL for modeling, do it simply because it is a standard 
> and never think or plan to invoke a classifier (or define any necessary 
> and sufficient conditions; just necessary conditions).
> 
>> IMO, it remains to be demonstrated that there exists a case in which a 
>> reasoner must be able to reason on classes and metaclasses in the same 
>> problem space, without alternative solutions.
> 
> 
> Again, this assumes that, for all reasoning services, it is always best 
> to avoid metaclasses. As many have pointed out already, we don't have 
> enough experience to know what kind of modeling would work on the SW. 
> More important, we don't have enough real SW applications to know what 
> kind of reasoning will be most pervasive and useful on the SW. If we try 
> to optimize the modeling for a particular single kind of reasoning 
> (e.g., DL reasoning), we may shoot ourselves in the foot by encouraging 
> people to produce ontologies that real-world SW reasoners won't be able 
> to use productively. I am all for Pat's humility stance.
> 
> Natasha
> 

Received on Tuesday, 30 March 2004 05:51:43 UTC