基于扩展xquery引擎的空间数据流查询方法研究.doc

基于扩展xquery引擎的空间数据流查询方法研究.doc

ID:20633689

大小:88.29 KB

页数:10页

时间:2018-10-14

基于扩展xquery引擎的空间数据流查询方法研究.doc_第1页
基于扩展xquery引擎的空间数据流查询方法研究.doc_第2页
基于扩展xquery引擎的空间数据流查询方法研究.doc_第3页
基于扩展xquery引擎的空间数据流查询方法研究.doc_第4页
基于扩展xquery引擎的空间数据流查询方法研究.doc_第5页
资源描述:

《基于扩展xquery引擎的空间数据流查询方法研究.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于扩展XQuery引擎的空间数据流查询方法研究摘要:针对目前XML数据流处理中通常采用的查询语言XPath和XQuery均不支持空间运算,无法应用到空间数据流处理技术中的问题,设计了一种通过扩展现有商业化XQuery引擎功能基础上的空间数据流检索方法。关键词:可扩展标记语言数据流;XQuery;空间数据随着Web应用中数据交换越来越频繁,产生了大量不间断的数据流。由于XML已经成为Internet环境中数据表示和交换的标准,数据流大量以XML格式表现。如何从不间断的XML数据流中匹配、抽取和转换部分数据流以

2、满足商务应用的需求成为当前国际数据库领域的一个研究热点。目前针对XML数据流的处理研究有很多,但研究的对象均是普遍意义上的XML数据流,对于以XML格式表现的空间信息及查询中需要空间关系运算的数据流处理研究较少。研究如何在目前的XML数据流处理中支持空间运算有着重要意义。1存在的问题在目前针对XML数据流的研究中,其基本思想都是将用XPath表示的查询表迗式转换为状态树型自动机,处理程序以流的方式接收并处理XML文档,看其满足哪一个状态节点的要求以触发查询匹配操作。如果满足所有状态节点的要求则向用户返回相关的

3、文档或结果[1]。由于XPath表达复杂查询的局限性,W3C制定了专门针对XML的查询语言规范XQuery。XQuery语言的核心是XPath和FLWOR表达式,复杂的XQuery查询语句很难用合适的状态机来表达。将XQuery直接改造成XML数据流的查询语言也引出了大量研究[2~5]。目前标准的XPath和XQuery规范均不支持空间数据类型及空间运算,且空间分析功能算法复杂。通过这些规范自身的数据类型定义和基本函数库来实现复杂空间数据类型以及空间分析功能的扩展很困难,使得这些研究很难应用到包含空间运算的数

4、据流查询中。要在XML数据流查询中支持空间运算,需要先扩展XQuery规范以支持空间数据操作函数。自定义实现支持空间运算的XQuery引擎是理想的方法。文献[6,7]中已提出了直接扩展XQuery以支持空间功能的方法。但自定义实现XQuery引擎需要完整的词法分析、语法分析、查询规范化以及翻译执行等,使得这些方法均停留在理论阶段,很难实际应用。针对这些问题,本文设计了一种在商业化引擎基础上扩展XQuery空间功能的方法,然后以事件流处理方式接收XML文档以实现空间数据流查询的方法。2XQuery引擎空间功能的

5、扩展扩展XQuery引擎以支持空间运算,除了自定义实现支持空间运算的XQuery引擎方法外,还可以利用现有的XQuery引擎进行扩展。目前的商业化XQuery引擎均提供使用外部函数的功能扩展方法,如目前知名的商业化XQuery引擎Saxon提供的功能扩展机制可以允许在XQuery查询语句中调用Java或.NET方法作为外部函数。其使用方法简单,只需要在XQuery查询语句中声明外部函数所在的名称空间就可以调用外部方法。这为XQuery引擎实现包括空间分析的查询提供了便捷的途径。2.1空间数据类型的表达方法采取

6、调用外部方法来扩展XQuery引擎的功能,不可避免地会产生空间数据作为参数传递的问题。以采用Java语言实现扩展方法为例。虽然容易用Java对象表迗各种空间数据类型,但由于XQuery引擎规范本身不支持直接以Java对象表达的空间数据类型,为了使XQuery语句中支持空间数据类型并能够使空间数据在Java类和XQuery引擎中传递需要找到一种合适的空间数据表迗方法。GML是一个用XMLschema描述的XML语法,用来进行空间和非空间的地理信息建模、传输和存储。GML已成为Web应用中所接受并容易理解的一种空

7、间信息的交换格式。由于GML文档本身也是一个XML文档,可以用DOM对象document来表迗,在Saxon的XQuery实现中能够支持DOM对象的传递,采用GML表迗空间数据以支持空间数据在XQuery引擎与外部Java类之间的传递成为自然的选择。将GML在XQuery引擎与外部方法之间进行传递,需要引入GML的schema描述。在GML规范中,定义了抽象地理特征模型,定义了具体的几何形状信息,提供了点(point)、线(line)、多边形(polygon)、点集(multipoint)、线集(multil

8、ine)和多边形集(multipolygon)等基本几何图形以及复合类型(comp1extype)的几何图形。在本方法中只用到了空间数据类型的几何定义,所以引入即可。在XQuery语句中定义如下:importschemanamespaceGML=’’/gm1/”at引入GML的schema后,可以将GML进行描述的空间变量定义为schema限制的element变量作为参数进行传递,定义如下:Let$

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。