- From: Francois Bry <bry@ifi.lmu.de>
- Date: Fri, 27 Jan 2006 14:12:48 +0100
- To: W3C RIF WG <public-rif-wg@w3.org>
jos.deroo@agfa.com wrote: >Well, maybe I'm sleeping, but when instead of your 2 rules (in N3) >{?X a kb:customer. ?X a kb:paysCC} => {?X a cons:paying-customer}. >{?X a kb:customer. ?X a kb:paysCash} => {?X a cons:paying-customer}. > >I use a single rule >{?X a ?C. ?C owl:unionOf (kb:paysCash kb:paysCC)} => {?X a >cons:paying-customer}. > >then given the facts >kb:customer rdfs:subClassOf [ owl:unionOf (kb:paysCash kb:paysCC)]. >:Paul a kb:customer. > >and given the rules >http://www.agfa.com/w3c/euler/rpo-rules.n3 > >I'm getting proof evidence (*) for >:Paul a cons:paying-customer. > >What am I missing?? > > It seems to me that you are missing that Enrico's point was not about finding a way to implement his example, but to cope with disjunctive information in general. Enrico's goal requires deduction methods that go beyond what many rule languages offer. Many rule languages are based on construvctive logic, or if you like it better, simple modus ponens (with forward or backeward chaining). For coping with disjunctive information, one needs refutation, or techniques like anscestor resultion amounting to refutation. My understanding, is that Enrico's example is about the power of the deduction methods used in a rule engine. RIF might well give rise to express Enrico's example, copming along with a simple declarative semantics (or model theory), without making any commitment/assumptions about a procedural semantics. -- Francois PS: Enrico, you are right: I misunderstood at first your point. I apologize for this.
Received on Friday, 27 January 2006 13:12:58 UTC