>> Suppose we start with:
>> subtype(doctor, human).
>> subtype(engineer, human).
>> named_instance(john, doctor).
>> named_instance(mary, doctor).
>>
>> And now comes along an alien named bob, who has all the major
>> characteristics of a doctor, but he is not a human. How do I handle
>> this situation?
>
> By not being dumb, and by modelizing correctly the universe! doctor is
a role, not a human being.
Now I am really dumbfounded. What is the definition of a class vs
subType vs a role? And what exact steps can I take to determine which
type of thing it is? What general questions can I ask, what general
answers should I expect in order to determine if a thing is a class,
subType or role? (my dictionary say a doctor is a person and nothing
about a role).
Also if doctor is a role, would there be a statement such as:
named_instance(doctor, role).
And what is a role? An atom?


|