Skip to navigation Skip to main content

Utilities

  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
Red Hat Customer Portal
  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
  • Products & Services

    Products

    Support

    • Production Support
    • Development Support
    • Product Life Cycles

    Services

    • Consulting
    • Technical Account Management
    • Training & Certifications

    Documentation

    • Red Hat Enterprise Linux
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenStack Platform
    • Red Hat OpenShift Container Platform
    All Documentation

    Ecosystem Catalog

    • Red Hat Partner Ecosystem
    • Partner Resources
  • Tools

    Tools

    • Troubleshoot a product issue
    • Packages
    • Errata

    Customer Portal Labs

    • Configuration
    • Deployment
    • Security
    • Troubleshoot
    All labs

    Red Hat Insights

    Increase visibility into IT operations to detect and resolve technical issues before they impact your business.

    Learn More
    Go to Insights
  • Security

    Red Hat Product Security Center

    Engage with our Red Hat Product Security team, access security updates, and ensure your environments are not exposed to any known security vulnerabilities.

    Product Security Center

    Security Updates

    • Security Advisories
    • Red Hat CVE Database
    • Security Labs

    Keep your systems secure with Red Hat's specialized responses to security vulnerabilities.

    View Responses

    Resources

    • Security Blog
    • Security Measurement
    • Severity Ratings
    • Backporting Policies
    • Product Signing (GPG) Keys
  • Community

    Customer Portal Community

    • Discussions
    • Private Groups
    Community Activity

    Customer Events

    • Red Hat Convergence
    • Red Hat Summit

    Stories

    • Red Hat Subscription Value
    • You Asked. We Acted.
    • Open Source Communities
Or troubleshoot an issue.

Select Your Language

  • English
  • 한국어
  • 日本語
  • 中文 (中国)

Infrastructure and Management

  • Red Hat Enterprise Linux
  • Red Hat Satellite
  • Red Hat Subscription Management
  • Red Hat Insights
  • Red Hat Ansible Automation Platform

Cloud Computing

  • Red Hat OpenShift
  • Red Hat OpenStack Platform
  • Red Hat OpenShift Container Platform
  • Red Hat OpenShift Data Science
  • Red Hat OpenShift Dedicated
  • Red Hat Advanced Cluster Security for Kubernetes
  • Red Hat Advanced Cluster Management for Kubernetes
  • Red Hat Quay
  • OpenShift Dev Spaces
  • Red Hat OpenShift Service on AWS

Storage

  • Red Hat Gluster Storage
  • Red Hat Hyperconverged Infrastructure
  • Red Hat Ceph Storage
  • Red Hat OpenShift Data Foundation

Runtimes

  • Red Hat Runtimes
  • Red Hat JBoss Enterprise Application Platform
  • Red Hat Data Grid
  • Red Hat JBoss Web Server
  • Red Hat Single Sign On
  • Red Hat support for Spring Boot
  • Red Hat build of Node.js
  • Red Hat build of Quarkus

Integration and Automation

  • Red Hat Application Foundations
  • Red Hat Fuse
  • Red Hat AMQ
  • Red Hat 3scale API Management
All Products

