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

Re: [RIF] test case dialect indicators

From: Dave Reynolds <der@hplb.hpl.hp.com>
Date: Fri, 14 Nov 2008 14:52:10 +0000
Message-ID: <491D909A.1070900@hplb.hpl.hp.com>
To: Stella Mitchell <cleo@us.ibm.com>
CC: "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>, RIF WG <public-rif-wg@w3.org>

Stella Mitchell wrote:
> If a rule is syntactically correct PRD and syntactically correct Core 
> and non-terminating in PRD, then why is it OK to have it in PRD but not 
> in core - this is what I don't understand. Is it that you want to make 
> sure there can be conformant PRD  implementations of Core but you do not 
> need to ensure that there can be conformant implementations of PRD?

I wasn't trying to make any general statement about PRD. I don't know if 
what Core would regard as an unsafe rule set would be an admissible PRD 
test case or not.

Our problem is that we want Core be not just in the syntactic 
intersection but somehow in the semantic intersection of PRD and BLD, 
yet clearly the operational semantics of PRD is very different from that 
of BLD. If we restricted Core to pure datalog then the declarative 
semantics and the operational fixed point semantics would coincide. We 
wanted to allow builtins, thus going outside datalog and hence the 
question of safeness.

We also have the issue that some relevant languages out there do impose 
safeness restrictions (e.g. DLV [1]). By introducing these two levels of 
conformance we are allowing the possibility of such languages being used 
as RIF-Core consumers.


[1] http://lists.w3.org/Archives/Public/public-rif-wg/2008Aug/0052.html

> Stella
> *Dave Reynolds <der@hplb.hpl.hp.com>*
> Sent by: public-rif-wg-request@w3.org
> 11/14/2008 04:27 AM
> To
> 	Stella Mitchell/Watson/IBM@IBMUS
> cc
> 	"Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>, RIF WG 
> <public-rif-wg@w3.org>
> Subject
> 	Re: [RIF] test case dialect indicators
> Stella Mitchell wrote:
>  >
>  > Ok, so it looks like for test cases that are core, we should indicate
>  > also whether they are safe or not.
> Yes.
>  > One thing that wasn't clear to me (from the Core document) is whether
>  > PRD extends core or safe-core.  The last paragraph of the overview says
>  > core is a syntactic subset of PRD but that some core rules would be
>  > unsafe in PRD, so safe-core is defined. But if complete-core is a
>  > syntactic subset of PRD then those unsafe rules must be allowed
>  > according to the PRD spec anyway, so why define the safe subset of core?
> Because then we could write test cases which were correct RIF-Core but
> which no RIF-PRD engine could pass (e.g. because the ruleset would never
> terminate) even though the rules would be syntactically legal RIF-PRD.
> One goal for RIF-Core is for it be as widely implementable as possible.
> Having test cases which no production rule engine would pass would mean
> there would be no conformant PR implementation of RIF-Core.
> The advice to people wishing to exchange rules via RIF-Core is to remain
> within the safe subset to get maximal interchange however we don't
> prevent people exchanging unsafe rules.
> Dave
> -- 
> Hewlett-Packard Limited
> Registered Office: Cain Road, Bracknell, Berks RG12 1HN
> Registered No: 690597 England
Received on Friday, 14 November 2008 14:53:10 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:47:53 UTC