Michael Schneider wrote:
> Bijan Parsia answered to Jeff Thompson:
>
>>> Consider the rule that if X desires Y and X can_do Y, then X does Y.
>>> In Prolog, this would be:
>>>
>>> does(X, Y) :- desires(X, Y), can_do(X, Y).
>>>
>>> This is really defining 'does' as the intersection of the
>>> properties 'desires' and 'can_do'.
>>> I couldn't find something like this in the OWL use cases. Is there
>>> a way to do this in OWL2?
>> does subPropertyOf desires.
>> does subPropertyOf can_do.
>>
>> ?
>>
>> Cheers,
>> Bijan.
>
> I think Jeff is mainly interested in the other direction:
>
> (desires and can_do) subPropertyOf does
Yes. Consider the simpler example "if Y is Desirable and Y is Doable
then Y is Done". In OWL 2 with class intersections:
SubClassOf(ObjectIntersectionOf(Desirable Doable) Done)
Thus if
ClassAssertion(action Desirable)
ClassAssertion(action Doable)
we can conclude
ClassAssertion(action Done)
In Prolog:
'Done'(Y) :- 'Desirable'(Y), 'Doable'(Y).
I am asking about the same thing with properties.