论文部分内容阅读
为了使不同用户对XML文档具有不同的查看能力,保证查询的安全、可靠,现代数据源,包括结构化的和半结构化的,经常导出用XQuery定义的XML视图。XML视图分为实视图和虚视图两种,具有与关系数据库的视图类似的优点,但是实视图存在一个数据更新问题,当XML原文档发生了变化,如何更新实视图,这是本文研究的重点。 本文首先介绍用来从XQuery查询中执行和提取结果的Java API,用户可以准备XQuery查询、绑定XQuery查询字符串、执行XQuery查询;另外,用户可以在Java应用程序中创建XML视图。接着讨论XML文档的更新操作,实现对XML文档更新。对数据的修改能力是信息存储的一个基本要求,XML要想成为通用数据表示方法和共享格式,高效的更新功能不可或缺。 随着XQuery查询规范不断更新,XQuery更新规范于2005年2月11日给出更新的目标和需求,并于2006年1月27日首次发布XQuery Update Facility和XQuery Update Facility Use Cases,提出通过XQuery对XML文档进行更新。本文分析XML实视图更新时遇到的挑战,采用实视图递增更新维护框架并给出基于代数方法的更新传递策略与特殊语义标识符的实视图递增维护解决方法,此方法得出与重新计算视图相同的结果,但开销要比后者小很多。首先更新传递的代数策略将XML数据的更新转变成可以被XAT数据模型应用的更新原语,为每个代数节点设计规则,使更新可以通过XAT代数树传递到结果视图;接着基于语义标识符整合XML片断,分为三个阶段执行:首先定义如何使用Context Schema对要处理的XML数据进行谱系和秩序信息编码,第二步是使用Context Schema为XML结果和递增处理的节点生成可复写的语义标识符,最后通过特殊的深度合并运算执行基于标识符的XML片断整合。 在本文的最后,针对存在的一些问题,提出今后进一步的工作。