- From: naudts guido <naudts_vannoten@yahoo.com>
- Date: Mon, 21 Apr 2008 08:07:44 -0700 (PDT)
- To: cwm <public-cwm-talk@w3.org>
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