- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Tue, 30 Mar 2004 11:46:50 +0100
- To: Natasha Noy <noy@SMI.Stanford.EDU>
- Cc: Aldo Gangemi <a.gangemi@istc.cnr.it>, Ian Horrocks <horrocks@cs.man.ac.uk>, Guus Schreiber <schreiber@cs.vu.nl>, SWBPD list <public-swbp-wg@w3.org>, Nicola Guarino <guarino@loa-cnr.it>, claudio.masolo@ladseb.pd.cnr.it
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