Re: Using declarative rules for MISMO ?

Sandro,

You are right that the example in MISMO's POC could easily be replaced 
by deductive rules. This is not because the MISMO consistuency uses only 
those: it is, instead, because we selected for the POC, a ruleset (and 
in that ruleset, a few rules) that could map onto RIF Core: beside doing 
a demo that would explain to the MISMO people what the BREW was about, 
we wanted indeed to use the POC (i) to show to the BREW people that RIF 
was the appropriate choice, and (ii) as an implementation experiment...

So the rules in the POC being deductive is a consequence, nothing else.

And the MISMO POC is also a good use case to understand how a RIF Core 
document can be translated into production rules, something we have to 
do anyway.

So, the discussion about sharing deductive rules between LP and PR 
systems is relevant to RIF, the discussion about MISMO's needs is not, I 
guess.

Christian

Sandro Hawke wrote:

> "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca> writes:
> 
>>Hi Mark,
>>
>>Thanks for your initiative.
>>
>>Many of us have been traveling around F2F6 (for too long :-).
>>E.g., I'm writing this from a Vienna Internet Cafe.
> 
> 
> :-)  (I made it home yesterday.  Played with the kids, mowed the lawn,
> etc, etc.  One of my daughters guessed, on the first try, that I brought
> her an Innsbruck snow-globe; alas, it broke in my luggage!)
> 
> 
>>Also, maybe some context was missing.
>>
>>Let me thus give the path to a complete MISMO example,
>>and disucss it, below:
>>
>>http://lists.w3.org/Archives/Public/public-rif-wg/2007Mar/0096.html
>>
>>MISMO_BREW_POC.zip
>>MISMO BREW POC
>>example1.drl.txt
>>
>>
>>rule "Credit Score Adjustments 1"
>>  date-effective "25-OCT-2001 17:26:14"
>>  when
>>    cs : CreditSCore( programGroup == "ACMEPowerBuyerGroup",
>>                      lienType     == "FIRST_TD; SECOND_TD",
>>                      devision     == "Wholesale",
>>                      creditScore  >= 580 & <= 679 )          
>>  then
>>    cs( score = cs.score -0.3 );
>>end
> 
> ...
> 
>>However, we have not yet decided on the semantics of setters
>>acting as reassignments, as in score = cs.score -0.3.
> 
> ...
> 
> I wonder if the MISMO community would be better served by declarative
> rules.  I don't know much about their deployment scenarios.  These kind
> of "adjustment" and "score" rules seem pretty easy to translate into a
> declarative form.  Then this would fit into RIF Core.
> 
> If there is an open set of possible adjustments, then I think one needs
> a world-closing aggregator like Prolog's "findall" (which I don't expect
> in Core).  If the rules are all known in advance of some processing
> point, however, then I think it's easy enough to chain them together
> into a purely declarative structure.  
> 
>    -- Sandro
> 
> 
> 
> 

Received on Tuesday, 12 June 2007 14:08:34 UTC