- From: Mark Proctor <mproctor@redhat.com>
- Date: Tue, 01 Jul 2008 14:46:27 +0100
- To: Christian de Sainte Marie <csma@ilog.fr>
- CC: Gary Hallmark <gary.hallmark@oracle.com>, RIF WG <public-rif-wg@w3.org>
Christian de Sainte Marie wrote: > Mark Proctor wrote: >> >> If you supported Clips unororded facts (named arguments), except >> COOL, and made "or" and "forall" optional you would be able to target >> all the mainstream engines - Jess, Drools, Clips, JRules, OPSJ. It's >> really that simple. > > "Forall" is just a construct to declare rule variables: how can you do > without it? Why would you declare your variables separately? No production rule systems makes you do this. Forall ?chicken ?potato ?allowance ?age ?weight ( ..... ?chicken#jim:Chicken // The object bound to ?chicken is a "Chicken" as specified in Jim's object model This makes the forall variables superflous information and will cause confusion when we eventually provide support for PR 'forall' element. 'forall' in production rules terms is a universal quantifier when the given patterns are true for all data. forall( Bus( color == red ) Makes sure that all the Buses in my system are Red. > >> All these engines implement TMS in the same way, but that could be >> excluded from the base PR dialect, as it's an advanced feature only a >> few users use. > > Yes, I agree: logical facts and truth maintenance are for a future > version (of this draft, or maybe even of this dialect). > >> So I would look to make this subset of Clips my "base" PR dialect. At >> a later date I would then look to make an advanced addition on this >> that looked to support "or", "forall", "collect/accumulate" for >> reason of sets of data, nested accessors, lists/maps, out of working >> memory data. "collect" is an important one that is supported by Jess, >> JRules and Drools (don't know about OPSJ) as it's the only efficient >> way to do cardinality constraints on patterns, and users really >> struggle without it. Jess supports collect via accumulate, accumulate >> is actually far more powerful and generic and collect is a >> specialised accumulate implementation. > > Yes. I proposed "collect" in the very first proto-draft, and a more > general aggregation construct in the second one, but we decided to > keep that for later, as they were only half-backed trials (to say the > least :-) agreed, just opening peoples eyes as to how PR provide a lot of high level constructs for stuff, that we should aim to support one day to make PR systems more accessible to users. If we stick with propositional logic only, it'll be hard to convince users of the value. > > Christian > -- JBoss, a Division of Red Hat Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Charlie Peters (USA), Matt Parsons (USA) and Brendan Lane (Ireland)
Received on Tuesday, 1 July 2008 13:49:48 UTC