本發(fā)明涉及時態(tài)信息技術技術領域,特別是涉及一種不確定語義時態(tài)查詢中間件的方法及裝置。
背景技術:
目前,時態(tài)信息技術的發(fā)展一直伴隨著數據庫和信息系統(tǒng)的發(fā)展而發(fā)展,但是由于缺乏完備的的系統(tǒng)理論支撐,目前時態(tài)信息技術仍處于未成熟階段,現有技術中還沒有如何進行時態(tài)查詢的方式,邏輯作為時態(tài)知識表達的重要手段,邏輯學研究在系統(tǒng)化方面仍然是一個待解決的問題。所以如何實現滿足時態(tài)查詢需求是亟待解決的問題。
技術實現要素:
本發(fā)明的目的是提供一種不確定語義時態(tài)查詢中間件的方法及裝置,以實現滿足時態(tài)查詢需求。
為解決上述技術問題,本發(fā)明提供一種不確定語義時態(tài)查詢中間件的方法,包括:
數據庫連接驅動模塊,用于與非時態(tài)數據庫管理系統(tǒng)建立連接;
時態(tài)數據庫配置模塊,用于對非時態(tài)數據庫管理系統(tǒng)中數據庫表格的字段參數進行配置,完成從類型到子結構邏輯的句法映射;
時態(tài)SQL語句解析模塊,用于從數據庫表格中提取具有時態(tài)特征的SQL語句;
時態(tài)關系運算模塊,用于對所述SQL語句進行運算,得出時態(tài)查詢的查詢結果。
優(yōu)選的,所述數據庫連接驅動模塊用于采用Java數據庫連接方式與非時態(tài)數據庫管理系統(tǒng)建立連接。
優(yōu)選的,時態(tài)SQL語句解析模塊還包括:
約束函數提取單元,用于從具有時態(tài)特征的SQL語句中提取出時態(tài)查詢所對應的約束函數。
優(yōu)選的,時態(tài)關系運算模塊,用于通過子結構邏輯對應的時間代數模型對所述SQL語句進行運算,完成帶有不確定性的三值語句演算,得出時態(tài)查詢的查詢結果。
本發(fā)明還提供一種不確定語義時態(tài)查詢中間件的方法,用于所述裝置,包括:
數據庫連接驅動模塊與非時態(tài)數據庫管理系統(tǒng)建立連接;
時態(tài)數據庫配置模塊對非時態(tài)數據庫管理系統(tǒng)中數據庫表格的字段參數進行配置,完成從類型到子結構邏輯的句法映射;
時態(tài)SQL語句解析模塊從數據庫表格中提取具有時態(tài)特征的SQL語句;
時態(tài)關系運算模塊對所述SQL語句進行運算,得出時態(tài)查詢的查詢結果。
優(yōu)選的,數據庫連接驅動模塊采用Java數據庫連接方式與非時態(tài)數據庫管理系統(tǒng)建立連接。
優(yōu)選的,時態(tài)SQL語句解析模塊從數據庫表格中提取具有時態(tài)特征的SQL語句之后,還包括:
從具有時態(tài)特征的SQL語句中提取出時態(tài)查詢所對應的約束函數。
優(yōu)選的,時態(tài)關系運算模塊對所述SQL語句進行運算,得出時態(tài)查詢的查詢結果,包括:
時態(tài)關系運算模塊通過子結構邏輯對應的時間代數模型對所述SQL語句進行運算,完成帶有不確定性的三值語句演算,得出時態(tài)查詢的查詢結果。
本發(fā)明所提供的一種不確定語義時態(tài)查詢中間件的方法及裝置,數據庫連接驅動模塊,用于與非時態(tài)數據庫管理系統(tǒng)建立連接;時態(tài)數據庫配置模塊,用于對非時態(tài)數據庫管理系統(tǒng)中數據庫表格的字段參數進行配置,完成從類型到子結構邏輯的句法映射;時態(tài)SQL語句解析模塊,用于從數據庫表格中提取具有時態(tài)特征的SQL語句;時態(tài)關系運算模塊,用于對所述SQL語句進行運算,得出時態(tài)查詢的查詢結果??梢姡瑫r態(tài)數據庫配置模塊通過對指定數據表格進行字段參數配置,完成從類型(type)到子結構邏輯的句法映射,從而配置后的數據庫表格可以支持時態(tài)查詢操作,時態(tài)SQL語句解析模塊將SQL語句提取、解析為具有時態(tài)特征的SQL語句,即可由非時態(tài)數據庫管理系統(tǒng)直接執(zhí)行的普通SQL語句,如此最后對所述SQL語句進行運算,得出時態(tài)查詢的查詢結果,滿足時態(tài)查詢需求。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發(fā)明所提供的一種不確定語義時態(tài)查詢中間件的裝置的結構示意圖;
圖2為不確定語義時態(tài)查詢中間件的原理框架圖;
圖3為時態(tài)查詢的13種時態(tài)區(qū)間運算示意圖;
圖4為不確定語義時態(tài)查詢中間件的時態(tài)查詢流程示意圖;
圖5為本發(fā)明所提供的一種不確定語義時態(tài)查詢中間件的方法的流程圖。
具體實施方式
本發(fā)明的核心是提供一種不確定語義時態(tài)查詢中間件的方法及裝置,以實現滿足時態(tài)查詢需求。
為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參考圖1,圖1為本發(fā)明所提供的一種不確定語義時態(tài)查詢中間件的裝置的結構示意圖,該裝置包括:
數據庫連接驅動模塊101,用于與非時態(tài)數據庫管理系統(tǒng)建立連接;
時態(tài)數據庫配置模塊102,用于對非時態(tài)數據庫管理系統(tǒng)中數據庫表格的字段參數進行配置,完成從類型到子結構邏輯的句法映射;
時態(tài)SQL語句解析模塊103,用于從數據庫表格中提取具有時態(tài)特征的SQL語句;
時態(tài)關系運算模塊104,用于對SQL語句進行運算,得出時態(tài)查詢的查詢結果。
可見,該裝置中,時態(tài)數據庫配置模塊通過對指定數據表格進行字段參數配置,完成從類型(type)到子結構邏輯的句法映射,從而配置后的數據庫表格可以支持時態(tài)查詢操作,時態(tài)SQL語句解析模塊將SQL語句提取、解析為具有時態(tài)特征的SQL語句,即可由非時態(tài)數據庫管理系統(tǒng)直接執(zhí)行的普通SQL語句,如此最后對所述SQL語句進行運算,得出時態(tài)查詢的查詢結果,滿足時態(tài)查詢需求。
基于上述裝置,具體的,所述數據庫連接驅動模塊用于采用Java數據庫連接方式與非時態(tài)數據庫管理系統(tǒng)建立連接。
進一步的,時態(tài)SQL語句解析模塊還包括:約束函數提取單元,用于從具有時態(tài)特征的SQL語句中提取出時態(tài)查詢所對應的約束函數。
具體的,時態(tài)關系運算模塊,用于通過子結構邏輯對應的時間代數模型對所述SQL語句進行運算,完成帶有不確定性的三值語句演算,得出時態(tài)查詢的查詢結果。
其中,三值語句為True、False和Uncertain語句。
可見,數據庫連接驅動模塊通過Java數據庫連接方式即JDBC方式與非時態(tài)數據庫管理系統(tǒng)成功建立連接之后,時態(tài)數據庫配置模塊通過對指定數據表格進行字段參數配置,完成從類型(type)到子結構邏輯的句法映射,從而配置后的數據庫表格可以支持時態(tài)查詢操作;時態(tài)SQL語句解析模塊通過解析獲取的具有時態(tài)查詢特征的SQL語句,提取出時態(tài)查詢所特有的約束函數,并將處理結果交付給不確定性語義的時態(tài)關系運算模塊,最后,通過對應于子結構邏輯的時間代數模型對時態(tài)關系函數進行運算,并完成帶不確定性的三值語義(True、False和Uncertain)演算,得出時態(tài)查詢的最終查詢結果。
其中,數據庫連接驅動模塊通過JDBC方式與非時態(tài)數據庫管理系統(tǒng)建立連接。時態(tài)數據庫配置模塊通過屬性-類型-時間集映射的方式,配置時態(tài)數據庫數據表格屬性之間的約束推導關系參數,完成從類型(type)到子結構邏輯的句法映射,使得傳統(tǒng)非時態(tài)數據庫管理系統(tǒng)中完成配置后的數據表格支持時態(tài)查詢操作。時態(tài)SQL語句解析模塊提取具有時態(tài)特征的SQL語句中時態(tài)查詢所特有的約束函數。時態(tài)關系運算模塊,通過子結構邏輯對時態(tài)SQL進行運算,得出時態(tài)查詢的最終查詢結果。本裝置實現了在滿足了時態(tài)查詢需求的同時,時間復雜度僅為O(n)。
詳細的,時態(tài)數據庫配置模塊具體完成對主鍵字段的參數配置,對推導出的主鍵字段(約束主鍵)的參數配置,對時間約束字段的參數配置。時態(tài)數據庫配置模塊通過Key-Value方式,對非時態(tài)數據庫中的數據表格進行必要的參數設置,使得非時態(tài)數據庫的數據表格能夠支持時態(tài)查詢,關系約束參數具體包括:1)開始時間(StartTime);2)結束時間(EndTime);3)優(yōu)先級n;4)推導約束,以上參數變量值映射入相應的子結構邏輯模型的時間域、屬性域。
如圖2所示,本發(fā)明的最底層模塊為數據庫連接模塊,該模塊通過JDBC方式與非時態(tài)數據庫管理系統(tǒng)建立連接;成功建立連接之后,上一層模塊即時態(tài)數據庫配置模塊方可以激活;時態(tài)數據庫配置模塊通過Key-Value方式,對非時態(tài)數據庫的數據表格進行必要的參數設置,使得非時態(tài)數據庫的數據表格具備支持時態(tài)查詢的充分條件,具體包括對“開始時間(StartTime)”、“結束時間(EndTime)”、“優(yōu)先級n”,和“推導約束”的參數設置,以上參數變量值映射入相應的子結構邏輯模型的時間域、屬性域;時態(tài)SQL語句解析模塊采用正則表達式將SQL語句提取、解析為可由非時態(tài)數據庫管理系統(tǒng)直接執(zhí)行的普通SQL語句和時態(tài)查詢所特有的約束函數,所述的約束函數包括:Valid(時間約束函數)和13種時態(tài)關系運算,如圖3所示,分別為:Before、After、During、Contains、Overlaps、Overlapped-by、Meets、Met-by、Starts、Started-by、Finishes、Finished-by和Equals,約束函數交付于不確定性語義的時態(tài)關系運算模塊處理;最后,通過子結構邏輯對所述的時態(tài)SQL語句解析模塊所處理后的約束函數進行時態(tài)關系運算,并對不確定性三值語義(True、False和Uncertain)進行處理,以此得出最終的時態(tài)查詢結果,所述時態(tài)關系運算操作均為線性時間運算比較,其時間復雜度為O(n)。
如圖4所示,時態(tài)查詢邏輯流程分兩步進行,第1步為傳統(tǒng)的非時態(tài)查詢,在步驟1中時態(tài)知識部分進行保留,第2步為時態(tài)查詢,完成從類型(type)到子結構邏輯的向量集半群的映射(μ:Tp→Vec(W)),對時間進行運算和比較,而對于時間的運算和比較又可劃分為如圖3所示的13種類型進行。
時態(tài)SQL語句解析模塊采用正則表達式將SQL語句提取、解析為可由非時態(tài)數據庫管理系統(tǒng)直接執(zhí)行的普通SQL語句和時態(tài)查詢所特有的關系約束函數,所述的關系約束函數包括:Valid(時間約束函數)和13種時態(tài)關系運算,分別為:Equals、Before、After、During、Contains、Overlaps、Overlapped-by、Meets、Met-by、Starts、Started-by、Finishes和Finished-by,其中:
Equals:判斷兩個時間向量集是否等價;
Before and After:判斷一個時間向量集是否在另一個向量集之前、之后;
During and Contains:判斷一個時間向量集是否包含(被包含于)另一個時間向量集;
Overlaps and Overlapped-by:判斷一個時間向量集與另一個時間向量集是否有交集;
Meets and Met-by:判斷一個時間向量集與另一個時間向量集是否始末相接;
Starts and Started-by:判斷一個時間向量集是否包含(被包含于)另一個時間向量集,并且兩個時間向量集的起始時間點相同;
Finishes and Finished-by:判斷一個時間向量集是否包含(被包含于)另一個時間向量集,并且兩個時間向量集的結束時間點相同。
時態(tài)關系運算模塊通過子結構邏輯系統(tǒng)對時態(tài)約束函數進行關系運算,將有效時間(Valid)的表示和運算增加至子結構邏輯模型中,并且在句法邏輯中抽離對時間屬性的表示,從而可以對時態(tài)知識進行準確的表達,并能處理不確定性三值語義,由于時態(tài)關系運算操作均為線性時間運算比較,即對連續(xù)時間或非連續(xù)時間段進行線性比較,其時間復雜度僅為O(n),降低了時態(tài)關系運算的復雜度。
構成子結構邏輯系統(tǒng)的公式具體為:
公理:
結構規(guī)則如下:
操作規(guī)則如下:
請參考圖5,圖5為本發(fā)明所提供的一種不確定語義時態(tài)查詢中間件的方法的流程圖,用于上述不確定語義時態(tài)查詢中間件的裝置,該方法包括:
S11:數據庫連接驅動模塊與非時態(tài)數據庫管理系統(tǒng)建立連接;
S12:時態(tài)數據庫配置模塊對非時態(tài)數據庫管理系統(tǒng)中數據庫表格的字段參數進行配置,完成從類型到子結構邏輯的句法映射;
S13:時態(tài)SQL語句解析模塊從數據庫表格中提取具有時態(tài)特征的SQL語句;
S14:時態(tài)關系運算模塊對SQL語句進行運算,得出時態(tài)查詢的查詢結果。
可見,該方法中,時態(tài)數據庫配置模塊通過對指定數據表格進行字段參數配置,完成從類型(type)到子結構邏輯的句法映射,從而配置后的數據庫表格可以支持時態(tài)查詢操作,時態(tài)SQL語句解析模塊將SQL語句提取、解析為具有時態(tài)特征的SQL語句,即可由非時態(tài)數據庫管理系統(tǒng)直接執(zhí)行的普通SQL語句,如此最后對所述SQL語句進行運算,得出時態(tài)查詢的查詢結果,滿足時態(tài)查詢需求。
基于上述方法,具體的,數據庫連接驅動模塊采用Java數據庫連接方式與非時態(tài)數據庫管理系統(tǒng)建立連接。
進一步的,時態(tài)SQL語句解析模塊從數據庫表格中提取具有時態(tài)特征的SQL語句之后,還包括:從具有時態(tài)特征的SQL語句中提取出時態(tài)查詢所對應的約束函數。
具體的,步驟S14的過程具體為:時態(tài)關系運算模塊通過子結構邏輯對應的時間代數模型對所述SQL語句進行運算,完成帶有不確定性的三值語句演算,得出時態(tài)查詢的查詢結果。
可見,數據庫連接驅動模塊與非時態(tài)數據庫管理系統(tǒng)成功建立連接之后,時態(tài)數據庫配置模塊通過對指定數據表格進行字段參數配置,完成從類型(type)到子結構邏輯的句法映射;時態(tài)SQL語句解析模塊通過解析獲取的具有時態(tài)查詢特征的SQL語句,提取出時態(tài)查詢所特有的約束函數,并將處理結果交付給不確定性語義的時態(tài)關系運算模塊,最后,通過對應于子結構邏輯的時間代數模型對時態(tài)關系函數進行運算,并完成帶不確定性的三值語義(True、False和Uncertain)演算,以此得出時態(tài)查詢的最終結果,在滿足了時態(tài)查詢需求的同時,時間復雜度為O(n),主要應用于時態(tài)信息查詢技術領域,滿足時態(tài)數據庫查詢需求。
以上對本發(fā)明所提供的一種不確定語義時態(tài)查詢中間件的方法及裝置進行了詳細介紹。本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權利要求的保護范圍內。