Well, I can throw out a few ideas for you, and leave it up to you to
pick the most appropriate ones.
First, the "view" command can take the name of a rule as an argument,
so you can see the network for a single rule at a time. Furthermore,
the JessDE's "Rete Network View" using Eclipse's Graph Editing
Framework to create a much more nicely laid-out network, and that
immediately shows you the network for the single rule the cursor is
inside of, so that might be very convenient if you wanted to wade
through the rule text.
But there are lots of other things you might do, if you have a solid
definition of what the bad rules look like. For example, you can use
the XMLPrinter class (see http://www.jessrules.com/jess/docs/71/xml.html#writing)
to translate the rules to XML, and write an XPath (i.e., XSLT) query
to detect the problematic LHS pattern.
Another possibility: write Java code that uses jess.Defrule's API to
probe the individual rules. There are methods there that let you
explore the entire content of the patterns on a rule's LHS.
There's also a method "Defrule.listNodes()" which gives a human-
readable description of all the rule's Rete network nodes as one big
String, and also getNodes() which returns an Iterator over all the
rule's nodes.
So there are quite a few ways you might automate checking through the
rules. If you want help or more details about any of these ideas, just
let me know.
On May 9, 2008, at 3:13 PM, [EMAIL PROTECTED] wrote:
Hi, I sent this before but for some reason it double posted another
message
that I replied to and didn't post this one.
...
Hello,
A project that I'm working on has a very large rulebase. Many of
these
rules were written with an editor that was made a long time ago, to
ease
the process so that non-IT types could input their own rules. We
discovered that the editor was coded so it wrote rules very
inefficiently,
thus generating lots of partial matches. We managed to re-write a
lot of
the rules by hand so that they are more efficient, but there are
simply too
many to go through completely by hand like this.
I was hoping to be able to use the (view) command to compile a list
of the
worst offenders, but it seems very complex, especially with our large
rulebase. Executing this command generates a window that is over
1.5 times
the width of my monitor, and it would take me days to go figure it
all out.
Is there an easy way to look at the output of the view command to
find the
information I need? Are there other less involved methods of
finding the
data I require?
Thanks
. This
message and any attachments contain information from Union Pacific
which may be confidential and/or privileged.
If you are not the intended recipient, be aware that any disclosure,
copying, distribution or use of the contents of this message is
strictly prohibited by law. If you receive this message in error,
please contact the sender immediately and delete the message and any
attachments.
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users
[EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
.
--------------------------------------------------------------------
---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences Phone: (925) 294-2154
Sandia National Labs FAX: (925) 294-2234
PO Box 969, MS 9012 [EMAIL PROTECTED]
Livermore, CA 94550 http://www.jessrules.com
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------