W3C home > Mailing lists > Public > public-rif-wg@w3.org > June 2008

Re: AW: [PRD] ACTION-531 Update PRD examples complete

From: Gary Hallmark <gary.hallmark@oracle.com>
Date: Mon, 23 Jun 2008 15:33:00 -0700
Message-ID: <4860249C.6020908@oracle.com>
To: Christian de Sainte Marie <csma@ilog.fr>
CC: Adrian Paschke <adrian.paschke@biotec.tu-dresden.de>, kifer@cs.sunysb.edu, "'Paul Vincent'" <pvincent@tibco.com>, "'RIF WG'" <public-rif-wg@w3.org>



Christian de Sainte Marie wrote:
>
> Adrian Paschke wrote:
>
>> Typical examples are business rules, such as
>>
>> If customer is premium customer then discount 10%
>> If customer is silver customer then discount 5%
>>
>> It would make sense to present them independent from a particular 
>> dialect
>> such as PRD or BLD as they can be formalized in both dialects. 
>
> I mention this kind of rules as a PR in example 1.1. But they cannot 
> be generally expressed in BLD, because the RHS is really an Assign 
> (changing the value of the discount).
this isn't really an assign because there is no reference to a prior 
discount.

you could write the RHS as a frame and it would be legal BLD.  You can 
even axiomatize (in BLD) that a frame cannot have more than 1 discount:  
?x = ?y :- ?customer[discount->?x discount->?y]


>
> I used the "Gold custmoer status" rule, instead, in examples 1.1 and 
> 1.2, because that one, which is also one of the paradigmatic examples 
> of a business rule, can be expressed as the Assert of a 
> "Gold(?customer)" predicate (and is, thus, equally expressible in BLD 
> and PRD).
I don't see this as much different from above.  If you reference any 
prior customer status, as in "if the customer is a silver customer and 
the customer blah blah blah then gold customer"
then you have an assign (or retract/assert) of the customer status, 
whether it is a frame or a relation.
Received on Monday, 23 June 2008 22:36:08 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:49 GMT