Re: ping on xpath op namespace for RIF

> > What harm will be done to the Web by RIF assigning a namespace to 
> > the XQuery/XPath operations?
> 
> The same harm that arises in any system if an interface that was designed to
> be internal to a subsystem is promoted to a public global interface without
> examining the consequences. For example, the user of this interface will
> have a different expectation about the stability of the interface from its
> supplier, and that will inevitably lead to tensions as the specs evolve.
> 
> One of the technical issues is that the specification of these internal
> functions makes many assumptions about the calling environment, for example
> with respect to things such as type promotion of operands. Because the
> specifications were written with one particular calling environment in mind,
> these assumptions might not be clearly exposed.

Can you spell out for me how that might actually manifest?

There are some different RIF deployment scenarios, but probably the most
useful is this: some developer of a rule engine implements a translator
from RIF to their implemented language ("Import RIF Document" to the
user) and a translator to RIF ("Export as RIF").  In this situation, the
import translator has to convert every RIF document (in some defined
profile/dialect) into something that runs correctly on the local system.

The RIF document may have rules which use various built-in operations
defined in our spec as matching XPath operations, like
op:numeric-less-than.  The implementor of this translation code has to
turn the op:numeric-less-than in RIF into *something* which does the
same thing in their rule engine.  In that case, they probably have a "<"
they can use, but it might not handle types and exceptions correctly.
In the case of others fn:escape-html-uri, it's probably not built into
their system and they'll need to emit a ruleset which binds to some
library of procedures.  That library could implement fn:escape-html-uri,
or it could be linked to an xpath implementation, and us its
implementation.

This is all quite hidden from the user.  They shouldn't need to know
whether an xpath implementation is used under the hood.  Where is
something likely to go wrong because the RIF import translator looked
for something like op:numeric-less-than in some stand namespace for op?

      -- Sandro

Received on Tuesday, 22 April 2008 20:16:54 UTC