Scheduled Technical Discussion for February 24, 2005    (ASD)

Background    (ASG)

Using the analogy associating an ontology as an analog to the concept of a reusable software library with its API, then we can look towards modern approaches of reusable software development practices as an inspiration for modular ontology development. The naive approach for modular, object-oriented software development relies heavily on subclassing as the mechanism to decouple a reusable module (i.e., the superclass) with a specific usage of that module in a given application context (i.e., the subclass that derives from the module's superclass). There is a growing body of evidence that this approach is inherently brittle in software engineering. (for more on this topic, see see Clemens Szyperski's Component Software book, chapters 5 & 6 -- http://research.microsoft.com/~cszypers/Books/component-software.htm)    (ASH)

The analogy holds for formal ontologies as well. Here, "formal ontology" refers to an ontology that has rigorous formalization of some kind suitable for a reasoning process to make inferences based on the ontology's axioms, properties and rules. Well-known examples of formal ontologies include: SUMO, PSL, DOLCE. The OntoClean methodology is an excellent case explaining the pitfalls and limitations of subsumption for organizing extensible or modular ontologies. This has led to the notion of "meta-ontology", initially used as an ontology where the (meta) ontology provides a taxonomy of concepts and properties used for capturing the meaning of things in the application-specific ontology using annotations expressed in terms of the meta-ontology. This idea has been documented in the semantic web best practices group http://www.w3.org/2001/sw/BestPractices/, e.g., with the "classes-as-values" pattern http://www.w3.org/TR/swbp-classes-as-values/ commonly used for annotation purposes.    (ASI)

Problems & questions for discussion    (ASJ)

While adequate for documentation purposes, the use of a meta-ontology as an annotation language presents a number of practical problems for OWL ontologies.    (ASK)

Specifically, this means that an ontology may have:    (ASU)

These situations raise a number of questions about reasoning over the annotations of an ontology. In practice, this is not easily doable without a significant amount of tooling effort. Such efforts transform the status of an annotation from that of a comment to that of an logical element in an ontology of annotation attachments. This raises the prospect of shifting from a practice of ontology annotations to "meta-ontology" development, i.e., ontologies about ontologies.    (ASY)

This topic is particularly interesting to me as I am wrestling with practical strategies for applying OntoClean(*) in the context of engineering models, a culture with a large tradition of "attribute=value" parametric view on modeling. In this context, the risk of ontological error in alignming domain-specific vocabularies and taxonomies is very high.    (AT3)

Resources    (AT4)