Before moving to the next chapter in this book, it is important to introduce a utility class (from the source bundle associated with this book) that was extensively used for the creation of this chapter: org.drools.devguide.phreakinspector.model.PhreakInspector
.
None of the PHREAK network graphs shown in this chapter were manually generated; on the contrary, all of them were automatically generated from a KIE Base containing the rules and/or queries we wanted to show. The PhreakInspector
class in the phreak-inspector module was created for this purpose. This class is able to output a PHREAK network graph from a variety of resources, including:
kmodule.xml
fileIn the source bundle associated with this chapter, you will find that most of the tests actually use the PhreakInspector
class. In fact, you will find that all of the graphs displayed in this chapter can be recreated from the tests. The basic usage of the PhreakInspector
class is:
KieBase kbase = //Obtain a KIE Base from somewhere. PhreakInspector inspector = new PhreakInspector(); InputStream is = inspector.fromKieBase(kbase);
The resulting graph uses the DOT language (https://en.wikipedia.org/wiki/DOT_(graph_description_language)). DOT is a text-based format used to define graphs. There are several tools available to display DOT graphs, Graphviz (http://graphviz.org/) being one of the most popular.
Once we become familiar with the PhreakInspector
class, we can use it to graph any of the Kie Bases, rules, and queries introduced in this book. We can even use this class in our own projects to get a better understanding of the internal representation of our KIE Bases in order to look for ways to improve them.
18.227.134.154