- From: Natasha Noy <noy@SMI.Stanford.EDU>
- Date: Mon, 29 Mar 2004 17:56:07 -0800
- To: Aldo Gangemi <a.gangemi@istc.cnr.it>, Ian Horrocks <horrocks@cs.man.ac.uk>
- Cc: 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
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 Monday, 29 March 2004 20:56:42 UTC