Re: [Core] new definition of safeness

Jos de Bruijn wrote:
> It turns out that the earlier definition of safeness I contrived is not
> very extensible.  And as you may have noticed, it's not all that easy to
> understand.  Also, it precluded the use of "output" variables of
> external predicates to be used as inputs for other externals.
> So, I came up with a new definition that addresses these issues:
> http://www.w3.org/2005/rules/wiki/Core#Safeness
> 
> Please have a look.  The new definition uses a kind of normalization to
> deal with disjunction and defines the notion of equivalence classes for
> variables to deal with equality.
> So, I needed some additional preliminary definitions, but the definition
> of safeness itself is more straightforward.

That looks good to me.

Minor editorial - in the second bullet of the definition of the 
disjunction tree you don't need the primes over the n<sub>i</sub>, i.e. 
"has m child nodes n<sub>1</sub>, ..., n<sub>m</sub>" (or put primes 
over the references to them).

> I will now work on the extension with strong safeness, which should not
> be too hard.

I found that difficult to follow but couldn't spot any problems.

Minor editorial:

o Suggest adding a second para something like:

"The conformance clauses for RIF Core only require conformance over safe 
rule sets as defined above. However, some rule engines, such as some 
datalog engines, are only able to process rule sets which can be 
finitely grounded. For maximum interoperability with such systems it is 
recommended that RIF Core producers restrict themselves to strongly safe 
rule sets where possible."

o In the first bullet the part "the terms in alpha in which ..." is 
confusing since alpha hasn't been defined. Perhaps that should be "the 
terms alpha in which ..."? Actually, I don't think alpha is referenced 
elsewhere either so it could be "the terms in which ...".

Dave
-- 
Hewlett-Packard Limited
Registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England

Received on Tuesday, 5 May 2009 10:29:52 UTC