Table of contents

  1. Designing a decision service using DRL rules
  2. Preface
  3. 1. Decision-authoring assets in Red Hat Decision Manager
  4. 2. DRL (Drools Rule Language) rules
    1. 2.1. Packages in DRL
    2. 2.2. Import statements in DRL
    3. 2.3. Functions in DRL
    4. 2.4. Queries in DRL
    5. 2.5. Type declarations and metadata in DRL
      1. 2.5.1. Type declarations without metadata in DRL
      2. 2.5.2. Enumerative type declarations in DRL
      3. 2.5.3. Extended type declarations in DRL
      4. 2.5.4. Type declarations with metadata in DRL
      5. 2.5.5. Metadata tags for fact type and attribute declarations in DRL
      6. 2.5.6. Property-change settings and listeners for fact types
      7. 2.5.7. Access to DRL declared types in application code
    6. 2.6. Global variables in DRL
    7. 2.7. Rule attributes in DRL
      1. 2.7.1. Timer and calendar rule attributes in DRL
    8. 2.8. Rule conditions in DRL (WHEN)
      1. 2.8.1. Patterns and constraints
      2. 2.8.2. Bound variables in patterns and constraints
      3. 2.8.3. Nested constraints and inline casts
      4. 2.8.4. Date literal in constraints
      5. 2.8.5. Supported operators in DRL pattern constraints
      6. 2.8.6. Operator precedence in DRL pattern constraints
      7. 2.8.7. Supported rule condition elements in DRL (keywords)
      8. 2.8.8. OOPath syntax with graphs of objects in DRL rule conditions
    9. 2.9. Rule actions in DRL (THEN)
      1. 2.9.1. Supported rule action methods in DRL
      2. 2.9.2. Other rule action methods from drools and kcontext variables
      3. 2.9.3. Advanced rule actions with conditional and named consequences
    10. 2.10. Comments in DRL files
    11. 2.11. Error messages for DRL troubleshooting
    12. 2.12. Rule units in DRL rule sets
      1. 2.12.1. Data sources for rule units
      2. 2.12.2. Rule unit execution control
      3. 2.12.3. Rule unit identity conflicts
  5. 3. Data objects
    1. 3.1. Creating data objects
  6. 4. Creating DRL rules in Business Central
    1. 4.1. Adding WHEN conditions in DRL rules
    2. 4.2. Adding THEN actions in DRL rules
  7. 5. Executing rules
  8. 6. Other methods for creating and executing DRL rules
    1. 6.1. Creating and executing DRL rules in Red Hat CodeReady Studio
    2. 6.2. Creating and executing DRL rules using Java
    3. 6.3. Creating and executing DRL rules using Maven
  9. 7. Example decisions in Red Hat Decision Manager for an IDE
    1. 7.1. Importing and executing Red Hat Decision Manager example decisions in an IDE
    2. 7.2. Hello World example decisions (basic rules and debugging)
    3. 7.3. State example decisions (forward chaining and conflict resolution)
    4. 7.4. Fibonacci example decisions (recursion and conflict resolution)
    5. 7.5. Pricing example decisions (decision tables)
    6. 7.6. Pet Store example decisions (agenda groups, global variables, callbacks, and GUI integration)
    7. 7.7. Honest Politician example decisions (truth maintenance and salience)
    8. 7.8. Sudoku example decisions (complex pattern matching, callbacks, and GUI integration)
    9. 7.9. Conway’s Game of Life example decisions (ruleflow groups and GUI integration)
    10. 7.10. House of Doom example decisions (backward chaining and recursion)
  10. 8. Performance tuning considerations with DRL
  11. 9. Next steps
  12. A. Versioning information
  13. Legal Notice

Chapter 9. Next steps

  • Testing a decision service using test scenarios
  • Packaging and deploying a Red Hat Decision Manager project
  1. Previous
  2. Next
Red Hat

Quick Links

  • Downloads
  • Subscriptions
  • Support Cases
  • Customer Service
  • Product Documentation

Help

  • Contact Us
  • Customer Portal FAQ
  • Log-in Assistance

Site Info

  • Trust Red Hat
  • Browser Support Policy
  • Accessibility
  • Awards and Recognition
  • Colophon

Related Sites

  • redhat.com
  • developers.redhat.com
  • connect.redhat.com
  • cloud.redhat.com

About

  • Red Hat Subscription Value
  • About Red Hat
  • Red Hat Jobs
Copyright © 2023 Red Hat, Inc.
  • Privacy Statement
  • Terms of Use
  • All Policies and Guidelines
We've updated our Privacy Statement effective September 15, 2023.
Red Hat Summit Red Hat Summit
Twitter