I’m currently working on the formalization of our new Multimedia Metadata Ontology M3O. It used Descriptions and Situations as one core pattern, along with information realization and the data value pattern (at least we termed the representation of plain data values in DOLCE Ultralight like that). While it is pretty simple to come up with many axioms that I could add, I question myself how many I want to add.
As an example: Currently we have D&S based patterns where the description defines a number of concepts that determine the roles of the participating entities within a certain context. Each concept might only classify exactly one entity. We need this property of the patterns in order to assure that no ambiguities arise in the real data. My idea was to add super concepts like M3OConcept, among others, in order to formalize these basic properties. For instance, I would formalize that M3OConcept = classifies exactly 1 Entity and classifies only (Entity and hasSetting some M3OSituation). What does this give me? Well, it formalizes that a concept within M3O might classify only one entity, and that this entity must have as setting a M3O Situation. This could be continued, e.g., by requiring that M3OSituations only satisfy M3ODescriptions, that M3ODescriptions define only M3OConcepts, and so on. But that would also imply that specializing our patterns would require sub-concepts of our M3O concepts, which would need to satisfy the same axioms.
But is that really desired? Obviously it would provide very clear semantics, but it might hinder adoption. Maybe we can not foresee particular cases where our axioms do not hold. So the question is: How strong should an ontology design pattern be formalized? Is their main advantage the formalization? Or is it rather their template-like character that provides an idea of how to model certain things? I am personally not yet sure which way I will go, so I’m open for comments ;).