I have a little problem with my ontology! We work on an ontology which manage a smart home. So we have objects like Tables, Doors, Lamps, .... A object that is smart has:
- an actuator which run an action like open a door for example
- a sensor which gets informations about temperature for example
I have ObjectProperties for ex: hasActuator --> Door hasActuator DoorController
So now, the problem is the individuals! I would like that an object (Door_1 for example) has an actuator DoorController_1 but an other Door (Door_2) can't use the actuator DoorController_1 because he's already use !
How can I treat that? Which restrictions?
If I put hasActuator functional, it's only to say that a object can have only one actuator, but it's not that I want!
The short solution
It sounds like you're trying to say an entity can't be in use by more than one thing at a time. This is a candidate for InverseFunctionalProperties. If you say that
Then you can infer that
How it works
Stating that a property p is an inverse functional property says that
Stating that a property p is inverse function is similar, but says that
So, suppose you have the data:
Now consider the hypothesis that
From it and the data, you can derive
But from the data we already have
and this is a contradiction, so the hypothesis must be false. Therefore: