我试图在jESS中触发一些规则后,从java中打印出存储在推荐(插槽包)(插槽解释)deftemplate中的信息。 与打印结果相关的代码部分如下:
Rete r = new Rete();
Iterator itt = r.listDeftemplates();
while(itt.hasNext()){
Deftemplate dt = (Deftemplate)itt.next();
String bn = dt.getBaseName();
dt.getSlotNames();
if(bn.equals("recommendation")){
System.out.println(dt.getSlotName(0));
System.out.println(dt.getSlotName(1));
System.out.println(bn);
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
Class Rete附带了一个API,可让您调查Rete对象中的所有内容。迭代Fact对象,过滤所需的对象,打印槽值:
Iterator itf = rete.listFacts();
while(itf.hasNext()){
Fact fact = (Fact)itf.next();
if( fact.getName().equals("MAIN::recommendation")){
System.out.println( "package: " +
fact.getSlotValue( "package" ));
System.out.println( "explanation: " +
fact.getSlotValue( "explanation" ) );
}
}