Is It ok to model a subclass with the same name of an individual?

Viewed 59

I'm a protégé newbie and did the pizza tutorial and read the 101 documentation. I'm trying to model a ontology like the following picture: Protégé screen

I have a person who has a style. The style can be a style_active or style_passive. This style is determined by a index of two data properties: ind_passive and ind_active, the bigger value should infer the style.

I had to create two individuals: style_active and style_passive, because they must be individuals to be assigned to the object property has_style.

Two questions:

  1. Is this modeling ok? Is it ok to have a subclass with the same name of an individual?
  2. Is there a way to infer the value of has_style object property using a reasoner?
1 Answers

Like Ignazio said, is possible, for OWL2, use punning,

a feature that allow you to use the same entity in your model as both class and an individual. The trick with punning is that the reasoner decides at runtime whether the entity should be interpreted as a class or individual, based on the entity's context. Thus if, for example, the entity is linked to a class via an instantiation relation, it is treated as an individual, while if it is related to it via a subclass relation, it is treated as a class. (Panos Alexopoulos - Semantic Modeling for Data - Cap. 12 - Representation Dilemmas)

Related