Drools Planner中的实时规则创建

Drools Planner中的实时规则创建,drools,drools-planner,Drools,Drools Planner,我对为Drools Planner创建规则感兴趣。我希望用户可以在启动Drools Planner之前在java应用程序中创建自己的规则。用户添加规则后,可能会生成Drools规则文件。这是可能的,还是在开发整个java应用程序时必须创建规则文件 非常感谢……是的,这是可能的。 诀窍是构建自己的规则库,并在Planner配置中进行设置。 根据您希望用户编辑其规则的方式,您可以按多个规则构建规则库: 从DRL文件。这假定用户知道DRL。请参阅Drools专家手册 从DSL文件。这允许您使用自然

我对为Drools Planner创建规则感兴趣。我希望用户可以在启动Drools Planner之前在java应用程序中创建自己的规则。用户添加规则后,可能会生成Drools规则文件。这是可能的,还是在开发整个java应用程序时必须创建规则文件

非常感谢……

是的,这是可能的。 诀窍是构建自己的
规则库
,并在Planner配置中进行设置。

根据您希望用户编辑其规则的方式,您可以按多个规则构建
规则库

  • 从DRL文件。这假定用户知道DRL。请参阅Drools专家手册
  • 从DSL文件。这允许您使用自然语言
  • 从guvnor网络应用程序。这允许您使用Guvnor工具,例如引导式规则编辑器、决策表电子表格等。。。您甚至可以使用变更集
  • 来自eclipse中的guvnor或独立应用程序(正在开发和实验中)。这方面有一些工作正在进行,但还很年轻

PS:在新的知识api中,
规则库
已被
知识库
取代。根据Planner 5.4的要求,您可以将
知识库
转换为
规则库
。是否可以向用户提供一些事实,如“时间”、“大小”,。。。他自己制定规则。当他准备好后,根据选定的事实创建DRL?因此,用户不必只知道程序员的DRL。所以我会有自己的“Guvnor网络应用程序”。-)因此,规则不是100%动态的,但用户有创建规则的范围。对不起,我的英语不好。我希望用户提供组件的子集来创建自己的规则集。例如:他可以选择一个老师的名字、一天、一个时间段和一个科目,也可以选择一个优先级来区分软约束和硬约束。@Dan是的,这是可能的,但你可能会让它更简单,但用非硬编码变量(如“时间”和“大小”)定义规则。例如:假设您想让用户有选择地说明护士希望休息几天。对于某个护士的每一天,都会创建一个dayOff请求,如果存在任何此类情况,dayOff分数规则会检查这些情况是否得到满足。如果他们不使用DayOffRequests,则分数规则对性能影响很小或没有影响,因为ReteOO会很快确定没有事实可以与该规则匹配。这主意不错!您是否有描述此行为的手册或教程的链接?