modify range of has characteristic
I've noticed the following scenario (included in the attached ontology) creates an unsatisfiable class. Suppose you have a following classes (indicated in bold) defined by the associated axioms:
- material entity
-
glass:
has characteristicsome fragility
-
glass:
- disposition
-
fragility:
characteristic ofsome material entity
-
fragility:
- process
-
shattering:
has characteristicsome fragility
-
shattering:
When you reason in HERMIT, shattering is unsatisfiable. Explanation:
shattering SubClassOf Nothing
- shattering SubClassOf process
-
shattering SubClassOf has characteristic some fragility
-
characteristic of InverseOf has characteristic
- Functional: characteristic of
-
fragility SubClassOf characteristic of some material entity
-
material entity SubClassOf independent continuant
- independent continuant SubClassOf continuant
-
material entity SubClassOf independent continuant
-
characteristic of InverseOf has characteristic
- continuant DisjointWith occurrent
The issue is that since characteristic of is functional, the characteristic is inferred to be both a continuant and occurrent. I know that realizes is the relation to use between a process and disposition. However, a student I was working with did not know this and managed to create a similar situation. The student was reasoning ELK, which won't catch this error, and assumed it was reasonable to have disposition as a characteristic of a process.
Do we want to modify the has characteristic relation to either allow for this kind scenario or restrict the range to exclude realizable entity?
We can remove the functional / inverse functional properties characteristic of / has characteristic relations. I suspect some won't like this. I can see why it makes intuitive sense for characteristic of to be functional. However, someone may have a counter example of why it should not be functional.
I tested restricting the range to exclude realizable entity by creating two custom relations (see attached file) named my_characteristic_of and my_has_characteristic. The range of my_has_characteristic is defined as:
'specifically dependent continuant' and (not ('realizable entity'))
And defined the following classes:
- material entity
- salt
- disposition
-
solubility:
my_characteristic_ofsome salt
-
solubility:
- process
-
dissolving:
my_has_characteristicsome solubility
-
dissolving:
Using HERMIT, this determines the class dissolving to be unsatisfiable. The advantage of this approach (perhaps) is that the reason for the unsatisfiable class is more clear.
Interestingly, ELK will also determine the class to be unsatisfiable if you use version 0.6.0.
Of course, the relations can still be defined as functional / inverse functional.
Since fragility is defined to be a characteristic of a material entity, it seems like an error to use it as a characteristic of a process (shattering).
@balhoff You are correct. The representation needed to be fixed. However, that is not the point I am trying to make (sorry if I am not communicating it well).
What I am trying to communicate is that the range restriction for has characteristic didn't communicate that this wasn't permitted. The example I presented is a simplified version of the actual situation, which involved dental materials and had nothing to do fragility.
Can anyone think of an example where a process could have a realizable entity as a characteristic? If not, then I agree with @wdduncan
BTW, as an aside, I do have a case where a material entity benefits from inheriting one or more characteristics of a "reference material". The functional "has characteristic" object property yields a reasoner contradiction in this case. I've had to use parent "part has characteristic" instead as a workaround. See #867