experimental "WORKER" proof

for data

: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).


and query

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX : <enricoP#>

CONSTRUCT {(?X ?Y ?Z) :provedAs :possibleModel}
WHERE {?X a :WORKER; :has-friend ?Y. ?Y a :EMPLOYEE; :has-friend ?Z. ?Z a 
:MANAGER}


is getting

{{:Paul a :WORKER} e:evidence <file:/temp/enricoP.n3#_6>. 
 {:Paul :has-friend :Andrea} e:evidence <file:/temp/enricoP.n3#_10>. 
 {{:Andrea a :WORKER} e:evidence <file:/temp/enricoP.n3#_7>. 
  {{:Paul a :WORKER} e:evidence <file:/temp/enricoP.n3#_6>. 
   {:Paul :has-friend :Simon} e:evidence <file:/temp/enricoP.n3#_11>. 
   {:Simon a :EMPLOYEE} e:evidence <file:/temp/enricoP.n3#_8>. 
   {:Simon :has-friend :Andrea} e:evidence <file:/temp/enricoP.n3#_12>. 
   {{e:quod e:erat e:demonstrandum} => {}} e:evidence 
<file:/temp/enricoP.n3#_23>} e:sequent {
  {{:Andrea a :MANAGER} => {}} e:evidence <file:/temp/enricoP.n3#_21>}} 
e:sequent {
 {:Andrea a :EMPLOYEE} e:evidence <file:/temp/enricoP.n3#_17>}. 
 {:Andrea :has-friend :Caroline} e:evidence <file:/temp/enricoP.n3#_13>. 
 {:Caroline a :MANAGER} e:evidence <file:/temp/enricoP.n3#_9>} e:sequent {
{(:Paul :Andrea :Caroline) :provedAs :possibleModel} e:evidence 
<http://www.w3.org/2002/07/owl#kb>}. 

{{:Paul a :WORKER} e:evidence <file:/temp/enricoP.n3#_6>. 
 {:Paul :has-friend :Simon} e:evidence <file:/temp/enricoP.n3#_11>. 
 {:Simon a :EMPLOYEE} e:evidence <file:/temp/enricoP.n3#_8>. 
 {:Simon :has-friend :Andrea} e:evidence <file:/temp/enricoP.n3#_12>. 
 {{:Andrea a :WORKER} e:evidence <file:/temp/enricoP.n3#_7>. 
  {{:Paul a :WORKER} e:evidence <file:/temp/enricoP.n3#_6>. 
   {:Paul :has-friend :Andrea} e:evidence <file:/temp/enricoP.n3#_10>. 
   {:Andrea :has-friend :Caroline} e:evidence <file:/temp/enricoP.n3#_13>. 

   {:Caroline a :MANAGER} e:evidence <file:/temp/enricoP.n3#_9>. 
   {{e:quod e:erat e:demonstrandum} => {}} e:evidence 
<file:/temp/enricoP.n3#_23>} e:sequent {
  {{:Andrea a :EMPLOYEE} => {}} e:evidence <file:/temp/enricoP.n3#_22>}} 
e:sequent {
 {:Andrea a :MANAGER} e:evidence <file:/temp/enricoP.n3#_18>}} e:sequent {
{(:Paul :Simon :Andrea) :provedAs :possibleModel} e:evidence 
<http://www.w3.org/2002/07/owl#kb>}. 


and with -nope

(:Paul :Andrea :Caroline) :provedAs :possibleModel. 
(:Paul :Simon :Andrea) :provedAs :possibleModel. 


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

Received on Thursday, 8 September 2005 12:36:38 UTC