RIF DTB comments

Currently RIF DTB does not support all XPath/XQuery functions and operators. But we will need them.
For instance, the following rule

"If an item is perishable and it is delivered to John more than 10 days after the scheduled delivery date
then the item will be rejected by him."

can not adequately represent with the current built-ins of DTB, such as fn:day-from-dateTime. We need further built-in functions and operations such as op:subtract-dateTimes and  fn:days-from-duration

A representation in BLD using relations is e.g.

Forall ?item ?deliverydate ?scheduledate ?diffduration ?diffdays (
    reject(John ?item) :-
        And(perishable(?item)
            delivered(?item ?deliverydate John)
            scheduled(?item ?scheduledate)
            ?diffdays = External( fn:days-from-duration(
                               External(op:subtract-dateTimes(?deliverydate,?scheduledate)) ))              
            External(op:numeric-greater-than(?diffdays 10)))
)

A representation in BLD using frames needs these external built-ins, too.

-Adrian

-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger

Received on Sunday, 25 May 2008 17:30:26 UTC