Re: Adoption of entailment in SPARQL

[...]

> (Referring to <http://lists.w3.org/Archives/Public/www-archive/
> 2005Sep/0009>, the query and its proof doesn't capture the main idea
> behind the "worker example". In fact, the graph in the message
> doesn't implies that :Andrea is an instance of :EMPLOYEE, so the
> tuple (:Paul :Andrea :Caroline) cannot be in the answer of the given
> query. Most likely, the theorem prover didn't consider the certain
> answers (those true in every model) but possible answers (as those
> true in at least one model). The only variable in the SELECT should
> be ?X, then the query returns :Paul because of reasoning by case on
> all the possible models of the graph.)

True; those were indeed not certain answers :)
I now understand (and tested my understanding with proof engines)
that

{ :Paul a :WORKER.
  :Paul :has-friend ?Y.
  ?Y a :EMPLOYEE.
  ?Y :has-friend ?Z.
  ?Z a :MANAGER }

is entailed
whereas

{ :Paul a :WORKER.
  :Paul :has-friend :Andrea.
  :Andrea a :EMPLOYEE.
  :Andrea :has-friend ?Z.
  ?Z a :MANAGER }

is *not* entailed.



-- 
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/

Received on Tuesday, 20 September 2005 09:52:02 UTC