- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Sun, 3 Aug 2008 11:11:58 +0100
- To: Jeff Thompson <jeff@thefirst.org>
- Cc: Michael Schneider <schneid@fzi.de>, public-owl-dev@w3.org
On Aug 3, 2008, at 2:19 AM, Jeff Thompson wrote:
> 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.
Ooops, sorry , brain fart.
> 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.
Yeah, doubtful and not obvious. You can add boolean operators on
roles in a lot of cases but it generally makes things harder. See:
http://www.cs.man.ac.uk/~ezolin/dl/
and
http://iswc2007.semanticweb.org/papers/435.pdf
(You might also look at ALC_{reg} and PDL.)
If you are willing for this not to (directly) affect subsumptions,
then DL Safe rules will do the job.
Cheers,
Bijan.
Received on Sunday, 3 August 2008 10:12:40 UTC