【问题标题】:How to write Drool rules in Excel sheet?如何在 Excel 工作表中编写 Drool 规则?
【发布时间】:2013-11-15 06:49:55
【问题描述】:

我们可以在 Excel 表中编写 Drool 规则吗? 规则可以用于简单的人类可读内容吗? 如果我们可以那么它怎么能做到呢? 请解释一下。

【问题讨论】:

  • 什么是“流口水规则”?
  • 基本上流口水的是你从这里得到的:jboss.org/drools

标签: drools


【解决方案1】:

是的,你可以。阅读用户指南中名为“电子表格中的决策表”的部分怎么样?

http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/#d0e1157

【讨论】:

    【解决方案2】:

    最好从使用 Eclipse Drools 插件生成的示例规则 excel 开始。它提供了许多已经设置好的东西。只需更改内部数据并为您的程序使用 Excel 决策表。在这个Drools Decision Table Tutorial 中,同样的方法用于 Drools 6.4

    【讨论】:

      【解决方案3】:

      是的,您可以在电子表格 Xls 中编写规则,上传后这些规则将自动转换为 drl。 如果您有许多具有不同值的类似规则,则可以使用 Drools 决策表。 您可以在 Excel 电子表格(.xls 文件)中定义决策表。

      我附上了可以帮助你的简单规则文件 在这个例子中,我们根据租房者的年龄、时间(贷款期限)和性别来决定费率。

      数据模型:

      package demopro.demopro;
      
      /**
       * This class was automatically generated by the data modeler tool.
       */
      
      public class Customer implements java.io.Serializable
      {
      
         static final long serialVersionUID = 1L;
      
         private java.lang.Integer time;
         private java.lang.Integer age;
         private java.lang.Integer interest;
         private java.lang.String gender;
         private java.lang.Integer rate;
         private java.lang.Integer amount;
      
         public Customer()
         {
         }
      
         public java.lang.Integer getTime()
         {
            return this.time;
         }
      
         public void setTime(java.lang.Integer time)
         {
            this.time = time;
         }
      
         public java.lang.Integer getAge()
         {
            return this.age;
         }
      
         public void setAge(java.lang.Integer age)
         {
            this.age = age;
         }
      
         public java.lang.Integer getInterest()
         {
            return this.interest;
         }
      
         public void setInterest(java.lang.Integer interest)
         {
            this.interest = interest;
         }
      
         public java.lang.String getGender()
         {
            return this.gender;
         }
      
         public void setGender(java.lang.String gender)
         {
            this.gender = gender;
         }
      
         public java.lang.Integer getRate()
         {
            return this.rate;
         }
      
         public void setRate(java.lang.Integer rate)
         {
            this.rate = rate;
         }
      
         public java.lang.Integer getAmount()
         {
            return this.amount;
         }
      
         public void setAmount(java.lang.Integer amount)
         {
            this.amount = amount;
         }
      
         public Customer(java.lang.Integer time, java.lang.Integer age,
               java.lang.Integer interest, java.lang.String gender,
               java.lang.Integer rate, java.lang.Integer amount)
         {
            this.time = time;
            this.age = age;
            this.interest = interest;
            this.gender = gender;
            this.rate = rate;
            this.amount = amount;
         }    
      }
      

      决策表(电子表格):

      【讨论】:

        猜你喜欢
        • 2021-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多