Re: matching existing existentials in the consequent.

Hallo Jeff,
the consequent is the conclusion of the antecedents (modus ponens).
The triples in the consequent part should not be matched with data triples? 
I see the rule as creation of triples and isn't that how the forward reasoners are
implemented? When a rule is 'executed' the consequent triples are added to the database?
So my rule will create in this interpretation following triples:
:blank_node a flightOrder; :name :Peter; :name :John.
if the blanknode is considered to be unique.
Well, I see now that it would still work, but I do not like too much the construction.
I would prefer:
:blank_node1 a flightOrder; :name :Peter.
:blank_node2 a flightOrder; :name :John.
which would give an id to the flightOrder. 

Greetings, Guido
 

----- Original Message ----
From: Jeff Thompson <jeff@thefirst.org>
To: naudts guido <naudts_vannoten@yahoo.com>
Sent: Sunday, April 20, 2008 7:08:47 PM
Subject: Re: matching existing existentials in the consequent.

naudts guido wrote:
> Hallo,
> OK to replace existentials in the consequent in the given example, but what with the following:
> {?person :orders :flight} => { [a :flightOrder; :name ?person]}.
> 
> In accordance with forward reasoning where the consequent of a rule creates a new triple,
> the rule above creates a triple : some_blank_node a :flightOrder; :name some_person.
> Now if we have: 
> :John :orders :flight. and :Peter :orders :flight.
> we do want the :flightOrders to be different.

The :flightOrders would still be different as you want because ?person is different.
That is, if the graph already contains {[a :flightOrder; :name :Peter]}, then this
will not satisfy the consequent of the rule for {:John :orders :flight} because
:John and :Peter are not the same ?person.

> ----- Original Message ----
> From: Jeff Thompson <jeff@thefirst.org>
> To: public-cwm-talk@w3.org
> Sent: Sunday, April 20, 2008 9:17:28 AM
> Subject: Re: matching existing existentials in the consequent.
> 
> 
> Dan Connolly wrote:
>  >> I ask because cwm will match existing existentials in the antecedent, so shouldn't
>  >> it also match them in the consequent, and just leave it as bob owns Fluffy without
>  >> adding another assertion?
>  >
>  > Perhaps... cwm does some redundancy checking, but it's
>  > not smart enough to realize that
>  >
>  >  :bob :owns [a :Cat]
>  >
>  > is redundant w.r.t.
>  >
>  >  :bob :owns :fluffy. :fluffy a :Cat.
> 
> I must beg to differ, because cwm is smart enough to realize this in the antecedent.
> For example, the following matches with {:bob :owns :fluffy} as expected:
> bob owns fluffy.
> fluffy a Cat.
> {?x owns [a Cat]} => {?x a CatOwner}.
> 
>  > The problem of figuring out which part of the conclusion is
>  > redundant is pretty hard. It's called the subgraph isomorphism
>  > problem, I gather.
> 
> Am I mistaken?  It seems that cwm can find the subgraph isomorphism in the antecedent.
> 
> 
> 
> 
> 
> 
> 
> 
> 
>       ____________________________________________________________________________________
> Be a better friend, newshound, and 
> know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
> 
> 
> 






      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

Received on Monday, 21 April 2008 15:08:25 UTC