Database Design Advice for Expert Systems - Rule Based Systems Expert Systems are a branch of Artificial Intelligence. These systems try to capture knowledge of Experts via set of rules. Most of the rules are stated in natural language. But they need to be interpreted by rule engine therefore they are statements in the form of classic if-then-else.

IF 

THEN

ELSE


This specific expert system will hold substances and patients. Every rule give an advice  according to patient's attributes , which is stored in database.

For example: 

 IF (PatientWeight &lt; 50 AND PatientSex = Male AND DaysInTreatment = 0)
 THEN SUBSTANCE_X = 10
 IF (PatientWeight &lt; 50 AND PatientSex = Male AND DaysInTreatment &gt; 0)
 THEN SUBSTANCE_X = 20 +  DaysInTreatment *5


I have never designed such a system. Can you give me some starting pointers to read? Or Any advice?
In university, I took courses where we worked with, and then built our own (very simple) expert systems in Prolog. I can't think of an RDBMS implementation that would be easy, or elegant. Most of them would probably end up as an EAV schema (which would work - I've seen and used such systems, but they're not pretty). One of the first hits on google for "prolog expert system" is this: http://www.amzi.com/ExpertSystemsInProlog/ It looks long, but might be a good resource.