Thanks for the feedback! The defeasible subsystem is still very
and it's good to know that people are using it.
This said, as for your question. It is possible, but takes a little
effort since we
don't have a public API for that. You can do:
// get the handle for the object
InternalFactHandle handle = (InternalFactHandle) session.getFactHandle(
// lookup the belief set, where all justifiers (pos and neg) are stored
DefeasibleBeliefSet dbs = (DefeasibleBeliefSet)
DefeasibilityStatus status = dbs.getStatus();
status now has 4 values:
DEFINITELY (strict), DEFEASIBLY, DEFEATEDLY (defeated), UNDECIDEDLY
Notice that "negatively" asserted facts end up in a "negative" entry
point, so you have to look them
InternalFactHandle negHandle = (InternalFactHandle)
session.getEntryPoint( "neg" ).getFactHandle( myNegatedObject );
Again, we are currently working on this specific system even now, so
things may change in 6.2,
but this should work in 6.1.
Please report any issue that you might find.
On 07/21/2014 08:57 PM, Borris wrote:
I am trying the Defeasible belief system (it ties in pretty well with
some of how I want
to structure my project).
After fixing many typos, the rule behaviour seems to be what it should
for a defeasible
rule being correctly defeated (my clash spotter doesn't fire, which it
does if any
part of the defeasible chain is broken). Which is all jolly fun and good
But, my question.
I have a simple workspace dump based upon getting all objects (via
and then doing my own tidy presentation. This still shows the defeated
fact as present.
So I know there is still record somewhere of the defeated fact, because
if the workspace
changed such that my defeater was retracted, then it needs to make the
fact visible again.
But I wasn't expecting to see it via getObjects(). Is that the intended
behaviour? If so,
is there a way to enquire whether a fact is in the "defeated state" or
not that I could
add to my tidy workspace dumper?
rules-users mailing list