图形化显示知识库思路总结

写了个图形化显示知识库的功能,不常用,怕忘了,要点记录一下

1.推理机使用jsr94,实现用jess

2.图形显示用graphiz,java显示部分用idot,好多bug,幸好源代码很少,复制进来直接修改,里面用到prefuse.jar也有bug,绕过去吧,graphiz自己在网上下,idot带的有的时候生成不出图形来

3.jsr94尽量采用无状态的session

StatelessRuleSession statelessRuleSession = (StatelessRuleSession) ruleRuntime
    .createRuleSession(uri, new HashMap(), RuleRuntime.STATELESS_SESSION_TYPE);

 这样可以模拟用户的回答预先得到下级节点,如果用StatefulRuleSession就没办法做到了

缺点是workmemory(workmemory对应的概念是状态空间)自己维护,比较占内存

List<Object> workmemory = new ArrayList<Object>();
//workmemory.add(...);
//workmemory.add(...);
workmemory = session.executeRules(workmemory);

 4.知识库中最好不要修改传入的参数

尽量采用 request,response的方式,回复都放在response中,request不变化,否则会影响到外部变量

5.搜索方式采用广度有限搜索,符合图形显示的要求,可以一级一级展开

6.这种方式完全可以用于数据状态的图形化显示,只要去掉推理机

状态经过事件出发转换为新的状态,只要根据状态能得到允许的所有事件,例如一个单据处于制单状态,允许的所有事件是固定的(审核,修改,作废)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值