From f96548363e17c1566262cef03190a137aee6efb5 Mon Sep 17 00:00:00 2001 From: felipeazv Date: Thu, 9 Nov 2017 12:04:37 +0100 Subject: [PATCH] BAEL-803: Backward Chaining with Drools - parent module (#2986) * spring beans DI examples * fix-1: shortening examples * List of Rules Engines in Java * BAEL-812: Openl-Tablets example added * BAEL-812: artifacts names changed * BAEL-812: moving rule-engines examples to rule-engines folder * BAEL-812: removing evaluation article files * BAEL-812: folder renamed * BAEL-812: folder renamed * BAEL-812: pom.xml - parent added * BAEL-1027: Introduction to GraphQL - initial commit * BAEL-781: Explore the new Spring Cloud Gateway * BAEL-781: Fix UserService.java * BAEL-781: Fix user-service pom.xml * BAEL-781: remove eureka-server from the example * BAEL-781: modifying example * BAEL-803: Backward Chaining wih Drools * BAEL-803: pom.xml * BAEL-803: Backward Chaining with Drools - new example * BAEL-803: Backward Chaining with Drools - parent module * BAEL-803: Backward Chaining with Drools - parent module * BAEL-803: Backward Chaining with Drools - meta-inf/maven-fix * BAEL-803: Backward Chaining with Drools - drools parent module --- drools/backward-chaining/pom.xml | 5 +--- .../com/baeldung/drools/BackwardChaining.java | 4 +-- .../drools/backward_chaining/rules.drl | 27 +++++++++++++++++++ drools/pom.xml | 2 ++ 4 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 drools/backward-chaining/src/main/resources/com/baeldung/drools/backward_chaining/rules.drl diff --git a/drools/backward-chaining/pom.xml b/drools/backward-chaining/pom.xml index bda0cf2abc..1cf8f008af 100644 --- a/drools/backward-chaining/pom.xml +++ b/drools/backward-chaining/pom.xml @@ -1,7 +1,6 @@ - 4.0.0 drools-backward-chaining @@ -17,7 +16,6 @@ 6.4.0.Final - org.kie @@ -26,7 +24,6 @@ org.drools - drools-core ${runtime.version} @@ -35,4 +32,4 @@ ${runtime.version} - + \ No newline at end of file diff --git a/drools/backward-chaining/src/main/java/com/baeldung/drools/BackwardChaining.java b/drools/backward-chaining/src/main/java/com/baeldung/drools/BackwardChaining.java index 1c1d258b47..bac144c32b 100644 --- a/drools/backward-chaining/src/main/java/com/baeldung/drools/BackwardChaining.java +++ b/drools/backward-chaining/src/main/java/com/baeldung/drools/BackwardChaining.java @@ -21,13 +21,11 @@ public class BackwardChaining { KieSession ksession = kContainer.newKieSession("ksession-backward-chaining"); ksession.setGlobal("result", result); ksession.insert(new Fact("Asia", "Planet Earth")); -// ksession.insert(new Fact("China", "Asia")); + // ksession.insert(new Fact("China", "Asia")); ksession.insert(new Fact("Great Wall of China", "China")); ksession.fireAllRules(); return result; - } - } \ No newline at end of file diff --git a/drools/backward-chaining/src/main/resources/com/baeldung/drools/backward_chaining/rules.drl b/drools/backward-chaining/src/main/resources/com/baeldung/drools/backward_chaining/rules.drl new file mode 100644 index 0000000000..bb5a8299e1 --- /dev/null +++ b/drools/backward-chaining/src/main/resources/com/baeldung/drools/backward_chaining/rules.drl @@ -0,0 +1,27 @@ +package com.baeldung + +import com.baeldung.drools.model.Fact; + +global com.baeldung.drools.model.Result result; + +dialect "mvel" + +query belongsTo(String x, String y) + Fact(x, y;) + or + (Fact(z, y;) and belongsTo(x, z;)) +end + +rule "Great Wall of China BELONGS TO Planet Earth" +when + belongsTo("Great Wall of China", "Planet Earth";) +then + result.setValue("Decision one taken: Great Wall of China BELONGS TO Planet Earth"); +end + +rule "print all facts" +when + belongsTo(element, place;) +then + result.addFact(element + " IS ELEMENT OF " + place); +end diff --git a/drools/pom.xml b/drools/pom.xml index 29231f150c..ab894c6a1a 100644 --- a/drools/pom.xml +++ b/drools/pom.xml @@ -7,6 +7,8 @@ com.baeldung drools 1.0.0-SNAPSHOT + + pom com.baeldung