收藏本站 | 联系我们 | 设为首页 | English
当前位置:主页>计算机论文>
基于扩展XQuery引擎的空间数据流查询方法研究
来源:  作者:本站

  摘要:针对目前XML数据流处理中通常采用的查询语言XPath和XQuery均不支持空间运算,无法应用到空间数据流处理技术中的问题,设计了一种通过扩展现有商业化XQuery引擎功能基础上的空间数据流检索方法。
  关键词:可扩展标记语言数据流; XQuery;空间数据

  随着Web应用中数据交换越来越频繁,产生了大量不间断的数据流。由于XML已经成为Internet环境中数据表示和交换的标准,数据流大量以XML格式表现。如何从不间断的XML数据流中匹配、抽取和转换部分数据流以满足商务应用的需求成为当前国际数据库领域的一个研究热点。目前针对XML数据流的处理研究有很多,但研究的对象均是普遍意义上的XML数据流,对于以XML格式表现的空间信息及查询中需要空间关系运算的数据流处理研究较少。研究如何在目前的XML数据流处理中支持空间运算有着重要意义。
  
  1存在的问题
  
  在目前针对XML数据流的研究中,其基本思想都是将用XPath表示的查询表达式转换为状态树型自动机,处理程序以流的方式接收并处理XML 文档,看其满足哪一个状态节点的要求以触发查询匹配操作。如果满足所有状态节点的要求,则向用户返回相关的文档或结果[1]。由于XPath表达复杂查询的局限性,W3C制定了专门针对XML的查询语言规范XQuery。XQuery 语言的核心是XPath 和FLWOR(for、let、where、order by和return) 表达式,复杂的XQuery查询语句很难用合适的状态机来表达。将XQuery直接改造成XML数据流的查询语言也引出了大量研究[2~5]。目前标准的XPath和XQuery规范均不支持空间数据类型及空间运算,且空间分析功能算法复杂。通过这些规范自身的数据类型定义和基本函数库来实现复杂空间数据类型以及空间分析功能的扩展很困难,使得这些研究很难应用到包含空间运算的数据流查询中。要在XML数据流查询中支持空间运算,需要先扩展XQuery规范以支持空间数据操作函数。自定义实现支持空间运算的XQuery引擎是理想的方法。文献[6,7]中已提出了直接扩展XQuery以支持空间功能的方法。但自定义实现XQuery引擎需要完整的词法分析、语法分析、查询规范化以及翻译执行等,使得这些方法均停留在理论阶段,很难实际应用。
  针对这些问题,本文设计了一种在商业化引擎基础上扩展XQuery空间功能的方法,然后以事件流处理方式接收XML文档以实现空间数据流查询的方法。
  
  2XQuery引擎空间功能的扩展
  
  扩展XQuery引擎以支持空间运算,除了自定义实现支持空间运算的XQuery引擎方法外,还可以利用现有的XQuery引擎进行扩展。目前的商业化XQuery引擎均提供使用外部函数的功能扩展方法,如目前知名的商业化XQuery引擎Saxon提供的功能扩展机制可以允许在XQuery查询语句中调用Java或.NET方法作为外部函数。其使用方法简单,只需要在XQuery查询语句中声明外部函数所在的名称空间就可以调用外部方法。这为XQuery引擎实现包括空间分析的查询提供了便捷的途径。
上一页12 3 下一页

关于本站 | 会员服务 | 隐私保护 | 法律声明 | 站点地图 | RSS订阅 | 友情链接
免责声明:凡本站注明来源为xx所属媒体的作品,均转载自其它媒体转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。