W3C home > Mailing lists > Public > public-rif-wg@w3.org > May 2009

Re: [RIF][PRD] ACTION-767: Review PRD

From: Christian De Sainte Marie <csma@fr.ibm.com>
Date: Tue, 12 May 2009 15:31:01 +0200
To: "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>
Cc: "RIF" <public-rif-wg@w3.org>, public-rif-wg-request@w3.org
Message-ID: <OF8EDF7F97.FC285A32-ONC12575B4.00484B0B-C12575B4.004A4114@fr.ibm.com>
********* NOTICE **********
My new email address at IBM is: csma@fr.ibm.com
My ILOG email address will not be forwarded after June 8
*****************************

Harold,

Thank you for the review. Replies below (for the comments you sent today):


Harold Boley wrote on 12/05/2009 00:26:16:

> 
> ruleset
> -->
> [...]
> -->
> Some constructs, however, are not associated with a formal semantics in
> RIF: they permit, in particular, to attach free annotations to other,
> semantically described, constructs.

Done.

> Forall ?customer ?purchasesYTD (
>  If   And( ?customer#ex:Customer
>            ?customer[ex:purchasesYTD->?purchasesYTD]
>            External(pred:numeric-greater-than(?purchasesYTD 5000)) )
>  Then Do( Modify(?customer[ex:status->"Gold"]) ) )
> -role tags are always lower case->
> Forall ?customer ?purchasesYTD (
>  if   And( ?customer#ex:Customer
>            ?customer[ex:purchasesYTD->?purchasesYTD]
>            External(pred:numeric-greater-than(?purchasesYTD 5000)) )
>  then Do( Modify(?customer[ex:status->"Gold"]) ) )

Well, on the other hand, if/then are not role tags in that case, but 
reserved words in the presentation syntax; hence the capitals.

This being said, I have no real opinion, except for being lazily reluctant 
to check every example.

Let's see what the other guys think...

> When several rules are found to be executable at the same time, during
> the rule execution process, a conflict resolution strategy is used to
> determine the order of rules to execute.
> -?->
> When several rules are found to be executable at the same time during
> the rule execution process, a conflict resolution strategy is used to
> select the rule to execute.

I changed the sentence to: "...select the rules to execute, and to 
determine the order of execution (if more than one rule is selected)."

> In the remainder of this document, the prefix ex1 stands for the
> namespace of this example: http://example.com/2009/prd2#. 
> -->
> In the remainder of this document, the prefix ex1 stands for the
> fictitious namespace of this example: http://example.com/2009/prd2#. 

I did the change, but I wonder: what makes this namespace more fictitious 
than another one?

> Any remaining tie is broken arbitrarily, and a single rule instance is
> kept for firing.
> -->
> Any remaining tie is broken arbitrarily, and a single rule instance is
> kept for firing
> (to simplify debugging, implementations MAY brake ties in a
> reproduceable manner).

You are right. The point is that RIF-PRD does not prescribe how ties are 
to be broken. I change that to:
"Any remaining tie is broken is some way, and...",

and I modified the precise definition of the conflict resolution rules as 
follows:
"Tie-break rule: if ''ri &isin; cs'', then ''cs = {ri}''. RIF-PRD does not 
specify the tie-break rule more precisely: how a single instance is 
selected from the remaining set is implementation specific.

> (?arg; act:print(?arg))
> -?->
> (?strm ?arg; act:print(?strm ?arg))
> 
> The value of the argument MUST be printed to an output stream, to be
> determined by the user implementation. 
> -?->
> The value of the argument ?arg MUST be printed to output stream ?strm. 

I have no objection to add a second form to act:print, with indication of 
the stream, although, it might be difficult for the consumer of an 
interchanged rule set, to make sense of the stream argument.

We will check what the other PR guys think.

> the dual act:read would be nice but was omitted since it affects the
> semantics?

We restricted ourselves to actions with no impact on the semantics, for 
this round, indeed.

Thanx again for the comments. I will now return to your earlier remarks 
:-)

Cheers,

Christian


Cheers,

Christian


Sauf indication contraire ci-dessus:/ Unless stated otherwise above:
Compagnie IBM France
Siège Social : Tour Descartes, 2, avenue Gambetta, La Défense 5, 92400 
Courbevoie
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 609.751.783,30 ?
SIREN/SIRET : 552 118 465 02430
Received on Tuesday, 12 May 2009 13:31:52 GMT

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