簡介
查詢語言泛指向資料庫或信息系統查詢的各種程式語言。查詢語言必須要能表達所有關係代數所能表達的查詢,這樣才被稱為關係完整的。標準文檔查詢語言是指向標準文本查詢的程式語言。網路上存在著大量非常有價值的文檔,包括學術論文、數據資料、課件、簡歷等,它們大多以流式辦公文檔形式存在。這些文檔質量較高、相關性強,並且垃圾信息較少,通過標準文檔查詢語言可以從查詢或挖掘到很多有價值的信息。標準文檔查詢語言種類主要與文檔的類型有關。
流式文檔查詢語言
Office Document Query(ODQ)即通用流式文檔查詢語言。它是一種通用於不同文檔格式的查詢語言。
目前世界上流行的流式文檔的標準格式有:OOXML、ODF、UOF。不同格式有著不同的訪問接口。Office Document Query針對流式文檔,在一定程度上禁止文檔格式和版本的差異,提供統一的訪問接口。網路上存在著大量非常有價值的文檔,包括學術論文、數據資料、課件、簡歷等,它們大多以流式辦公文檔形式存在。這些文檔質量較高、相關性強,並且垃圾信息較少。但由於流式文檔格式種類繁多,且各自的文檔模型差別較大,因此,儘管有人在互操作方面做了很多貢獻,但文檔格式間的互操作還是困難重重。這給開發者和普通用戶都帶來了不少的麻煩。目前世界上流行的流式文檔的標準格式有:OOXML、ODF、UOF。不同格式有著不同的訪問接口。 其存在的問題有:訪問接口不統一、數據兼容困難。API與文檔格式相關。與程式語言相關。二次開發困難。Open Document Query針對流式文檔:禁止文檔格式和版本的差異,提供統一的訪問接口。實現套用層和數據處理的分離。與程式語言無關。可嵌入到協定中遠程訪問文檔,也可訪問本地的文檔。簡化二次開發。
通用文檔模型
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來替換多線型結構中的箭頭,聯通各條線,形成一條數據通路 。
XQuery查詢語言
由於XML日益成為 Internet 上數據交換的標準,因而人們需要一種能夠方便交換 XML 數據的手段。XML具有自描述性且與平台無關,所以交換 XML 數據的途徑也應該是與平台無關的。雖然XPath和 XSLT在一定程度上解決了這個問題,但是其書寫的複雜程度和功能的不完善遠遠不能達到人們的要求。人們需要的是一種類似SQL語言的、簡單的 、易於編寫的 XML 數據查詢語言 。為此 ,W3C( World Wide Web Consortium ,全球資訊網協會) 於2001 年 12 月提出了XML 查詢語言規範( 工作草案) - XQuery 語言 。XQuery 是一種功能強大的數據查詢語言,它能夠從XML文檔中選擇並抽取出複雜的模式,進而把查詢結果重構成用戶需要的新的 XML 檔案結構。它極有可能成為“XML中的SQL”,因為 SQL 語言是對建立在關係代數基礎上的數據表進行操作的語言,而 XQuery 則是對建立在XQuery 數據模型上的 XML 數據進行查詢的語言。XQuery 是一種書寫格式自由的語言。類似大量的計算機語言,XQuery 對程式的書寫格式沒有嚴格位置上的要求,因此,從用戶輸入的原始查詢中分析出用戶的查詢意圖是研究語言實現的難點所在。這樣,中間代碼的定義就十分重要,因為它不僅要在原始的用戶查詢和計算機處理之間建立一個橋樑,而且還要能以簡潔的方式完整地表達用戶的意圖 。
RDF查詢語言
Resources Description Framework ( RDF) 是由World Wide Web Consortium( W3C) 推薦的用於描述網路資源元數據的模型,利用它可以形成人機可讀、能由計算機自動處理的檔案 。RDF 已被廣泛地套用在各個領域,例如:用於協助搜尋引擎更好地查找資源,對網站、圖書館中的內容及其關係進行分類和描述,以及智慧型軟體代理中用作知識表示、共享和交換等等。隨著 RDF 的套用越來越廣泛,對於 RDF 查詢的需求也越來越多.目前 ,雖然 W3C 尚未出台 RDF查詢標準,但已有多種具有不同特徵的查詢語言出現。有的偏重於 RDF 的邏輯性,有的偏重於基於Web 的搜尋,有的偏重於簡單的實現,也有的不僅注重搜尋內容,還能夠搜尋到 RDF 當中的Schema。但是,這些對 RDF 的查詢,要么是通過遍歷 RDF 檔案,要么是將 RDF信息以特殊格式( 如垂直表) 保存在關係資料庫當中來實現的。基於遍歷搜尋的查詢方法只適用於查找少量的 RDF 信息,對於大量的 RDF 數據,將因其查詢效率太低而不宜使用。以特殊格式將 RDF 保存在關係資料庫當中的方法,則無法針對現有的數據進行查詢。如果將已有數據轉換為特殊格式的話,又會對已有系統造成影響,因而也難以實用。