Office Document Query

Office Document Query(缩写:ODQ)即通用流式文档查询语言。它是一种通用于不同文档格式的查询语言。

目前世界上流行的流式文档的标准格式有:OOXMLODFUOF。不同格式有着不同的访问接口。Office Document Query针对流式文档,在一定程度上屏蔽文档格式和版本的差异,提供统一的访问接口。

产生背景

编辑

网络上存在着大量非常有价值的文档,包括学术论文、数据资料、课件、简历等,它们大多以流式办公文档形式存在。这些文档质量较高、相关性强,并且垃圾信息较少。但由于流式文档格式种类繁多,且各自的文档模型差别较大,因此,尽管有人在互操作方面做了很多贡献,但文档格式间的互操作还是困难重重。这给开发者和普通用户都带来了不少的麻烦。
目前世界上流行的流式文档的标准格式有:OOXMLODFUOF。不同格式有着不同的访问接口。 其存在的问题有:

  • 访问接口不统一、数据兼容困难。
  • API与文档格式相关
  • 与编程语言相关
  • 二次开发困难

Open Document Query针对流式文档:

  • 屏蔽文档格式和版本的差异,提供统一的访问接口
  • 实现应用层和数据处理的分离
  • 与编程语言无关
  • 可嵌入到协议中远程访问文档,也可访问本地的文档
  • 简化二次开发

文档模型及语法扁平化处理 [1]

编辑

通用文档模型

编辑
  • Office Document Query通用文档模型,提取三大主流办公文档格式的文档模型的共性,从用户角度入手,保留及更改部分节点。
  • 扁平化是管理学中经典的概念。

对于ODQ而言数据是个总谱包括文档元数据、文本、式样等。如果说使用API为的是获得丰富多样的功能支持,那么使用ODQ就是为了更直接地操作数据。既然总谱是数据,那么文档模型就必须围绕数据而建。ODQ文档模型的扁平化,就是要精简文档结构层数。通过认真分析用户需求,将普通用户最关心也是最常用的文档数据比如text、style等,从底层提高到更高的层次中,并且不限制它们在文档模型中出现的次数。也就是说以往被放置于底层的文档对象,有可能同时出现在除顶层节点之外的任意节点下。

语法扁平化处理

编辑

Office Document Query查询语法参考数据库查询语言SQL(Structured Query Language)。Office Document Query面对处在不同位置的文档数据,提供几种简单的通用结构来覆盖全部查询操作。Office Document Query语法分为GET、UPDATE、DELETE、INSERT这四大类,分别完成查询、修改、删除和插入的任务。Office Document Query按照英语的语法规则,采用关键字of来替换多线型结构中的箭头,联通各条线,形成一条数据通路。

常用语法

编辑

语法格式

编辑

GET 属性1,[属性2,…] | 式样1,[式样2,…] | 节点1 [all|序号|范围] FROM 节点[all|序号|范围] [of节点[all|序号|范围] …] of Document [WHERE {属性1=值1,[属性2=值2…]|式样1=值1,[式样2=值2]…} ]

说明

编辑

GET子句:指明要查询的内容,包括三类:节点属性、节点式样和节点对象。 FROM子句:FROM关键字后面是路径表达式。 WHERE子句:Where子句中的谓词用于对结果进行过滤,只返回满足特定标准的节点或属性,多个条件之间可以用 and、or等谓词连接。

书写理由

编辑

Office Document Query为流式文档的查询提供了独特的见解与方法。

参考文献

编辑

引用

编辑
  1. ^ 凌峰. ODQ文档模型和语法的扁平化处理. 计算机应用研究. 2015: 1–3 [2015-05-20]. ISSN 1001-3695. doi:10.3969/j.issn.1001-3695.2015.06.032. (原始内容存档于2022-09-13). 

书目

编辑