Hi, Have a look at KnowledgeBuilder's use of ResourceFactory.
There's a newReaderResource() static method which could be passed a StringReader rather than writing to an intermediate file. AFAIK kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()) is effectively the "addRule" you desire. With kind regards, Mike 2010/11/18 Pierre de Leusse <[email protected]> > Hello all, > > > > I’m trying to add rules through my java code to a KnowledgeBase and I > cannot find any easy way to do so. So far, the only solution I could think > of, is to write the rule as DRL in a file that is “observed” by a > KnowledgeAgent (same with a RuleAgent I suppose). Is it possible to create a > new KnowledgePackage with the same name as the existing one and load it into > the KnowledgeBuilder? > > > > I manage to remove rules using the following code: > statefulKnowledgeSession.getKnowledgeBase().removeRule(knowledgeSetName, > ruleName); > > > > I thought that there would be a addRule method somewhere but not luck so > far. > > > > The code I’m using to create my KnowledgeBase and StatefulKnowledgeSession > is shown below. > > > > All the best, > > Pierre > > > > StatefulKnowledgeSession creation code: > > > > StatefulKnowledgeSession ksession; > > KnowledgeBuilder kbuilder; > > KnowledgeBase kbase; > > > > kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); > > > > kbuilder.add(ResourceFactory.newFileResource(Demo.class.getResource(Demo.drlFile).getPath()), > ResourceType.DRL); > > > > if (kbuilder.hasErrors()) { > > System.out.println(kbuilder.getErrors()); > > } > > kbase = KnowledgeBaseFactory.newKnowledgeBase(); > > kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); > > ksession = kbase.newStatefulKnowledgeSession(); > > ksession.insert(…); > > … > > ksession.fireAllRules(); > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
