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). 

書目