论文部分内容阅读
XML结构查询算法能根据精确的查询条件输出理想的查询结果。不过,该算法不仅要求查询用户熟悉结构查询算法所采用的查询语言,而且还要求了解待查询的XML文档树结构。这些要求对于绝大多数用户而言是不现实的。
XML关键字查询算法是找出符合查询关键字的SLCA(Smallest Lowest Common Ancestor),即最小最低公共祖先的集合,该查询的本质是找到包含所有关键字的最紧致片段。从用户角度看,XML关键字查询是一种能够被广泛使用的查询方法。许多学者在这方面做了大量研究并改进了一些算法。根据SLCA方法找到的XML片段虽然包含了用户需要的查询结果,但其缺点是查询结果中包含了更多无意义的信息。其原因是在根据XML关键字查询时并没有考虑查询用户的查询意图。
对SLCA进行语义分析的XML关键字查询,也就是对查询关键字的最小最低公共祖先生成的子树进行语义分析的查询方法。
为克服基于SLCA在XML关键字查询中所存在的缺点,本文提出了一个对SLCA子树进行语义分析的XML关键字查询算法。本文在深入分析XML文档所隐含语义的基础上,结合查询语句定义了新的语义相关性判断函数。以此对最紧致片段进行语义分析,从而获得到了满足用户查询意图的查询结果。论文的主要研究工作如下:
(1)设计并实现了一种改进的基于分类归并(Based On Clustering)思想的SLCA求解算法;实验发现,和LISAII相比,该算法在保证查准率的情况下,提高了查询速度。
(2)提出了一种新的在SLCA子树中加入语义的XML关键字查询算法(SLCA-SA,Smallest Lowest Common Ancestor Semantic Analysis)o进一步完善了XML结构语义性的概念,结合查询语句给出了对SLCA子树的语义相关性进行判断的规则。
(3)分析了包含所有关键字的最紧致片段中可能存在无意义子树的问题,对原有算法进行了扩展,能生成更加精确有效的最紧致片段。
(4)实现了SLCA--SA算法。实验表明,该算法在查询效率和精确度上都有较大改进。