CH 2.1 Domain Analysis: Modeling Choices based on Implementation
Closed this issue · 1 comments
Does the implementation architecture of an application or knowledge graph affect the ontology design, or should OWL ontologies be implementation agnostic beyond profiles? For example, should subclass relationships ever be explicitly defined instead of inferred due to a constraint of not having access to a reasoner, and how would these constraints be integrated into the ontology engineering process?
This is an interesting question. As with many questions, the answer is “it depends”. If you are needing to work in environments either without access to a reasoner or with inconvenient access to a reasoner, AND if you need the system to behave as if it had access to the information that is implicit in the stated information (such as subclass relationships) then it does make sense to include explicit statements of the subclass relationships. In this setting though, it still may make sense to include that redundant information in a separate module so that if a use occurs where access to a reasoner is available, one could use just the portion of the ontology that did not contain explicit statements of the redundant information. Also in a situation where access to a reasoner is not available, then it may also make sense to include other kinds of explicit redundant information such as other properties of a superclass that a reasoner would have been able to infer through inheritance or other reasoning.
Also if you are building an ontology for potential reuse and some of the reuse may be in situations where a reasoner may be available, then those “reusers” would really benefit from at least having a separate module for the redundant information so that they can reuse the “base” ontology and not need to load the module (or modules) that have the redundant information