Table of Contents
Our knowledge-based API allows you to first create a Knowledge Base that contains all the necessary knowledge. This includes all the relevant process definitions and other knowledge types like rules. The following code snippet shows how to create a Knowledge Base consisting of only one process definition, using a Knowledge Builder to add a resource, checking for errors and, finally, creating the Knowledge Base.
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("ruleflow.rf"), ResourceType.DRF); KnowledgeBuilderErrors errors = kbuilder.getErrors(); if (errors.size() > 0) { for (KnowledgeBuilderError error: errors) { System.err.println(error); } throw new IllegalArgumentException("Could not parse knowledge."); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
Note that the knowledge-based API allows users to add different types of resources, such as rules and processes, in almost identical ways into the same Knowledge Base. This enables a user who knows how to use Drools Flow to start using Drools Fusion almost instantaneously, and even to integrate these different types of Knowledge.