- From: Enrico Franconi <franconi@inf.unibz.it>
- Date: Wed, 7 Sep 2005 02:00:58 +0200
- To: jos.deroo@agfa.com
- Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
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