知识库系统与外部数据源接口的研究184174.docx
《知识库系统与外部数据源接口的研究184174.docx》由会员分享,可在线阅读,更多相关《知识库系统与外部数据源接口的研究184174.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一个知识库系统与外部数据源接口的研究 马金平 邢筠(青岛大学学商学院管管理系, 2660071)摘要 本文文论述了一一个知识库库系统与外外部数据源源接口的描描述定义和和程序实现现方法。关键词 知知识库系统统 数据库 数据源1 引言随着智能决决策支持系系统应用领领域的不断断扩大,原原来由模型型库系统完完成的部分分定量分析析任务,将将归并到知知识库系统统中。即要要求知识库库中,不仅仅有专家的的定性知识识,而且也也应该具有有计算知识识,形成一一个广义的的知识库系系统。在广广义知识库库系统中,要要求推理机机不仅要具具有一般的的推理功能能,而且能能够从外部部数据源获获取数据,对对数学模型型进行求解解的功
2、能。如如何从外部部数据源获获取数据,是是使推理机机具有模型型求解功能能的关键技技术之一。笔笔者在生产产成本管理理知识库系系统的开发发过程中,使使用Vissual c+66.0 成成功地研究究开发了该该知识库系系统与外部部数据源的的接口,拓拓宽了推理理机的功能能,收到了了比较好的的效果。外外部数据源源主要是指指文本数据据文件、数数据库和EExcell电子表。由由于受篇幅幅限制,本本文主要针针对知识库库系统与文文本数据文文件、数据据库接口的的设计实现现问题进行行讨论。知知识库系统统与Exccel电子子表的接口口问题,笔笔者将另撰撰文介绍。2 接口口的描述定定义在生产成本本管理知识识库中,以以知识数
3、据据块的形式式对外部数数据源进行行如下描述述定义。2.1 文文本数据文文件接口的的定义格式式 DAATAFIILE /可以以定义多个个文件的接接口。 =OPEEN()/在在一个接口口中,可以以定义任意意个输入数数据文件。 =REAAD(,行号,列列号)/可以有多多行。 | /或或 WWITH =REAAD(行号号,列号) /可可以有多行行。 EEND WWITH ENND DAATAFIILE 2.2数据据库接口的的定义格式式 DATAABASEE /在一个知知识库中可可以定义多多个这样的的接口 CONNNECTIION = /可以同同时定义多多个连接对对象 INPPUTTAABLE /每个个
4、接口只能能定义一个个输入块。 RRECORRDSETT =,CCONNEECTIOON /可以定定义多个记记录集对象象名。 变量=.FIEELDS(字段序号号)/可可以有多行行 | /或 WITHH ADDO记录集集对象名 =.FIEELDS(字段序号号) /可以有多多行 END WITHH ENDD INPPUTTAABLE OUTPPUTTAABLE /定义义与存储结结果数据表表的接口,每每个接口最最多可以定定义一个输输出块。 RRECORRDSETT =,; .FFIELDDS(字段段序号)=变量; | /或 WITHH FFIELDDS(变量量序号)=; END WITHH ENDD
5、OUTTPUTTTABLEE ENND DAATABAASE在上述格式式中,变变量是指指计算表达达式及模型型中需要用用户提供值值的参数,或或存储表达达式及模型型的求解结结果。“/”表示注释释。此外,笔笔者在生产产成本管理理知识库系系统开发工工具中,开开发了知识识库与外部部数据源接接口定义的的辅助工具具,用户利利用这些工工具可以十十分方便地地完成接口口的描述定定义工作。3 接口程程序的实现现在推理机运运行之前,首首先将知识识库读入内内存,并且且转换成计计算机的内内部表现形形式。接口口程序再根根据知识库库与外部数数据源接口口的定义,将将外部数据据源的数据据读入内存存缓冲区后后,最后在在进行推理理。
6、为了便于查查找知识库库与外部数数据源接口口的定义语语句,首先先定义如下下数据结构构:strucct LiineTeext /存储知知识库语句句行文本。 CCStriing TText;/存储储知识库语语句行文本本strucct liineteext *pNexxtLinne;/下一行指指针 *ppLineeTexttHeadd; /知识库库语句首行行指针。strucct DaataObbjectt /知知识数据块块对象索引引表 CSStrinng ObjeccType;/对象类类型strucct LLineText *pTeextLiine;/对象首首行在LiineTeext中的的指针stru
7、cct DaataObbjectt *pNNextObjecct;/指向向下一个知知识数据块块对象。strucct KnnowCllsNamme /存储知识识类名称定定义语句文文本 CSStrinng CllsNamme;/知识类名名称strucct KnnowCllsNamme *ppNexttCls;/下知知识类名称称的指针strucct LllineTText *pTeextLiine;/知识类类名称在LLineTText中中的指针strucct DaataObbjectt *pFFirsttObjecct;/指向知识识类中第一一个知识数数据块对象象的指针strucct Methood
8、*ppFirsstMethood;/指向知识识类中第一一个知识方方法的指针针*pCllsHeaad;/指向知识识类的头指指针。根据上述数数据结构的的定义,接接口程序总总体实现的的程序流程程如图1所所示。在图图1中,当当pDo-ObjjectTType等等于“DATAAFILEE“或“DATAABASEE”或“EXCEEL”时,系统统分别调用用从文本数数据文件、数数据库和EEXCELL电子表获获取数据的的接口函数数。其中:文本数据据文件接口口函数的程程序流程如如图2所示示,数据库库接口函数数的程序流流程如图33所示。“OTHEER”表示知识识库中的其其它知识数数据块对象象。开始pClspClsH
9、ead终止pDo=pClspFirstObjectpCls=NULL?? No Yes pDoObjectType=?pDo=NULL? Yees NNo pCls=pClspNextCls AB C DATAABASEE EXXCEL OTTHER DATTAFILLEpDo=pDopNextObject 图1 接口口程序总体体实现的程程序流程 3.1 数数据文件接接口函数程程序的实现现为了存储从从外部数据据文件获取取的数据,定定义如下数数据结构:strucct DaataFiileBuufferr /数据文件件缓冲区 CSStrinng VaariabbleNaame;/变量名称称 dou
10、bble DataaValuue;/从文本文文件获取的的变量值 struuct DataaBufffer *pNexttPataa;/指指向下一个个变量的指指针*pDaataBuufferrHeadd,*pDDataBBuffeerTaiil;/缓冲区的的头指针和和尾指针。据此,绘出出从外部数数据文件获获取数据的的接口函数数的程序流流程如图22。由于受受篇幅限制制,图2仅仅给出了程程序的主要要算法流程程。在编程程时,还必必须考虑具具体实现的的细节,例例如:如何何从一个数数据行中,确确定数据项项数量,找找到Coll列;如何何创建DaataFiileBuufferr的链表结结构等。3.2 数数据库
11、接口口函数程序序的实现 根据上述知知识库与数数据库接口口的定义格格式以及知知识库内部部存储结构构,可以绘绘制出数据据库接口函函数程序总总体流程如如图3所示示。其中:D表示输输入数据表表接口程序序流程,如如图4所示示;E表示示输出数据据表接口程程序流程。3.2.11 输入数数据表接口口程序的实实现为了存储从从输入数据据表获取的的数据,定定义数据结结构如下: strucct InnputDDataBBuffeer /存储从数数据库获得得的数据,每每一个变量量建立一个个数据区 _vaariannt_t DataaValuue;/可以存储储不同类型型的数据;strucct InnputDDataBBu
12、ffeer *ppNexttDataaValuue;;strucct PrremisseVarriablleBufffer /前提提变量(自自变量)集集区,接受受来自数据据库的数据据 CSttringg VarriablleNamme;strucct InnputDDataBBuffeer *ppInpuutDattaBuffferHHead;/指向向数据区头头指针。strucct PrremisseVarriablleBufffer *pNeextVaariabble;/指向向下一个变变量。*pPrremisseVarriablleBuffferHHead,pPreemiseeVariiab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 知识库 系统 外部 数据源 接口 研究 184174
限制150内