[
Lists Home |
Date Index |
Thread Index
]
I'm no expert on this, but here is my limited understanding.
Semantic rules can be automatically composed, e.g., to support
multi-rule inference or induction. Semantic rules are also fairly uniform:
value-or-expression verb value-or-expression
Conditions can be combined with boolean operators and, or and not, and
can be processed to make inferences (forward chaining) or inductions
(backward chaining).
It's hard to compare that with XRules. Maybe "The latest draft
specification document is available for download from this web site" but
the link doesn't jump out at me. ;-}
From the tutorial, XRules appear to be rather more ad hoc, both in the
way they are expressed and in what they can do. It may be that
everything that XRules does could be expressed as one or more rules of
the form:
If
xpath-expression
Then (one or more of the following)
set xpath-node-expression to xpath-value-expression
set xpath-variable to xpath-value-expression
report xpath-value-expression
A simpler formulation might invite simple questions that I don't know
how to answer from the examples. Like, if one context sets a parameter
to one value and another context sets the parameter to a different
value, if both contexts succeed, what value does the parameter have? If
the answer is pick one, then it is very different than semantic
processing, which can have the ability to pursue both values as
independent sets of facts ("x" is "a" or "x" is "b") and even to
calculate the likelihood that one or the other is true.
Suppose one rule establishes a value that causes another rule to succeed
and it resets the value so that the first rule is invoked? Does the
system cycle infinitely or does it reach a fixed point?
Is there an efficient algorithm for determining which rules must be
(re)tested?
And so on. My ignorance is vast, but I invite tutilege, even if I don't
always understand it. ;-}
Bob
|