У меня есть файл правила Правило Drools как:Drools: Шаблон для нескольких моделей того же формата
package com.test
import com.test.fact.Feature;
global com.test.Course subjects;
rule "CS"
when
Feature(subjectName=="Math", rating >= 6)
Feature(subjectName=="Computers", rating >= 9)
Feature(subjectName=="Electronics", rating >= 3)
then
subjects.addSubjectName("Computers");
end
rule "Physics"
when
Feature(subjectName=="Math", rating >= 9)
Feature(subjectName=="Physics", rating >= 9)
then
subjects.addSubjectName("Physics");
end
узоры в когда положение может быть изменено как определения шаблонов, определяющих предмет помещается в таблицу базы данных, как : PatternDefinition (PatternName, FeatureName, FeatureValue), где PatternDefinition - это имя таблицы с именем PatternName, FeatureName и FeatureValue - это столбцы.
E.g. Для правила «CS», определения будет с именем шаблон «CS» следующим образом:
Row 1 -> CS, Math, >=9
Row 2 -> CS, Computers, >=9
Row 3 -> CS, Electronincs, >=3
Я не могу изменить таблицы базы данных, поскольку есть огромное количество данных, и в настоящее время называют много суб- проекты.
Определения для конкретного правила могут изменяться по мере добавления новых предметов или изменения определений (позволяет сказать, что требования к оценке для конкретного субъекта меняются). Они изменяются в базе данных из фона.
Мне необходимо преобразовать приведенное выше правило в шаблон Drools, чтобы при запуске приложения автоматически забирали изменения в базе данных и готовили файл правил Drools, читающий шаблон и данные базы данных.
Я смог настроить один элемент как шаблон, но не несколько в одном правиле.
Просьба предложить.
взгляните на это, это может вам помочь .... http://opensourcesoftwareandme.blogspot.in/2015/08/dynamically-create-rules-using-drools.html – piyushj
Итак, если я правильно понимаю, Мне нужно вернуть реализацию toString(), которая в конечном итоге заменит свойство одного шаблона как несколько условий. Я имею в виду, что если я смогу сохранить карту «Физики» против ListOfFeatures, то при получении списка у меня будет реализация toString(), которая объединит функции (с новой строкой), чтобы сформировать полный FeatureSet для шаблона , –
yes true, дайте мне знать, если это поможет – piyushj