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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
研究基于扩展XQuery引擎的空间数据流查询方法.doc

  研究基于扩展XQuery引擎的空间数据流查询方法   摘要:针对 目前 XML数据流处理中通常采用的查询语言XPath和XQuery均不支持空间运算,无法 应用 到空间数据流处理技术中的 问题 ,设计了一种通过扩展现有商业化XQuery引擎功能基础上的空间数据流检索 方法 。   关键词:可扩展标记语言数据流;XQuery;空间数据   随着L已经成为Inter环境中数据表示和交换的标准,数据流大量以XML格式表现。如何从不间断的XML数据流中匹配、抽取和转换部分数据流以满足商务应用的需求成为当前国际数据库领域的一个 研究 热点。目前针对XML数据流的处理研究有很多,但研究的对象均是普遍意义上的XML数据流,对于以XML格式表现的空间信息及查询中需要空间关系运算的数据流处理研究较少。研究如何在目前的XML数据流处理中支持空间运算有着重要意义。      1存在的问题      在目前针对XML数据流的研究中,其基本思想都是将用XPath表示的查询表达式转换为状态树型自动机,处理程序以流的方式接收并处理XML文档,看其满足哪一个状态节点的要求以触发查询匹配操作。如果满足所有状态节点的要求,则向用户返回相关的文档或结果[1]。由于XPath表达复杂查询的局限性,L的查询语言规范XQuery。XQuery语言的核心是XPath和FLL语法,用来进行空间和非空间的地理信息建模、传输和存储。GML已成为L文档本身也是一个XML文档,可以用DOM对象document来表达,在Saxon的XQuery实现中能够支持DOM对象的传递,采用GML表达空间数据以支持空间数据在XQuery引擎与外部Java类之间的传递成为 自然 的选择。将GML在XQuery引擎与外部方法之间进行传递,需要引入GML的schema描述。在GML规范中,feature.xsd定义了抽象地理特征模型,geometry.xsd定义了具体的几何形状信息,提供了点(point)、线(line)、多边形(polygon)、点集(multipoint)、线集(multiline)和多边形集(multipolygon)等基本几何图形以及复合类型(plextype)的几何图形。在本方法中只用到了空间数据类型的几何定义,所以引入geometry.xsd即可。在XQuery语句中定义如下:   importschemanamespaceGML=gml/   atgeometry.xsd;   引入GML的schema后,可以将GML进行描述的空间变量定义为schema限制的element变量作为参数进行传递,定义如下:   Let$p=doc(′test.xml′)/schema-element(GML:linestring)   2.2空间功能的扩展   定义了空间数据的表达方式后,对空间运算功能的实现在外部方法中进行。参照   3基于扩展引擎的空间数据流查询 方法      扩展后的XQuery引擎可以处理带有空间信息的XML文档。但由于 目前 的XQuery引擎通常被设计来处理在内存中装配好的源XML文档,对于动态的数据流而言无法直接处理。为了能够对空间数据流进行处理,还需要借助SAX(simpleAPIforXML)之类基于事件的XML解析程序辅助处理,以避免在采取操作之前需要存储文档的所有 内容 。    本文原文   SAX是事件驱动的XML处理器,允许正在读取XML文档时处理该文档。文档的读入过程也就是SAX的解析过程。其触发的事件主要包括:startDocument表示文档开始;endDocument表示文档结束;startElement表示元素开始;endElement表示元素结束;characters表示字符数据。将SAX与Saxon组合处理以XML格式表达空间数据流时,需要在相应的事件处理程序中调用XQuery查询语句。以一简单的物流监控为例,监控中心希望监控车辆在某指定时段内的指定区域的行驶是否符合预设路线。假设车辆每隔5min将该时段内的行驶轨迹及状态信息以XML文档格式形成不间断的数据流发送给监控中心。其数据格式DTD定义如下:   〈xsd:plexTypename=DTStateHistory〉   〈xsd:elementname=IDtype=xsd:Integer〉   〈xsd:sequence〉   〈xsd:elementname=StateUnittype=DTstateUnitminOccurs=   1maxOccurs=unbounded/〉   〈/xsd:sequence〉   〈/xsdplexType〉   〈xsd:plexTypename=DTState

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档