Hello,
I'm having a somewhat difficult time understanding how I can use
inferencing and user-defined rules.
My example scenario is as follow:
- There are two appliances available in a room: TV and Light.
- There are two tasks available in a room: WatchingTVTask and
SleepingTask.
If TV and light are turned ON, room task is WatchingTVTask.
If TV and light are turned OFF, room task is SleepingTask.
I'm wondering how I can infer "Room task is WatchingTVTask" from TV and
light status.
In other words, I would like to infer a triple such as
(eg:Room eg:executes eg:WatchingTVTask)
from explicit triples like
(eg:TV eg:hasState eg:ON) and (eg:Light eg:hasState eg:ON)
One simple/naive way of doing this would be to use a user-defined rule such
as
"(eg:TV eg:hasState eg:ON), (eg:Light eg:hasState eg:ON) -> (eg:Room
eg:executes eg:WatchingTVTask)"
However, this seems very hard-coded approach as appliances are hard-coded.
There is always a chance for WatchingTVTask to change its composed
appliances.
Is there any other good way to deduce (eg:Room eg:executes
eg:WatchingTVTask)?
Any forms of advice would be greatly appreciated.
Thanks,
Jason Lim
--
Junsung Lim