全 立 新
(湖南財(cái)政經(jīng)濟(jì)學(xué)院信息管理系, 長沙 410205)
?
SSE表達(dá)式處理機(jī)制研究
全 立 新
(湖南財(cái)政經(jīng)濟(jì)學(xué)院信息管理系, 長沙 410205)
摘要:語義Web服務(wù)搜索是語義Web服務(wù)應(yīng)用的核心技術(shù)之一。針對SSE表達(dá)式的運(yùn)用,提出一種基于關(guān)系數(shù)據(jù)庫的語義Web服務(wù)存儲方法,給出SSE語義條件表達(dá)式的推理機(jī)制、表達(dá)式轉(zhuǎn)換規(guī)則和生成語義Web服務(wù)檢索方法。實(shí)踐證明該語義表達(dá)式處理機(jī)制在一定范圍內(nèi)是可行有效的,語義Web服務(wù)開發(fā)人員可以利用語義條件表達(dá)式快速、準(zhǔn)確地獲取語義Web服務(wù)資源。
關(guān)鍵詞:Web服務(wù)搜索; 推理; 關(guān)系數(shù)據(jù)庫; 轉(zhuǎn)換規(guī)則
語義Web服務(wù)[1]是通過對Web服務(wù)賦予語義信息來支持OOS的軟件開發(fā)和應(yīng)用[2-5]。其中,在語義Web服務(wù)搜索研究領(lǐng)域,如何利用本體技術(shù)應(yīng)用于語義Web服務(wù)的搜索,是一個(gè)非常重要且有意義的課題[6-8]。本次研究主要針對文獻(xiàn)[9]提出的搜索服務(wù)表達(dá)式、語義Web服務(wù)搜索的關(guān)鍵問題和核心技術(shù)進(jìn)行深入討論。
1SSE表達(dá)式的處理過程
編寫搜索服務(wù)表達(dá)式的目的在于表達(dá)用戶對語義Web服務(wù)資源的需求。SSE表達(dá)式的處理過程是:首先,對SSE表達(dá)式進(jìn)行良構(gòu)性檢查,獲得良構(gòu)的SSE表達(dá)式;然后,將良構(gòu)的SSE表達(dá)式通過轉(zhuǎn)換規(guī)則和推理轉(zhuǎn)換成描述邏輯的表達(dá)式;最后,通過映射規(guī)則,生成語義Web服務(wù)資源搜索的查詢語句(SQL語句)。處理過程如圖1所示。
圖1 SSE表達(dá)式的處理過程
2SSE表達(dá)式的推理過程
SSE表達(dá)式的推理包含了對概念、TBox、ABox的推理及對TBox & ABox的共同推理[10-12]。因SSE表達(dá)式中涉及的概念都來自領(lǐng)域本體的概念,故對概念和TBox的推理結(jié)果具有一致性。對ABox的推理可以歸結(jié)為實(shí)例檢查問題。對TBox & ABox的共同推理是在保證所有概念可滿足且所有概念間包含關(guān)系成立的基礎(chǔ)之上的,其推理結(jié)果給出的是個(gè)體是否滿足特定的關(guān)系。SSE表達(dá)式的推理主要包括服務(wù)屬性對象表達(dá)式Sexp的推理、本體對象表達(dá)式Oexp的推理、邏輯表達(dá)式Lexp的推理和SSE表達(dá)式整體推理等操作。
為方便說明,用p表示服務(wù)屬性表達(dá)式中指定的屬性,函數(shù)β(p)表示服務(wù)屬性所引用的本體概念,函數(shù)δ(p)表示服務(wù)屬性所引用的本體實(shí)例,c是本體中定義的概念,i是本體實(shí)例,設(shè)r為表達(dá)式的求值結(jié)果。
2.1服務(wù)屬性對象表達(dá)式Sexp的推理過程
根據(jù)語義運(yùn)算符的分類,把服務(wù)屬性對象表達(dá)式又細(xì)分為語義擴(kuò)展、語義收縮、語義等價(jià)、語義概念化和語義實(shí)例化等5種表達(dá)式。其中,語義擴(kuò)展、語義收縮、語義等價(jià)的推理均為包含關(guān)系的推理,需要對服務(wù)屬性或子屬性對象引用的概念與TBox & ABox中的概念進(jìn)行推理。語義概念化和語義實(shí)例化的推理均為實(shí)例檢測關(guān)系的推理,需要對服務(wù)屬性對象引用的概念與TBox & ABox中的概念進(jìn)行推理。每種表達(dá)式的推理操作解釋見表1。
表1 語義Web服務(wù)屬性對象表達(dá)式推理操作解釋
2.2本體對象表達(dá)式Oexp的推理過程
根據(jù)本體對象表達(dá)式中本體運(yùn)算符和操作數(shù)的不同,本體對象表達(dá)式的推理分為本體概念語義加、本體實(shí)例語義加、本體概念語義減和本體概念實(shí)例語義減等4種表達(dá)式。其中,前3種表達(dá)式的推理是包含關(guān)系的推理,需要將表達(dá)式中指定概念與TBox&ABox中的概念進(jìn)行推理,本體概念實(shí)例語義減的推理是實(shí)例檢測關(guān)系的推理。每種表達(dá)式的推理操作解釋見表2。
表2 本體對象表達(dá)式的推理
2.3SSE混合表達(dá)式的推理過程
經(jīng)過對服務(wù)屬性對象表達(dá)式和本體對象表達(dá)式的推理操作后,對SSE表達(dá)式的整體推理主要是從全局上判斷語義條件表達(dá)式的各個(gè)組成成分合并后是否存在矛盾和錯(cuò)誤。主要的推理操作包含可滿足關(guān)系的推理、包含關(guān)系的推理。
邏輯表達(dá)式的構(gòu)成元素為服務(wù)屬性對象表達(dá)式,不涉及具體的基于描述邏輯的推理操作。服務(wù)屬性對象表達(dá)式的推理已在前面進(jìn)行了討論,邏輯表達(dá)式包含的語義信息的推理應(yīng)該從SSE表達(dá)式全局角度進(jìn)行。
3SSE表達(dá)式的轉(zhuǎn)換規(guī)則
SSE表達(dá)式轉(zhuǎn)換的目標(biāo)就是按一定規(guī)則,將它轉(zhuǎn)換成符合描述邏輯語法規(guī)范的表達(dá)形式。轉(zhuǎn)換的最終目標(biāo)是通過描述邏輯表達(dá)式得到搜索具體的Web服務(wù)的匹配操作描述。
3.1SSE表達(dá)式組成成分的轉(zhuǎn)換規(guī)則
3.1.1服務(wù)屬性對象的轉(zhuǎn)換規(guī)則
把SSE表達(dá)式中的服務(wù)屬性語法成分轉(zhuǎn)換成描述邏輯中的對應(yīng)概念,語義關(guān)系轉(zhuǎn)換成描述邏輯中的關(guān)系,轉(zhuǎn)換規(guī)則見表3。
表3 服務(wù)屬性對象及關(guān)系轉(zhuǎn)換規(guī)則對照表
OWL-S模型中的概念沒有全部列出,轉(zhuǎn)換規(guī)則同上,即轉(zhuǎn)換成TBox中的對應(yīng)概念。
3.1.2本體對象的轉(zhuǎn)換規(guī)則
SSE表達(dá)式中引用的領(lǐng)域本體概念轉(zhuǎn)換成描述邏輯中對應(yīng)的概念,領(lǐng)域本體個(gè)體轉(zhuǎn)換成描述邏輯中對應(yīng)的實(shí)例。
3.1.3語義運(yùn)算符的轉(zhuǎn)換規(guī)則
(1)語義擴(kuò)展“》”、語義收縮“《”和語義等價(jià)“?”的轉(zhuǎn)換規(guī)則:將SSE表達(dá)式中的這3種語義運(yùn)算符轉(zhuǎn)換成謂詞“∪”連接的描述邏輯中的TBox表達(dá)式,TBox項(xiàng)由運(yùn)算符指定的本體概念或?qū)嵗?jīng)過推理后得到的本體概念(集)或?qū)嵗?集)確定。
(2) 語義概念化“◇”運(yùn)算符轉(zhuǎn)換規(guī)則:SSE表達(dá)式中的語義概念化運(yùn)算符將轉(zhuǎn)換成描述邏輯中的ABox中包含的表達(dá)式,表達(dá)式項(xiàng)由運(yùn)算符二中指定的本體實(shí)例經(jīng)過推理后得到的本體概念(集)確定。
(3) 語義實(shí)例化“◆”運(yùn)算符轉(zhuǎn)換規(guī)則:SSE表達(dá)式中的語義實(shí)例化運(yùn)算符將轉(zhuǎn)換成描述邏輯中的TBox表達(dá)式,TBox項(xiàng)由實(shí)例化運(yùn)算符指定的本體概念經(jīng)過推理后得到的本體實(shí)例或?qū)嵗_定。
3.1.4本體對象運(yùn)算符的轉(zhuǎn)換規(guī)則
SSE表達(dá)式中的本體對象運(yùn)算符(語義并“∪”,語義差“-”)將轉(zhuǎn)換成描述邏輯中對應(yīng)的概念,概念的值由本體對象運(yùn)算符中指定的本體對象經(jīng)過推理后得到的本體對象(集)確定。
3.1.5邏輯運(yùn)算符的轉(zhuǎn)換規(guī)則
SSE表達(dá)式中的邏輯運(yùn)算符將轉(zhuǎn)換成描述邏輯中的對應(yīng)謂詞,即邏輯非“”轉(zhuǎn)換成“”,邏輯與“∧”轉(zhuǎn)換成“∩”,邏輯或“∨”轉(zhuǎn)換成“∪”。
3.2SSE表達(dá)式的轉(zhuǎn)換規(guī)則
3.2.1服務(wù)屬性對象表達(dá)式的轉(zhuǎn)換規(guī)則
根據(jù)語義運(yùn)算符的轉(zhuǎn)換規(guī)則將服務(wù)屬性對象表達(dá)式項(xiàng)用描述邏輯的邏輯聯(lián)接詞替換,得到滿足描述邏輯語法規(guī)則的表述式形式,具體轉(zhuǎn)換規(guī)則如表4所示。
表4 服務(wù)屬性對象表達(dá)式的轉(zhuǎn)換規(guī)則
服務(wù)屬性表達(dá)式按表中規(guī)則轉(zhuǎn)換后不再進(jìn)行分解,它也可作為邏輯表達(dá)式的組成項(xiàng)。
3.2.2本體對象表達(dá)式的轉(zhuǎn)換規(guī)則
本體對象表達(dá)式轉(zhuǎn)換后的結(jié)果是本體對象(集)或本體對象的實(shí)例集,具體轉(zhuǎn)換規(guī)則有4個(gè)。
(1)c=c1∪c2,iff{c|c∈C∧c1?C∧c2?C}。其中,C為本體中定義的概念集合,c為轉(zhuǎn)換結(jié)果??梢哉J(rèn)為本體對象表達(dá)式c1∪c2的轉(zhuǎn)換結(jié)果為:c1∪c2運(yùn)算后能得到的本體概念c。
(2)c=i1∪i2,iff{c|c∈C∧i1?c{i1}∧i2?c{i2}}。其中,C為本體中定義的概念集合,c為轉(zhuǎn)換結(jié)果??梢哉J(rèn)為本體對象表達(dá)式i1∪i2的轉(zhuǎn)換結(jié)果為:i1∪i2運(yùn)算后能得到的本體概念c。
(3)c=c1-c2,iff{c|c∈C∧c∈(c1∧c2)}。其中,C為本體中定義的概念集合,c為轉(zhuǎn)換結(jié)果??梢哉J(rèn)為本體對象表達(dá)式c1-c2的轉(zhuǎn)換結(jié)果為:c1-c2運(yùn)算后能得到的本體概念c。
(4)i=c1-i1,iff{i|i∈I∧{i∈I|(c1{i}∧i1)}}。其中,I為本體中定義的實(shí)例集合,i為轉(zhuǎn)換結(jié)果。可以認(rèn)為本體對象表達(dá)式c1-i1的轉(zhuǎn)換結(jié)果為:c1-i1運(yùn)算后能得到的本體實(shí)例集。
3.2.3邏輯表達(dá)式的轉(zhuǎn)換規(guī)則
邏輯表達(dá)式轉(zhuǎn)換是將相應(yīng)的表達(dá)式項(xiàng)用描述邏輯的邏輯聯(lián)接詞進(jìn)行聯(lián)接運(yùn)算。具體規(guī)則見表5。
表5 邏輯表達(dá)式轉(zhuǎn)換規(guī)則
3.2.4SSE表達(dá)式的轉(zhuǎn)換示例
檢索所有服務(wù)分類為娛樂服務(wù),但又不能是移動視頻的Web服務(wù)資源,其SSE表達(dá)式為:
語義解釋:查找Web服務(wù)資源中服務(wù)分類是“娛樂服務(wù)”概念或等價(jià)的概念;且娛樂服務(wù)概念的實(shí)例不是“優(yōu)酷視頻”所屬概念的所有Web服務(wù)資源。
將其轉(zhuǎn)換成描述邏輯表達(dá)式(稱為表達(dá)式1)為:
Root∩hasnnotation.( ServiceCategory∩ ontoRef.(《娛樂服務(wù))) ∩ hasAnnotation.( ServiceCategory∩ ontoRef.((移動視頻)))
通過推理得知,領(lǐng)域本體中概念“娛樂服務(wù)”的子概念有“移動視頻”、“移動游戲"和“移動視聽”等。因此,該SSE表達(dá)式轉(zhuǎn)換后的描述邏輯表達(dá)式(稱為表達(dá)式2)為:
Root ∩hasnnotation.(( ServiceCategory∩ontoRef.移動視頻) ∪ (ServiceCategory∩ontoRef.移動游戲) ∪(ServiceCategory∩ontoRef.移動視聽)) ∩ hasnnotation.( ServiceCategory∩ontoRef.((移動視頻)))。
4服務(wù)本體關(guān)系數(shù)據(jù)庫模式的設(shè)計(jì)原則
用關(guān)系數(shù)據(jù)庫存儲Web服務(wù)本體信息,利用數(shù)據(jù)庫函數(shù)、觸發(fā)器和查詢等功能實(shí)現(xiàn)推理和Web服務(wù)查詢。為了保證OWL-S的兼容性、服務(wù)查詢效率、Service本體的可擴(kuò)展性和語義完整性等要求,給出一種基于關(guān)系數(shù)據(jù)庫的語義Web服務(wù)本體混合存儲模式。受限于篇幅,此處只給出主要的設(shè)計(jì)原則。
主要原則和思想有5點(diǎn):(1) 設(shè)計(jì)的關(guān)系存儲模式與OWL-S模型兼容,即數(shù)據(jù)庫可導(dǎo)入導(dǎo)出OWL-S文件。(2) 本體元素分類要合理。除領(lǐng)域本體之外,把Web服務(wù)也看作是本體。它們主要描述的是類、屬性、實(shí)例和它們之間的關(guān)系。在設(shè)計(jì)存儲模式時(shí)將這些語義信息分開存儲,同時(shí)要保證在關(guān)系數(shù)據(jù)庫中能夠清晰地體現(xiàn)本體的語義信息。(3) 能支持高效的語義Web服務(wù)查詢。存儲模式的主要任務(wù)之一就是查詢語義Web服務(wù),故對語義Web服務(wù)實(shí)例單獨(dú)建表,對查詢頻率比較高的服務(wù)屬性以及關(guān)系單獨(dú)建表,查詢時(shí)表與表之間的連接盡量少。(4) 語義信息完整。存儲模式不僅要完整的存儲語義Web服務(wù)及相關(guān)領(lǐng)域本體的顯式語義,而且又要能存儲將本體推理得到的部分語義信息。如Web服務(wù)或領(lǐng)域概念之間的等價(jià)關(guān)系。概念的定義和推理要分離,要保證本體的推理效率比較高且語義信息完備。(5) 模式穩(wěn)定性強(qiáng)。設(shè)計(jì)的存儲模式不會隨著語義Web服務(wù)和領(lǐng)域本體規(guī)模的變化而變化。
5服務(wù)檢索操作的生成
按照轉(zhuǎn)換規(guī)則可以得到符合描述邏輯語法規(guī)范的表達(dá)形式(簡稱為DL-SSE)。首先定義DL-SSE的4條映射規(guī)則,然后再說明如何從DL-SSE生成具體的SQL語句。為了獲得語義條件表達(dá)式的具體服務(wù)搜索SQL語句,需定義如下4條映射規(guī)則:
規(guī)則1:DL-SSE中的“Root”表示對語義Web服務(wù)實(shí)例進(jìn)行檢索操作結(jié)果集,不映射任何SQL語句。
規(guī)則2:DL-SSE中的關(guān)系“hasAnnotation” 表示對根據(jù)指定的語義Web服務(wù)屬性或?qū)傩缘淖訉傩詫ο髾z索語義Web服務(wù)實(shí)例。映射“SELECT * FROM View_Web_individual where 條件”語句。其中,“View_Web_individual”為語義Web服務(wù)實(shí)例視圖,“條件”部分由規(guī)則3給出。
規(guī)則3:DL-SSE中的“ontoRef”為指定關(guān)系“hasAnnotation”檢索的條件值,映射為規(guī)則2映射的 “Where子句”,即:Where 屬性對象名= ontoRef指定檢索條件值。映射為“where 屬性對象名in (select 屬性對象名 from 屬性對象關(guān)系名) ”。
規(guī)則4:DL-SSE中的“hasAnnotation”所屬的概念表達(dá)式的邏輯聯(lián)接詞或?qū)⑦M(jìn)行SQL的并(union)運(yùn)算,邏輯聯(lián)接詞與將進(jìn)行SQL的交(intersect)運(yùn)算,“ontoRef”指定值前如果有非運(yùn)算符則對應(yīng)的SQL不等于運(yùn)算符,如果沒有,則對應(yīng)的SQL等于運(yùn)算符。
下面用實(shí)例闡述上述生成規(guī)則的應(yīng)用。為了體現(xiàn)檢索次數(shù),對表達(dá)式2作等價(jià)展開得到表達(dá)式3:
Root∩hasnnotation.(( ServiceCategory∩ontoRef.移動視頻)∪ hasnnotation. (ServiceCategory∩ontoRef.移動游戲) ∪hasnnotation. (ServiceCategory ∩ontoRef.移動視聽) ∩hasnnotation.( ServiceCategory ∩ontoRef.((移動視頻)))
生成的SQL語句如下:
Select * from View_Web_individual where ServiceCategoryID in (select ServiceCategoryID from ServiceCategory where ServiceCategoryID = ′移動視頻′)
Union
Select * from View_Web_individual where ServiceCategoryID in (select ServiceCategoryID from ServiceCategory where ServiceCategoryID = ′移動游戲′)
Union
Select * from View_Web_individual where ServiceCategoryID in (select ServiceCategoryID from ServiceCategory where ServiceCategoryID = ′移動視聽′)
Intersect
Select * from View_Web_individual where ServiceCategoryID in (select ServiceCategoryID from ServiceCategory where ServiceCategoryID <>′移動視頻′)
其中,“View_Web_individual”為Web服務(wù)實(shí)例的SQL視圖名,“ServiceCategoryID”為“服務(wù)分類”概念編號,“ServiceCategory”為服務(wù)分類概念的關(guān)系表名。
6結(jié)語
以SSE表達(dá)式處理過程為主線,對其處理機(jī)制的各個(gè)環(huán)節(jié)進(jìn)行了深入探討。實(shí)踐證明本次給出的表達(dá)式轉(zhuǎn)換規(guī)則得到的語義描述邏輯表達(dá)式進(jìn)行優(yōu)化后,可進(jìn)一步提高Web服務(wù)檢索效率。受限于文章篇幅,文中沒有對語義表達(dá)式進(jìn)行良構(gòu)性檢查,基于關(guān)系數(shù)據(jù)庫的本體存儲推理等過程的具體實(shí)現(xiàn)細(xì)節(jié)需進(jìn)行深入地討論。
參考文獻(xiàn)
[1] TIM B L, HENDLER J, LASSILA O. The Semantic Web[J]. Scientific American,2001(5):34-43.
[2] 鄭鎂,羅磊,江平宇.基于語義Web的云設(shè)計(jì)服務(wù)平臺及關(guān)鍵技術(shù)[J].計(jì)算機(jī)集成制造系統(tǒng),2012(7):1426-1434.
[3] 王向輝,馮志勇.語義Web服務(wù)自動組合定義、方法及驗(yàn)證調(diào)查[J].計(jì)算機(jī)應(yīng)用研究,2014(5):1292-1301.
[4] 孫雨生,陳衛(wèi),胡娟.國內(nèi)語義Web服務(wù)研究進(jìn)展可視化分析[J].計(jì)算機(jī)與數(shù)字工程,2013(10):1556-1562.
[5] 張以文,張鈴,錢付蘭,等.云制造模式下云服務(wù)選擇算法研究[J].小型微型計(jì)算機(jī)系統(tǒng),2014(11):2390-2395.
[6] 柯昌博,黃志球,劉林源,等.面向約束的Web服務(wù)發(fā)現(xiàn)方法研究[J].軟件學(xué)報(bào),2012(10):2665-2678.
[7] 郭富祿,曾志浩,武岫緣.語義Web服務(wù)搜索研究概述[J].微型機(jī)與應(yīng)用,2013(21):4-6.
[8] 石敏,趙文棟,張磊.一種基于本體劃分的語義Web服務(wù)發(fā)現(xiàn)算法[J].計(jì)算機(jī)工程,2014(2):175-179.
[9] 全立新.一種基于描述邏輯的語義Web服務(wù)發(fā)現(xiàn)方法[J].重慶科技學(xué)院學(xué)報(bào)(自然科學(xué)版),2015,17(6):104-108.
[10] 常亮,劉進(jìn),古天龍,等.基于動態(tài)描述邏輯的語義Web服務(wù)組合[J].計(jì)算機(jī)學(xué)報(bào),2013(12):2468-2478.
[11] 黃寥若,沈慶國,張高明,等.基于本體知識推理的QoS區(qū)分服務(wù)策略精化方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2014(11):3782-3789.
[12] 侯超昆,李石君.基于領(lǐng)域本體的網(wǎng)頁主題相關(guān)度計(jì)算[J].計(jì)算機(jī)工程與設(shè)計(jì),2014(12):4344-4349.
Research on Mechanism of the SSE Semantic Condition Expression
QUANLixin
(Department of Information Management, Hunan University of Finance and Economics, Changsha 410205, China)
Abstract:Semantic Web services search is one of the core technologies of semantic Web services application. In the process of SSE expression application, this paper puts forward a kind of storage method to semantic Web services based on relational database, reasoning mechanism of the SSE expression, expression transformation rules and the SQL statement to create semantic Web services. Practice has proved that the semantic condition expression processing mechanism presented in this paper is feasible and effective in a certain range and the semantic Web service developers can use semantic condition expression to obtain the semantic Web service resources quickly and accurately.
Key words:web services search; reasoning; relational database; transformation rules
文獻(xiàn)標(biāo)識碼:A
文章編號:1673-1980(2016)01-0072-05
中圖分類號:TP393
作者簡介:全立新(1969 — ),男,湖南花垣人, 碩士,副教授,研究方向?yàn)檎Z義Web服務(wù)及應(yīng)用。
基金項(xiàng)目:湘科技計(jì)劃一般項(xiàng)目“動態(tài)電子商務(wù)環(huán)境下語義Web搜索的條件表達(dá)式研究”(2011FJ3119);湘教育科學(xué)“十二五”規(guī)劃2013年度一般資助課題“基于語義Web服務(wù)的教育資源云服務(wù)應(yīng)用研究”(XJK013BXX004)
收稿日期:2015-04-22