欢迎来到天天文库
浏览记录
ID:15251376
大小:92.00 KB
页数:7页
时间:2018-08-02
《一个知识库系统与外部数据源接口的研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、管理科学与系统科学研究新进展——第6届全国青年管理科学与系统科学学术会议论文集·大连一个知识库系统与外部数据源接口的研究马金平邢筠(青岛大学商学院管理系,266071)摘要本文论述了一个知识库系统与外部数据源接口的描述定义和程序实现方法。关键词知识库系统数据库数据源1引言随着智能决策支持系统应用领域的不断扩大,原来由模型库系统完成的部分定量分析任务,将归并到知识库系统中。即要求知识库中,不仅有专家的定性知识,而且也应该具有计算知识,形成一个广义的知识库系统。在广义知识库系统中,要求推理机不仅要具有一般的推理功能,而且能够从外部数据源获取数据,对数学模型进行求解的功能。如何从外部数据
2、源获取数据,是使推理机具有模型求解功能的关键技术之一。笔者在生产成本管理知识库系统的开发过程中,使用Visualc++6.0成功地研究开发了该知识库系统与外部数据源的接口,拓宽了推理机的功能,收到了比较好的效果。外部数据源主要是指文本数据文件、数据库和Excel电子表。由于受篇幅限制,本文主要针对知识库系统与文本数据文件、数据库接口的设计实现问题进行讨论。知识库系统与Excel电子表的接口问题,笔者将另撰文介绍。2接口的描述定义在生产成本管理知识库中,以知识数据块的形式对外部数据源进行如下描述定义。2.1文本数据文件接口的定义格式DATAFILE//可以定义多个文件的接口。<文件句
3、柄>=OPEN(<文件名称>)//在一个接口中,可以定义任意个输入数据文件。<变量>=READ(<文件句柄>,行号,列号)//可以有多行。
4、//或WITH<文件句柄><变量>=READ(行号,列号)//可以有多行。ENDWITHENDDATAFILE2.2数据库接口的定义格式DATABASE//在一个知识库中可以定义多个这样的接口 CONNECTION=<连接字符串>//可以同时定义多个连接对象343管理科学与系统科学研究新进展——第6届全国青年管理科学与系统科学学术会议论文集·大连INPUTTABLE//每个接口只能定义一个输入块。RECORDSET5、录集对象名>=,CONNECTION//可以定义多个记录集对象名。〈变量〉=.FIELDS(字段序号)//可以有多行 6、//或WITH〈ADO记录集对象名><变量>=.FIELDS(字段序号)//可以有多行ENDWITH ENDINPUTTABLEOUTPUTTABLE//定义与存储结果数据表的接口,每个接口最多可以定义一个输出块。RECORDSET=,;.FIELDS(字段序号)=〈变量〉; 7、//或WITH.FIEL8、DS(变量序号)=<变量>;ENDWITH ENDOUTPUTTABLE ENDDATABASE在上述格式中,〈变量〉是指计算表达式及模型中需要用户提供值的参数,或存储表达式及模型的求解结果。“//”表示注释。此外,笔者在生产成本管理知识库系统开发工具中,开发了知识库与外部数据源接口定义的辅助工具,用户利用这些工具可以十分方便地完成接口的描述定义工作。3接口程序的实现在推理机运行之前,首先将知识库读入内存,并且转换成计算机的内部表现形式。接口程序再根据知识库与外部数据源接口的定义,将外部数据源的数据读入内存缓冲区后,最后在进行推理。为了便于查找知识库与外部数据源接口的定义语句,首先9、定义如下数据结构:structLineText//存储知识库语句行文本。{CStringText;//存储知识库语句行文本structlinetext*pNextLine;//下一行指针}*pLineTextHead;//知识库语句首行指针。structDataObject//知识数据块对象索引表{CStringObjecType;//对象类型structLineText*pTextLine;//对象首行在LineText中的指针structDataObject*pNextObject;};//指向下一个知识数据块对象。structKnowClsName//存储知识类名称定义语句文10、本{CStringClsName;//知识类名称343管理科学与系统科学研究新进展——第6届全国青年管理科学与系统科学学术会议论文集·大连structKnowClsName*pNextCls;//下知识类名称的指针structLlineText*pTextLine;//知识类名称在LineText中的指针structDataObject*pFirstObject;//指向知识类中第一个知识数据块对象的指针structMethod*pFirstMethod;//指向知识
5、录集对象名>=,CONNECTION//可以定义多个记录集对象名。〈变量〉=.FIELDS(字段序号)//可以有多行
6、//或WITH〈ADO记录集对象名><变量>=.FIELDS(字段序号)//可以有多行ENDWITH ENDINPUTTABLEOUTPUTTABLE//定义与存储结果数据表的接口,每个接口最多可以定义一个输出块。RECORDSET=,;.FIELDS(字段序号)=〈变量〉;
7、//或WITH.FIEL
8、DS(变量序号)=<变量>;ENDWITH ENDOUTPUTTABLE ENDDATABASE在上述格式中,〈变量〉是指计算表达式及模型中需要用户提供值的参数,或存储表达式及模型的求解结果。“//”表示注释。此外,笔者在生产成本管理知识库系统开发工具中,开发了知识库与外部数据源接口定义的辅助工具,用户利用这些工具可以十分方便地完成接口的描述定义工作。3接口程序的实现在推理机运行之前,首先将知识库读入内存,并且转换成计算机的内部表现形式。接口程序再根据知识库与外部数据源接口的定义,将外部数据源的数据读入内存缓冲区后,最后在进行推理。为了便于查找知识库与外部数据源接口的定义语句,首先
9、定义如下数据结构:structLineText//存储知识库语句行文本。{CStringText;//存储知识库语句行文本structlinetext*pNextLine;//下一行指针}*pLineTextHead;//知识库语句首行指针。structDataObject//知识数据块对象索引表{CStringObjecType;//对象类型structLineText*pTextLine;//对象首行在LineText中的指针structDataObject*pNextObject;};//指向下一个知识数据块对象。structKnowClsName//存储知识类名称定义语句文
10、本{CStringClsName;//知识类名称343管理科学与系统科学研究新进展——第6届全国青年管理科学与系统科学学术会议论文集·大连structKnowClsName*pNextCls;//下知识类名称的指针structLlineText*pTextLine;//知识类名称在LineText中的指针structDataObject*pFirstObject;//指向知识类中第一个知识数据块对象的指针structMethod*pFirstMethod;//指向知识
此文档下载收益归作者所有