第一篇

来源:互联网 发布:caj软件安卓版 编辑:程序博客网 时间:2024/06/12 00:57
数据存储在任何一个行业或领域的信息化的发展似乎都经历了下面的过程
文件---〉关系代数
但是随着信息化的深入,信息结构越来越复杂,关系代数无法适应对于复杂信息的管理。于是构建知识库,就成了没有办法的办法。
构建知识库,主要需要解决以下几个问题
1 知识的增删改查:
     a) 知识的增加和删除,需要保证不破坏原有数据的完整性
     b) 知识的查询,知识的查询可以看成是一个分析过程,在这个分析过程中,不会产生新的知识。如果我们对知识的度量采用一个集合,姑且称之为知识集,当我们录入知识的时候,设其知识集为A,当我们穷尽了所有的查询的时候,设获得的知识集为B,则A永远不等于B(因为知识的查询是一个分析过程)。
      正常情况下B包含于A,错误情况下B不包含于A。设知识损失为知识集C,则C=A-B。
         这实际上是一个推理过程,在sql时代,采用的是基于关系代数的推理引擎。通过类比,可以发现,知识的存储方式,和管理方式,直接决定了对知识集C的大小。只有尽量采用接近人类自然语言的方式同时允许部分的错误情况,才能尽可能的使C变得更小
2 知识的可视化问题
   a)知识内容的可视化
   b)推理和查询过程的可视化

因此,知识库管理系统的构建可以分为两部分:
  1 选择好的数据结构,尽量使C变得更小。也就是说,数据结构不能让,尚未录入的知识,变得与已录入的知识不相容
  2 选择多种推理系统,分析知识库中的知识
要做,就先从数据结构开始
问题,根据塔斯基语义,对于集合X内元素之间关系的取值(意义),需要引用另外一个集合Y内的元素来定义。对于知识库的数据结构的选取,实际上就是如何选取这个集合Y
在xml中这个y就是xml schema,在关系代数中,这个y就是依赖关系+主码。因为在sql中对于依赖关系的定义及其简单,而sql本身的C由较小,所以带来的sql的成功

sql的问题在于,虽然定义了依赖关系,但是却无法对依赖关系进一步定义,而将这个工作交给了应用。

现在的问题就是,对于复杂的数据结构,如何选取一个好的集合Y.
原创粉丝点击