Re: Intersection of properties?

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