亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向流式辦公文檔的查詢語言

        2015-12-20 06:58:40劉旭紅施運(yùn)梅
        關(guān)鍵詞:功能模型

        劉旭紅,施運(yùn)梅,侯 霞,李 寧

        (1.北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京100101;2.北京信息科技大學(xué) 網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點(diǎn)實(shí)驗(yàn)室,北京100101)

        0 引 言

        采用XML描述的流式辦公文檔格式繁多,主要包括OOXML[1]、ODF[2]和UOF[3]這3 種 主 要 標(biāo) 準(zhǔn),如 何 以 盡量統(tǒng)一且簡單靈活的方式從這些文檔中獲取信息,成為亟需解決的問題。為此,人們提出了不同的查詢語言和技術(shù)。

        針對XML文檔的查詢語言,如XQuery,可以訪問流式辦公文檔[4];文獻(xiàn) [5]提出使用XQuery語言實(shí)現(xiàn)多種格式文檔的數(shù)據(jù)集成。然而這些查詢語言是針對普通的XML數(shù)據(jù)設(shè)計(jì),其查詢粒度過細(xì),不能針對段落、節(jié)、文字表等功能點(diǎn)進(jìn)行操作[6]。

        為此,一些標(biāo)準(zhǔn)組織機(jī)構(gòu)和廠商都提供了對其相應(yīng)格式文檔訪問操作的API,如OOXML API、UOF API和ODF API。這些API將文檔操作進(jìn)行封裝,提供了一種比XQuery更簡單的方式。API也有一些固有的缺陷,主要體現(xiàn)在如下幾個(gè)方面:①這些API都依賴于具體的環(huán)境,如ODF API依賴于UNO 架構(gòu),OOXML API需要VBA/.NET 和Windows環(huán)境;②同一標(biāo)準(zhǔn)的不同版本的API也有差異;③API的使用較為困難,對程序員的要求較高[7]。

        信息檢索技術(shù)也可以訪問流式辦公文檔,但其重點(diǎn)是文本檢索,而文本經(jīng)過預(yù)處理往往失去了對于信息檢索非常重要的文檔的內(nèi)在結(jié)構(gòu)信息[8,9]。例如,我們需要檢索論文中的某個(gè)段落的內(nèi)容,使用針對HTML的信息檢索技術(shù)就很難實(shí)現(xiàn)。

        綜上所述,在流式辦公文檔領(lǐng)域,缺乏一種簡單、統(tǒng)一且無關(guān)平臺的技術(shù),從不同標(biāo)準(zhǔn)的文檔中獲取與文檔結(jié)構(gòu)相關(guān)的信息。為此,本文提出一種針對流式辦公文檔的查詢語言O(shè)DQ。

        1 ODQ 的設(shè)計(jì)

        1.1 總體設(shè)計(jì)

        為了解決上述問題,在設(shè)計(jì)ODQ 時(shí),需要遵循下面的原則:

        (1)ODQ 應(yīng)該是一種針對流式辦公文檔的非過程化的查詢語言,不包含分支和循環(huán)結(jié)構(gòu),從而能夠方便的嵌入到其它高級編程語言中使用。

        (2)從用戶的使用需求出發(fā),脫離辦公軟件,直接操作不同格式的流式辦公文檔,從而可以方便的應(yīng)用于各種流式辦公文檔應(yīng)用系統(tǒng)中。

        (3)通過建立公共文檔模型,屏蔽不同辦公文檔格式之間的差異,提高文檔的互操作性。

        (4)ODQ 需要涵蓋辦公文檔的常用功能,可以針對元數(shù)據(jù)、段落、節(jié)、文字表、列表等文檔結(jié)構(gòu)進(jìn)行查詢、更新和刪除操作,滿足用戶的大部分需求。

        (5)ODQ 應(yīng)該獨(dú)立于平臺和編程語言,與具體應(yīng)用無關(guān),可以滿足多種應(yīng)用系統(tǒng)對辦公文檔進(jìn)行操作的需求。

        (6)ODQ 的語法應(yīng)該盡量簡單,以降低學(xué)習(xí)成本。

        綜上所述,ODQ 的功能和作用類似于SQL。數(shù)據(jù)庫應(yīng)用系統(tǒng)通過SQL可以訪問不同的數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)。類似地,對于信息檢索、Web Office等辦公文檔應(yīng)用系統(tǒng),不需借助辦公軟件,就可以通過ODQ 直接操作底層的流式辦公文檔,而不必關(guān)心底層文檔的格式和平臺。

        為此,設(shè)計(jì)ODQ 的應(yīng)用架構(gòu)如圖1所示。辦公文檔應(yīng)用系統(tǒng)將ODQ 命令提交給ODQ 解析器,ODQ 解析器解析ODQ 命令,并通過不同流式辦公文檔格式的轉(zhuǎn)換適配器分別調(diào)用對應(yīng)格式的API來訪問底層的流式辦公文檔。

        ODQ 應(yīng)用框架通過公共文檔模型屏蔽了不同流式辦公文檔格式的差異,并通過轉(zhuǎn)換適配器隱藏了不同API的調(diào)用細(xì)節(jié),使得應(yīng)用系統(tǒng)完全獨(dú)立于底層的流式辦公文檔,由此,開發(fā)人員就能夠更專注于上層應(yīng)用的開發(fā),而不必關(guān)心所操作的流式文檔的格式和版本,從而為用戶訪問不同格式的流式辦公文檔提供統(tǒng)一的接口,方便用戶的使用和二次開發(fā)。

        圖1 ODQ 應(yīng)用架構(gòu)

        1.2 公共文檔模型

        每一種查詢語言都基于一種特定的數(shù)據(jù)模型,如SQL針對關(guān)系型數(shù)據(jù)模型,XQuery針對層次數(shù)據(jù)模型。ODQ是針對流式辦公文檔的查詢語言,因此,需要建立一種適合流式辦公文檔的數(shù)據(jù)模型,涵蓋不同流式辦公文檔格式的常用功能點(diǎn)。構(gòu)建公共文檔模型需要遵循下面的原則:

        (1)每一種流式辦公文檔都有自己的文檔模型和格式,在充分考慮各種不同辦公文檔模型和格式的基礎(chǔ)上,抽取公共語義,建立公共模型,公共文檔模型不但要考慮辦公文檔共性功能點(diǎn),還要隱藏它們之間的差異。

        (2)公共文檔模型要盡量的扁平化,這樣才能使ODQ查詢語句中的路徑表達(dá)式足夠的簡單。文獻(xiàn) [7]介紹了公共文檔模型的扁平化方法。

        考慮到本體是一種領(lǐng)域知識概念化和模型化的方法,可以實(shí)現(xiàn)語義信息的共享[10]。因此使用本體抽取不同格式的辦公文檔模型的公共語義,構(gòu)建公共文檔模型。

        本項(xiàng)研究建立的公共文檔模型,包括功能點(diǎn)集合、功能點(diǎn)屬性集合、關(guān)系、資源和映射信息,形式化為O =(C,AC,R,O,AO),其中:

        (1)功能點(diǎn)集合C:表示公共文檔模型中功能點(diǎn)的集合,包括了所有辦公文檔格式中的常用概念。如document表示文檔,paragraph表示段落。

        (2)功能點(diǎn)屬性集合Ac:描述公共文檔模型中功能點(diǎn)的屬性集合。

        (3)關(guān)系R:表示公共文檔模型中功能點(diǎn)之間以及功能點(diǎn)與屬性之間的關(guān)聯(lián)關(guān)系類型。

        1)part-of 關(guān)系:描述一個(gè)功能點(diǎn)是另一個(gè)功能點(diǎn)的一部分,如part-of (paragraph,document)表 示paragraph是document的一部分。

        2)property-of 關(guān)系:描述功能點(diǎn)所具有的屬性,如property-of (fontName,paragraph)表示fontName (字體)是paragraph的一個(gè)屬性。

        (4)資源O:表示不同文檔格式的功能點(diǎn)集合。

        (5)AO描述功能點(diǎn)c∈C 在不同文檔格式中的映射集合。用map-to 描述從公共文檔模型中的功能點(diǎn)到具體文檔格式中的功能點(diǎn)之間的映射關(guān)系,具體文檔格式在資源O中描述。如map-to (paragraph,ooxml:p)描述了從公共文檔模型中的功能點(diǎn)paragraph 到OOXML 文檔模型中的功能點(diǎn)p 之間的映射,map-to (paragraph,uof:段落)描述了從公共文檔模型中的功能點(diǎn)paragraph到UOF文檔模型中的功能點(diǎn) “段落”之間的映射。

        整個(gè)文檔公共語義抽取可以分為公共文檔模型層和資源層兩部分,如圖2所示,資源層是不同格式的流式辦公文檔模型,公共文檔模型層是在資源層的基礎(chǔ)上,抽取的公共語義模型,即公共文檔模型。公共文檔模型中的功能點(diǎn)之間通過part-of 關(guān)系組成了一棵公共文檔模型樹;功能點(diǎn)與屬性之間,通過property-of 關(guān)系描述;功能點(diǎn)或?qū)傩杂滞ㄟ^map-to 關(guān)系,映射至資源層中不同文檔模型中的功能點(diǎn)。

        圖2 公共語義抽取模型

        公共文檔模型中的每個(gè)功能點(diǎn)都擁有多個(gè)屬性,表1列舉了paragraph的部分屬性,其中text屬性描述了段落的不帶式樣的純文本內(nèi)容。在主流流式辦公文檔模型中,并沒有text的概念,為了滿足用戶只查詢文本內(nèi)容的需求,添加了text屬性。

        表1 Paragraph的部分屬性

        在執(zhí)行ODQ 查詢命令的時(shí)候,針對的是抽象的公共文檔模型,但查詢的內(nèi)容來自底層的文檔。

        1.3 ODQ 語法設(shè)計(jì)

        鑒于SQL的查詢語法已經(jīng)深入人心,ODQ 在語法上盡量借鑒SQL的風(fēng)格,并針對公共文檔模型的特點(diǎn)做了適當(dāng)?shù)母淖?,使得ODQ 簡單易用。下面通過擴(kuò)展的EBNF范式描述ODQ 的查詢命令SELECT 的語法,限于篇幅,只列出了SELECT 命令的部分定義,描述了針對document、paragraph、meta (元數(shù)據(jù))功能點(diǎn)進(jìn)行查詢所對應(yīng)的部分命令的格式。

        SELECT 命令包含3個(gè)子句,說明如下:

        (1)SELECT 子句:指明要查詢的內(nèi)容,包括功能點(diǎn)及其屬性。需要說明的是,在該子句中出現(xiàn)的所有的功能點(diǎn)及其屬性都只針對公共文檔模型,與具體的底層的文檔格式無關(guān),但是,查詢結(jié)果卻是根據(jù)公共文檔模型與底層文檔格式的映射關(guān)系從底層文檔獲取而來。

        (2)FROM 子句:FROM 關(guān)鍵字后面是路徑表達(dá)式。路徑表達(dá)式由一個(gè)或多個(gè)功能點(diǎn)組成,功能點(diǎn)之間用OF隔開,用于在文檔模型中定位要查詢的功能點(diǎn)。

        (3)WHERE子句:WHERE子句中的謂詞用于對結(jié)果進(jìn)行過濾,多個(gè)條件之間可以用AND、OR等關(guān)鍵字連接。

        下面幾個(gè)典型示例分別用于查詢功能點(diǎn)和屬性。

        例1:查詢功能點(diǎn)的文本屬性。查詢功能點(diǎn)document的text屬性,返回整個(gè)文檔的文本內(nèi)容。

        SELECTtext FROM sample.uot

        例2:查詢功能點(diǎn)式樣屬性。查詢功能點(diǎn)paragraph的fontName 和fontSize 屬性,獲取文檔第1節(jié)中第2 個(gè)段落的字體和字號。

        SELECT fontName,fontSize FROM paragraph [2]of section [1]of sample.docx

        例3:查詢功能點(diǎn)。查詢第1節(jié)的第2段,獲取功能點(diǎn)的所有信息,即所有屬性值。

        SELECT paragraph [2] FROM section [2] of sample.odf

        例4:條件查詢。查詢字體為黑體的段落。

        SELECT paragraph FROM sample.docx Where font-

        Name =“黑體”

        2 ODQ 命令的解析

        ODQ 是非過程化的流式辦公文檔查詢語言,可以嵌入到其它高級語言中。圖3示意了ODQ 與應(yīng)用程序的集成框架。用戶通過應(yīng)用程序提交ODQ 查詢命令,ODQ 編譯器解析ODQ 命令,并從不同格式的流式辦公文檔中查詢結(jié)果。具體流程如圖3所示。

        圖3 ODQ 與應(yīng)用程序的集成框架

        首先,應(yīng)用程序?qū)⒂脩舻腛DQ 查詢命令提交給ODQ編譯器。詞法分析器識別出命令中的符號 (token),并進(jìn)行拼寫檢查,如果語句中的符號有拼寫錯(cuò)誤,給出提示。

        語法分析器進(jìn)行語法和語義檢查,根據(jù)公共文檔模型檢查ODQ 命令的路徑表達(dá)式是否正確,如果存在錯(cuò)誤,則拋出錯(cuò)誤信息,查詢不再往下執(zhí)行;如果語法和語義正確,則輸出查詢樹。

        代碼生成器包含轉(zhuǎn)換適配器的功能。代碼生成器在遍歷查詢樹的同時(shí),根據(jù)公共文檔模型中的map-to 關(guān)系,將針對公共文檔模型的查詢轉(zhuǎn)換為針對具體格式文檔的查詢,最后生成一系列的執(zhí)行計(jì)劃。這些執(zhí)行計(jì)劃通過調(diào)用目標(biāo)文檔格式的API,實(shí)現(xiàn)對具體文檔的查詢。

        例如用戶要查詢某個(gè)UOF文檔第1節(jié)中第1段的文本內(nèi)容,需要提交 “SELECTtext FROM paragraph [1]OF section[1]OF test.uot”命令,生成的執(zhí)行計(jì)劃的部分內(nèi)容如下:

        上述執(zhí)行計(jì)劃所涉及的接口和方法都在UOF API中定義,且遵循UOF API的調(diào)用規(guī)則。如果訪問OOXML 或ODF文檔,則執(zhí)行計(jì)劃需要調(diào)用OOXML API或ODF API中定義的接口和方法。由此可以看出,代碼生成器可以根據(jù)要查詢的文檔格式,生成相應(yīng)的執(zhí)行計(jì)劃。

        運(yùn)行時(shí)系統(tǒng)負(fù)責(zé)執(zhí)行計(jì)劃,從目標(biāo)文檔中讀取用戶查詢的內(nèi)容,并將結(jié)果返回給應(yīng)用程序。

        從上面的流程可以看出,ODQ 編譯器屏蔽了底層文檔格式的差異以及不同文檔格式API的操作細(xì)節(jié),從而為用戶提供統(tǒng)一的查詢接口。

        3 實(shí)驗(yàn)結(jié)果與分析

        依據(jù)上面提出的理論,本文基于ANTRL 語法分析工具實(shí)現(xiàn)了一個(gè)原型系統(tǒng),該原型系統(tǒng)接收用戶輸入的ODQ命令,并返回查詢結(jié)果。

        圖4和圖5示意了采用同一條命令分別從OOXML 文檔和UOF文檔中查詢第2段的文本內(nèi)容的實(shí)驗(yàn)結(jié)果。

        圖4 從OOXML文檔中查詢第2段的文本內(nèi)容

        從上面的結(jié)果可以看出,ODQ 可以使用相同的命令訪問不同格式的文檔,從而屏蔽了文檔格式和版本之間的差異,為用戶訪問不同格式的文檔提供了統(tǒng)一的接口。

        另外,由于語法類似于SQL,ODQ 命令簡單易用,與直接調(diào)用API相比,使用ODQ 可以使代碼更加精簡。下面分別采用ODQ、OOXML API和UOF API這3種方式,獲取文檔的前兩個(gè)段落的文本內(nèi)容,表2列舉了這3種方式的代碼。由此可以看出,與通過調(diào)用API訪問文檔的方式相比,完成同樣的功能,ODQ 命令更加精簡。

        圖5 從UOF文檔中查詢第2段的文本內(nèi)容

        表2 3種方式獲取文檔的前兩個(gè)段落文本內(nèi)容的代碼比較

        為了進(jìn)一步比較,下面選取有代表性的13個(gè)針對元數(shù)據(jù)、段落、節(jié)和文字表的常用查詢,并分別通過調(diào)用OOXML API、UOF API和ODQ 命令來實(shí)現(xiàn),表3列舉了分別采用3種方式所需的代碼量,由此可以看出,ODQ 命令可以精簡代碼,降低二次開發(fā)的難度。

        4 結(jié)束語

        本文針對流式辦公文檔的格式和版本眾多、平臺依賴、使用API訪問比較復(fù)雜的問題,提出了針對流式辦公文檔的查詢語言O(shè)DQ。ODQ 通過本體構(gòu)建公共文檔模型,屏蔽不同文檔格式和版本之間的差異,并為用戶查詢不同格式的文檔提供統(tǒng)一的接口。實(shí)驗(yàn)結(jié)果證明ODQ 的命令簡單易用,獨(dú)立于平臺和其它高級語言,降低了用戶二次開發(fā)的難度,容易與各種應(yīng)用集成,從而實(shí)現(xiàn)辦公應(yīng)用和數(shù)據(jù)處理的分離。

        表3 使用OOXML API、UOF API和ODQ 的代碼量比較

        ODQ 可以與Web Service集成,實(shí)現(xiàn)網(wǎng)絡(luò)辦公文檔的遠(yuǎn)程訪問,為云計(jì)算和網(wǎng)絡(luò)化辦公提供基礎(chǔ),為針對 “大數(shù)據(jù)”中半結(jié)構(gòu)化文檔的查詢提供一種解決思路。

        目前,ODQ 的查詢 (SELECT)功能較為完善,但部分查詢命令的效率還有待提高,增 (INSERT)、刪 (DELETE)、改 (UPDATE)功能還有待完善,這是后續(xù)的研究內(nèi)容。

        [1]ISO/IEC 29500:2008,Information technology-office open XML file formats[S].

        [2]ISO/IEC 26300:2006,Information technology-open document format for office applications(OpenDocument)v1.0[S].

        [3]GB/T 20916-2007,Specification for the Chinese office file format[S](in Chinese).[GB/T 20916-2007,中文辦公軟件文檔格式規(guī)范 [S].]

        [4]LI Xiaoqing,LIAO Husheng,ZHANG Xiaobo.Survey of XQuery implementation [J].Computer Science,2012,39(3):9-18 (in Chinese).[李小青,廖湖聲,張曉博.XQuery實(shí)現(xiàn)技術(shù)研究綜述 [J].計(jì)算機(jī)科學(xué),2012,39 (3):9-18.]

        [5]SUN Qingguo,ZHU Wei,LIU Huajun,et al.Data integration of open document format on XQuery [J].Computer Sys-tems Applications,2008 (7):32-34 (in Chinese). [孫清國,朱瑋,劉華軍,等.基于XQuery 的ODF 文檔的數(shù)據(jù)集成[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008 (7):32-34.]

        [6]TANG Yan,TIAN Ying’ai,LI Ning,et al.Analysis of methods to access XML-based fluid office documents [J].Computer Engineering & Design,2014,35 (4):1458-1464(in Chinese).[唐燕,田英愛,李寧,等.幾種基于XML 的流式文檔訪問方式分析 [J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(4):1458-1464.]

        [7]LING Feng,LIU Xuhong,TIAN Ying’ai.Flatten design of open document query [C]//The International Conference on Cyberspace Technology,2013.

        [8]LI Ning,LIANG Qi,SHI Yunmei.The function of format information in document understanding [J].Journal of Beijing Information Science and Technology University,2012,27(6):1-7 (in Chinese).[李寧,梁琦,施運(yùn)梅.格式信息在文檔理解中的作用 [J].北京信息科技大學(xué)學(xué)報(bào) (自然科學(xué)版),2012,27 (6):1-7.]

        [9]Claudio Carpineto,Giovanni Romano.A survey of automatic query expansion in information retrieval[J].ACM Computing Surveys,2012,44 (1):1-50.

        [10]YUAN Liu,LI Zhanhuai,CHEN Shiliang.Ontology-based annotation for deep web data[J].Journal of Software,2008,19 (2):237-245 (in Chinese). [袁 柳,李 戰(zhàn) 懷,陳 世 亮.基于本體的Deep Web 數(shù)據(jù)標(biāo)注 [J].軟件學(xué)報(bào),2008,19(2):237-245.]

        猜你喜歡
        功能模型
        一半模型
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達(dá)功能
        3D打印中的模型分割與打包
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        国产精品情侣呻吟对白视频| 亚洲AV成人无码天堂| 亚洲av色香蕉第一区二区三区| 中文字幕高清不卡视频二区| 久久久久九九精品影院| 亚洲欧洲偷自拍图片区| 九九久久国产精品大片| 亚洲av中文字字幕乱码软件| 蜜臀久久99精品久久久久久| 日本成本人三级在线观看| 亚洲丁香五月激情综合| 一区二区在线观看视频亚洲| 亚洲av福利天堂一区二区三| 好日子在线观看视频大全免费动漫| 无码日日模日日碰夜夜爽| 人妻中文字幕一区二区三区| 无遮挡激情视频国产在线观看| 欧美最猛性xxxxx免费| 欧美日韩中文字幕久久伊人| 国产盗摄一区二区三区av| 久久久99精品成人片| 一区二区传媒有限公司| 久久熟女五十路| 亚洲福利二区三区四区| 少妇激情一区二区三区视频| 91视频88av| 亚洲产在线精品亚洲第一页| 少妇激情av一区二区三区| 欧美日韩中文国产一区发布| 国产成人cao在线| 蜜乳一区二区三区亚洲国产| 最新日本一道免费一区二区 | 91福利视频免费| 国产大学生自拍三级视频| 麻豆文化传媒精品一区观看 | 国产一级毛片AV不卡尤物| 黄片一级二级三级四级| 成人片黄网站a毛片免费| 国产午夜福利短视频| 国产高潮精品一区二区三区av| 偷拍夫妻视频一区二区|