I am in the same situation (and I suspect a lot of people with complex
domain models are), which is: how do I let the user easily navigate my
domain model while writing a rule.
There is support for providing a custom form within a popup when a fact
constraint needs to be specified. You can present it to the user whenever
a fact constraint needs to be supplied to the rule. Since you are
providing the contents of the custom form, you can represent your domain
however you wish to, navigate it perhaps using a tree, or even let the
user perform a mini search to get to the "MeSH category".
The custom form does not currently work with DSLs though, if you are
planning on using DSL sentences. But you can write your own DSL widget
that does (not too difficult, if you know GWT).
For my project, the biggest utility value of drools is the standalone
editor, the Guvnor rest api and the fact that it is opensource (so that I
can customize it for my very complex needs)
Thanks
G. Patel
From: Bruno Freudensprung <bruno.freudensprung(a)temis.com>
To: Rules Users List <rules-users(a)lists.jboss.org>
Date: 11/08/2011 10:49 AM
Subject: Re: [rules-users] Data Modeling for medical expert system
Sent by: rules-users-bounces(a)lists.jboss.org
Hi Dirk,
Good to see that I am not the only one fighting with that question :-).
I guess the general answer is: it depends on how large your "enums"
might grow.
For instance if your application is eventually supposed to help
diagnosing (say) all MeSH diseases based on all MeSH symptoms, then an
approach where every symptom and disease is a Java class is not an
option; this would lead to so many classes that I doubt Drools user
interface will handle that, or will be useful anyway (drop-down lists
with thousands of items).
The opposite approach consists in creating a few "root" Java classes
like (say) Disease and Symptom and to store the MeSH hierarchy into a
"name" attribute.
The obvious drawback of the approach is that when your end-users will
have to write the rules, they will be left with problems like:
when
Symptom(name == "well... what's the name of this MeSH category??")
then
Disease(name == "hmmm... can't remember the exact name of the
disease as normalized in MeSH...")
end
I've posted a message on this topic (subject: Thoughts about rule
authoring) and Michael Anstis kindly suggested a technical answer. I am
afraid it did not fit my needs, but it could fit yours :-).
For the moment I have no solution (like an intermediate approach) to my
problem: I am stuck with approach #2.
I have the impression that my problem requires a very tight integration
between my database (MeSH) and the Drools suggestion engine.
If you have another approach, I would love to know it ;-).
Best regards,
Bruno.
Le 08/11/2011 17:43, Dirk Conzelmann a écrit :
Hi everybody,
I am using Drools as a part of my Bachelor Thesis.
My job is to build an expert system for medical diagnoses.
My Question:
Is there a best practice known in modeling a variable
list of questions and answers in Drools?
Up to now I modeled the list of questions implementing
Java Classes and Enums for each question/answer pair.
But to be able to change those options easyly I need
a higher abstraction level than simple Java Classes and Enums.
Could someone show me an example how to implement this?
I hope I have explained my question understandable :)
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-----------------------------------------
The information contained in this communication (including any
attachments hereto) is confidential and is intended solely for the
personal and confidential use of the individual or entity to whom
it is addressed. If the reader of this message is not the intended
recipient or an agent responsible for delivering it to the intended
recipient, you are hereby notified that you have received this
communication in error and that any review, dissemination, copying,
or unauthorized use of this information, or the taking of any
action in reliance on the contents of this information is strictly
prohibited. If you have received this communication in error,
please notify us immediately by e-mail, and delete the original
message. Thank you