第6期 白卫静,等:中国古建的语义网络知识库及其高效实现 519 不同的缝来进行,同一架的不同缝之间的搭建是相 块分解成互不影响互相独立的26个子模块,具体如 互独立、互不影响的.据此,把庑殿构件顺序规则模 表2所示, try result=engine.runquerystar(srule,new valuevector().add(num)); if(result.next())f int i=1 while(i<nurmofinstance) string fi=“f”+i: system.out.println(fi): integer id=result.get(fi).intvalue(null): fact f=engine.findfactbyid(id): string name=f.getslotvalue("name").stringvalue(null): string If=f.getslotvalue(“layerfrom”)).stringvalue(null)片 string It-f.getslotvalue("layerto").stringvalue(null): string mf-f.getslotvalue("mianfengfrom").stringvalue(null): string mt=f.getslotvalue("mianfengto").stringvalue(null): string jf=f.getslotvalue("jinfengfrom").stringvalue(null): string jt=f.getslotvalue("jinfengto").stringvalue(null): i++: 图11 调用规则推理的Java代码 Fig.11 Java codes for starting the rule inference 表2庑殿顺序部分推理规则模块划分 层次 架 推理规则模块名称 Table 2 Modules of rules for inferring construction se- 顶层下架第j缝1 quence 下架 顶层下架第j缝2 层次 架 推理规则模块名称 顶层 顶层上架第j缝1 上架 下架 0层下架第1缝 顶层上架第j缝2 0层上架第2缝 由戗 顶层由戗第j缝 第0层 0层上架第3缝 4 上架 0层上架第j缝1 实验结果 0层上架第j缝2 在整个古建本体知识库的实现过程中,使用 1层下架第2缝 Jess和Java完成了所有的功能,而没有选用在本体 1层下架第3缝 研究领域应用广泛的Protége系列工具, 下架 1层下架第j缝1 在古建知识库的第1版4]中,使用了Protege 1层下架第j缝2 系列工具,具体选用Protegé3.4作为本体编辑工 第1层 1层上架第2缝 具,使用OWL DL作为本体描述语言,使用SWRL 1层上架第3缝 上架 语言来描写规则,选用Jess作为推理机,驱使规则 1层上架第j缝1 和0WL知识本体结合.不同的部分使用了不同的 1层上架第j缝2 专业工具,使得整个知识库系统搭建过程是递增的. 角梁 1层角梁第2缝 然而,当系统运行时出现了内存溢出的问题.为了解 中间层下架第j缝1 决内存溢出的问题,使系统可以顺利运行,把系统中 下架 中间层下架第j缝2 原本应该一次推理的内容分成几次进行,这种采用 中间层下架第j缝3 时间换取空间的方法,使推理时间变得非常长.表3 中间层 中间层上架第j缝1 上架 中间层上架第j缝2 的左边部分列出了带周围廊庑殿的不同制式的搭建 中间层上架第j缝3 顺序推理的时间,运行环境是CPU2.8GHZ、内存 由戗 中间层由戗第j缝 1.5GB的微机,并为知识库分配了1GB内存