Re: subgraph/entailment

On 6 Sep 2005, at 20:43, jos.deroo@agfa.com wrote:
> I am trying to understand the issue..
> starting from your given data
>
> ##############################################
> @prefix owl: <http://www.w3.org/2002/07/owl#>.
> @prefix : <enricoP#>.
>
> :Paul a :WORKER.
> :Andrea a :WORKER.
> :Simon a :EMPLOYEE.
> :Caroline a :MANAGER.
> :Paul :has-friend :Andrea.
> :Paul :has-friend :Simon.
> :Simon :has-friend :Andrea.
> :Andrea :has-friend :Caroline.
>
> :WORKER owl:unionOf (:EMPLOYEE :MANAGER).
> ##############################################
>
> I really can't see how query (*)
>
> ##############################################
> PREFIX owl: <http://www.w3.org/2002/07/owl#>
> PREFIX : <enricoP#>
>
> SELECT ?X
>
> WHERE {
>   ?X a :WORKER;
>      :has-friend ?Y.
>   ?Y a :EMPLOYEE;
>      :has-friend ?Z.
>   ?Z a :MANAGER.
> }
> ##############################################
>
> can give an answer..

[snip]

> Did you really intend query (*) ??

Yes I did :-)

The crucial bit is reasoning about Andrea. We don't know whether she  
is an employee or a worker (if she were either employee or manager,  
then the answer to the query would be clearly Paul - do you agree?);  
but we know that since she is a worker then necessarily she has to be  
either employee or manager. So, Paul is in the answer for any  
possible case of on Andrea.

Is it clearer now?
--e.

Received on Wednesday, 7 September 2005 00:01:09 UTC