论文部分内容阅读
随着Internet技术的发展,越来越多的应用采用XML作为信息表示和数据交换的标准,所以用户对于XML数据查询技术的要求也越来越高。在进行XML数据查询时,用户输入的查询条件往往不能准确表达自己的查询目的,这就使得查询具有一定的试探性和渐进性。传统的XML关键字查询方法对所有查询关键字进行精确的匹配,没有考虑到XML文档中的语义信息在近似查询方面的作用,从而导致无法返回语义上近似满足用户查询需求的查询结果。如果查询关键字较多,可能会导致因为查询条件过于严格而产生空结果或者查询结果过少的问题。另外,XML数据中蕴含的语义信息,对改善查询的性能具有重要意义。因此,如何有效利用XML数据中的语义信息返回与用户需求最为相关的查询结果成为一个亟待解决的问题。基于上述需求,本文提出了一种基于语义的XML关键字近似查询方法。该方法首先从XML文档中提取出查询实体,通过查询实体计算出关键字间相似度,对初始的查询条件进行松弛处理,利用新的查询条件对XML数据进行查询。整个XML关键字近似查询方法主要分成三部分:首先,提出了查询实体的概念,并给出了从XML文档中抽取查询实体的算法。其次,提出了查询实体间相似度处理算法,然后利用叶子结点对应关键字与其所在查询实体间紧密的结构和语义关系,提出了利用查询实体间相似度来计算关键字间相似度的方法。最后,利用SLCA(Smallest Lowest Common Ancestor)的性质,提出了基于语义的XML关键字近似查询算法,该算法与现有的算法相比,能够减少对最终结果无意义的中间结果的计算,并且该算法对扩展后的查询关键字进行查询,可以有效的避免多次的查询重写操作并且根据相似度乘积对查询结果进行排序,优先返回用户需要的查询结果。实验测试表明,本文提出的XML关键字近似查询方法能够在满足用户对文档内容的近似要求,同时在召回率、精确率和算法稳定性上也取得了较好的效果。