專利名稱:語義網(wǎng)絡(luò)服務(wù)文檔生成設(shè)備、方法及owl概念解析方法
語義網(wǎng)絡(luò)服務(wù)文檔生成設(shè)備、方法及OWL概念解析方法技術(shù)領(lǐng)域
本發(fā)明總體上涉及計(jì)算機(jī)領(lǐng)域,具體來說,涉及一種云計(jì)算技術(shù)。更具體而言,涉及一種生成語義網(wǎng)絡(luò)服務(wù)文檔的設(shè)備和方法,還涉及一種OWL概念解析方法。
背景技術(shù):
云計(jì)算時代一個主要的趨勢是調(diào)用來自不同云的網(wǎng)絡(luò)服務(wù)。但基于各種網(wǎng)絡(luò)服務(wù)的輸入輸出并沒有統(tǒng)一的規(guī)格。因此,在調(diào)用各種網(wǎng)絡(luò)服務(wù)時,首先需要理解各種網(wǎng)絡(luò)服務(wù)的輸入輸出的含義。但是,網(wǎng)絡(luò)服務(wù)的輸入輸出并不包含語義信息,也就是說這些網(wǎng)絡(luò)服務(wù)的輸入輸出只能由人工來判斷其含義,機(jī)器無法獲知其含義,因此無法自動對各種網(wǎng)絡(luò)服務(wù)加以自動整合。
因此,需要在網(wǎng)絡(luò)服務(wù)中弓丨入語義信息。發(fā)明內(nèi)容
在下文中給出了關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。
鑒于背景技術(shù)部分所述的需求,本申請關(guān)注于如何非語義網(wǎng)絡(luò)服務(wù)轉(zhuǎn)換為語義網(wǎng)絡(luò)服務(wù),或者說基于非語義網(wǎng)絡(luò)服務(wù)建構(gòu)語義網(wǎng)絡(luò)服務(wù)。
因此,在本申請的一個方面,提供了一種生成語義網(wǎng)絡(luò)服務(wù)文檔的設(shè)備,包括第一接口結(jié)構(gòu)信息獲取部分,被配置成獲取非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的第一接口結(jié)構(gòu)信息;第二接口結(jié)構(gòu)信息獲取部分,被配置成獲取與所述感興趣的操作對應(yīng)的語義網(wǎng)絡(luò)服務(wù)文檔的第二接口結(jié)構(gòu)信息;匹配部分,被配置成對所述第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息的內(nèi)容進(jìn)行匹配,建立第一接口結(jié)構(gòu)信息中的各個元素與第二接口結(jié)構(gòu)信息中的各個元素的對應(yīng)關(guān)系;接口轉(zhuǎn)換引擎生成部分,根據(jù)所述對應(yīng)關(guān)系來生成用于對第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息進(jìn)行相互轉(zhuǎn)換的接口轉(zhuǎn)換引擎;從而,至少所述第二接口結(jié)構(gòu)信息、所述接口轉(zhuǎn)換引擎以及所述非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的信息構(gòu)成所述語義網(wǎng)絡(luò)服務(wù)文檔,其中,所述第一接口信息和所述第二接口信息均為具有相互關(guān)系信息的所述元素的集合,并且每個元素包括該元素的類型信息和/或該元素的概念的出現(xiàn)次數(shù)信息。
根據(jù)本申請的另一方面,提供了一種網(wǎng)絡(luò)本體語言概念解析方法,將網(wǎng)絡(luò)本體語言概念解析為具有相互關(guān)系的元素的集合,其中,每個元素包括該元素的類型信息和/或該元素的概念的出現(xiàn)次數(shù)信息。
另外,本申請還提供了一種生成語義網(wǎng)絡(luò)服務(wù)文檔的方法,包括獲取非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的第一接口結(jié)構(gòu)信息;獲取與所 述感興趣的操作對應(yīng)的語義網(wǎng)絡(luò)服務(wù)文檔的第二接口結(jié)構(gòu)信息;對所述第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息的內(nèi)容進(jìn)行匹配,建立第一接口結(jié)構(gòu)信息中的各個元素與第二接口結(jié)構(gòu)信息中的各個元素的對應(yīng)關(guān)系;根據(jù)所述對應(yīng)關(guān)系來生成用于對第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息進(jìn)行相互轉(zhuǎn)換的接口轉(zhuǎn)換引擎;從而,至少所述第二接口結(jié)構(gòu)信息、所述接口轉(zhuǎn)換引擎以及所述非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的信息構(gòu)成所述語義網(wǎng)絡(luò)服務(wù)文檔,其中,所述第一接口信息和所述第二接口信息均為具有相互關(guān)系信息的所述元素的集合,并且每個元素包括該元素的類型信息和/或該元素的概念的出現(xiàn)次數(shù)信息。
依據(jù)本發(fā)明的其它方面,還提供了相應(yīng)的計(jì)算機(jī)程序代碼、計(jì)算機(jī)可讀存儲介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
通過以下結(jié)合附圖對本發(fā)明的最佳實(shí)施例的詳細(xì)說明,本發(fā)明的這些以及其他優(yōu)點(diǎn)將更加明顯。
本發(fā)明可以通過參考下文中結(jié)合附圖所給出的描述而得到更好的理解,其中在所有附圖中使用了相同或相似的附圖標(biāo)記來表示相同或者相似的部件。所述附圖連同下面的詳細(xì)說明一起包含在本說明書中并且形成本說明書的一部分,而且用來進(jìn)一步舉例說明本發(fā)明的優(yōu)選實(shí)施例和解釋本發(fā)明的原理和優(yōu)點(diǎn)。在附圖中
圖1為基于非語義網(wǎng)絡(luò)服務(wù)提供語義網(wǎng)絡(luò)服務(wù)的基本架構(gòu)示意圖2圖1所示基本架構(gòu)的一種具體實(shí)施方式
;
圖3為根據(jù)本發(fā)明的一種實(shí)施方式的生成語義網(wǎng)絡(luò)服務(wù)文檔的設(shè)備的結(jié)構(gòu)示意圖4為圖3中第一接口結(jié)構(gòu)信息獲取部分所獲取的信息結(jié)構(gòu)的一個示例;
圖5為圖3中第二接口結(jié)構(gòu)信息獲取部分所獲取的信息結(jié)構(gòu)的一個示例;
圖6為圖3所示匹配部分的一種實(shí)施方式的結(jié)構(gòu)示意圖7為圖3所示匹配部分的另一種實(shí)施方式的結(jié)構(gòu)示意圖8為圖7所示調(diào)整單元的用戶界面的一個示例;
圖9為根據(jù)本發(fā)明的一種實(shí)施方式的生成語義網(wǎng)絡(luò)服務(wù)文檔的方法的流程圖10為圖9所示方法的匹配步驟的一種實(shí)施方式的流程圖11是其中可以實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的方法和/或設(shè)備的通用個人計(jì)算機(jī)的示例性結(jié)構(gòu)的框圖。
具體實(shí)施方式
在下文中將結(jié)合附圖對本發(fā)明的示范性實(shí)施例進(jìn)行描述。為了清楚和簡明起見, 在說明書中并未描述實(shí)際實(shí)施方式的所有特征。然而,應(yīng)該了解,在開發(fā)任何這種實(shí)際實(shí)施例的過程中必須做出很多特定于實(shí)施方式的決定,以便實(shí)現(xiàn)開發(fā)人員的具體目標(biāo),例如,符合與系統(tǒng)及業(yè)務(wù)相關(guān)的那些限制條件,并且這些限制條件可能會隨著實(shí)施方式的不同而有所改變。此外,還應(yīng)該了解,雖然開發(fā)工作有可能是非常復(fù)雜和費(fèi)時的,但對得益于本公開內(nèi)容的本領(lǐng)域技術(shù)人員來說,這種開發(fā)工作僅僅是例行的任務(wù)。
在此,還需要說明的一點(diǎn)是,為了 避免因不必要的細(xì)節(jié)而模糊了本發(fā)明,在附圖中僅僅示出了與根據(jù)本發(fā)明的方案密切相關(guān)的設(shè)備結(jié)構(gòu)和/或處理步驟,而省略了與本發(fā)明關(guān)系不大的其他細(xì)節(jié)。
以后的描述按下述順序進(jìn)行
1.基于非語義網(wǎng)絡(luò)服務(wù)的予以網(wǎng)絡(luò)服務(wù)的基本架構(gòu);
2.生成語義網(wǎng)絡(luò)服務(wù)文檔的設(shè)備
2-1設(shè)備的配置
2-2第一接口結(jié)構(gòu)信息的獲取
2-3第二接口結(jié)構(gòu)信息的獲取
2-4接口結(jié)構(gòu)信息的匹配
2-5接口轉(zhuǎn)換引擎的生成
3.生成語義網(wǎng)絡(luò)服務(wù)文檔的方法
4.網(wǎng)絡(luò)本體語言概念解析方法
5.用以實(shí)施本申請的設(shè)備和方法的計(jì)算設(shè)備
1.基于非語義網(wǎng)絡(luò)服務(wù)的語義網(wǎng)絡(luò)服務(wù)的基本架構(gòu)
基于非語義網(wǎng)絡(luò)服務(wù)的語義網(wǎng)絡(luò)服務(wù)的基本原理,是將現(xiàn)有的各種非語義網(wǎng)絡(luò)服務(wù)的各種不同輸入輸出規(guī)格統(tǒng)一于相同的輸入輸出規(guī)格(即明確輸入輸出的語義,該相同的輸入輸出規(guī)格代表或者反映一種語義體系),從而能夠在同一語義體系下整合各種非語義網(wǎng)絡(luò)服務(wù)。
因此,語義網(wǎng)絡(luò)服務(wù)的基本架構(gòu)如圖1所示。其中非語義網(wǎng)絡(luò)服務(wù)I具有非語義輸入輸出I。基于該非語義網(wǎng)絡(luò)服務(wù)I建構(gòu)的語義網(wǎng)絡(luò)服務(wù)I具有語義輸入輸出I。非語義輸入輸出I和語義輸入輸出I之間通過語義轉(zhuǎn)換引擎I進(jìn)行相互轉(zhuǎn)換。這樣,語義網(wǎng)絡(luò)服務(wù)I就能夠調(diào)用非語義網(wǎng)絡(luò)服務(wù)I并且知曉其輸入輸出的語義。類似地,語義網(wǎng)絡(luò)服務(wù) 2調(diào)用非語義網(wǎng)絡(luò)服務(wù)2,并且通過語義轉(zhuǎn)換引擎2知曉非語義輸入輸出2的語義。這樣, 由于語義網(wǎng)絡(luò)服務(wù)I和語義網(wǎng)絡(luò)服務(wù)2統(tǒng)一于相同的語義體系之下,相互之間能夠互聯(lián)互通,從而能夠被整合而形成新的網(wǎng)絡(luò)服務(wù)。這樣,就實(shí)現(xiàn)了整合現(xiàn)有的不能夠互聯(lián)互通的非語義網(wǎng)絡(luò)服務(wù)I和非語義網(wǎng)絡(luò)服務(wù)2的目的。
在實(shí)踐中,語義網(wǎng)絡(luò)服務(wù)I和語義網(wǎng)絡(luò)服務(wù)2是構(gòu)成新的網(wǎng)絡(luò)服務(wù)的原子操作,其所對應(yīng)的非語義網(wǎng)絡(luò)服務(wù)I和非語義網(wǎng)絡(luò)服務(wù)2也是現(xiàn)有非語義網(wǎng)絡(luò)服務(wù)中的原子操作。 顯然,新的網(wǎng)絡(luò)服務(wù)可以由任意數(shù)目的原子操作構(gòu)成,相應(yīng)的非語義網(wǎng)絡(luò)服務(wù)的原子操作也可以為任意數(shù)目。同時,非語義網(wǎng)絡(luò)服務(wù)的原子操作中的任意多個原子操作可以來源于同一個現(xiàn)有非語義網(wǎng)絡(luò)服務(wù),也可以來自不同的現(xiàn)有非語義網(wǎng)絡(luò)服務(wù),它們可以位于相同的服務(wù)器上,也可以位于不同的服務(wù)器上(圖1中圖示為不同的服務(wù)器I和服務(wù)器2)。
鑒于提供給用戶的新的`網(wǎng)絡(luò)服務(wù)只是上述語義網(wǎng)絡(luò)服務(wù)原子操作的加和,除非必要,在下文并不特別區(qū)分語義網(wǎng)絡(luò)服務(wù)或者非語義網(wǎng)絡(luò)服務(wù)與它們的原子操作。
無論是非語義網(wǎng)絡(luò)服務(wù)還是語義網(wǎng)絡(luò)服務(wù),都可以以可以調(diào)用的文檔形式存在。 其中,語義網(wǎng)絡(luò)服務(wù)文檔至少包括三方面的信息其語義輸入輸出格式(在本申請中也稱為“第二接口結(jié)構(gòu)信息”)、其語義轉(zhuǎn)換引擎(在本申請中也稱為“接口轉(zhuǎn)換引擎”)以及其對應(yīng)的非語義網(wǎng)絡(luò)服務(wù)(操作)的調(diào)用信息(例如非語義網(wǎng)絡(luò)服務(wù)文檔的地址或者鏈接坐、寸/ ο
寫成非語義網(wǎng)絡(luò)服務(wù)文檔或者語義網(wǎng)絡(luò)服務(wù)文檔的語言在理論上沒有任何限制,可以是任何適用的語言。在實(shí)踐中,大多數(shù)的非語義網(wǎng)絡(luò)服務(wù)都是基于WSDL(Web Service Description Language,網(wǎng)絡(luò)服務(wù)描述語言)的。而語義網(wǎng)絡(luò)服務(wù)一般表現(xiàn)為用OWL (Web Ontology Language,網(wǎng)絡(luò)本體語言)的OWL-S (OWL-Service, OWL服務(wù))文檔??梢哉J(rèn)為 OffL語言定義了網(wǎng)絡(luò)服務(wù)中的各種概念的一種標(biāo)準(zhǔn),如果將WSDL服務(wù)的輸入輸出與OWL語言所定義的標(biāo)準(zhǔn)概念(類,class)對應(yīng)起來,則能夠在不同的WSDL服務(wù)之間實(shí)現(xiàn)有效的互通,從而能夠自動調(diào)用、整合和執(zhí)行各種WSDL服務(wù)。
因此,在本申請文件的以下描述中使用WSDL和OWL作為舉例。但是這絕不意味著本申請限于WSDL和0WL。例如,非語義網(wǎng)絡(luò)服務(wù)也可以使用COBRA和COM+的調(diào)用;語義網(wǎng)絡(luò)服務(wù)還可以使用DAML+0IL,SHOE, F_Logic等。
圖2圖示了基于WSDL服務(wù)的OWL-S服務(wù)的基本架構(gòu),其與圖1所示的基本架構(gòu)是完全對應(yīng)的,各組成要素的含義從圖中的文字是自明的,因此不必一一贅述。需要補(bǔ)充說明的是,基于WSDL的網(wǎng)絡(luò)服務(wù)的輸入輸出可以但不限于由SOAP (Simple Object Access Protocol,簡單對象訪問協(xié)議)消息攜帶。例如,還可以直接使用XML-RPC和HTTP直接傳輸。轉(zhuǎn)換引擎可以是 XSLT (Extensible Stylesheet LanguageTransformations,可擴(kuò)展樣式表轉(zhuǎn)換語言)轉(zhuǎn)換引擎。XSLT轉(zhuǎn)換引擎是用XSLT寫成的,用于將WSDL輸入輸出(體現(xiàn)為SOAP消息攜帶的文檔的一部分)轉(zhuǎn)換為OWL-S輸入輸出(即OWL-S文檔的一部分)的代碼文檔。轉(zhuǎn)換引擎語言也不限于XSLT,還可以使用STX。在下面的描述中,僅以SOAP消息和XSLT轉(zhuǎn)換引擎為例,但本發(fā)明不限于此。
2.生成語義網(wǎng)絡(luò)服務(wù)文檔的設(shè)備
2-1設(shè)備的配置
本申請的一個方面提供了一種生成前述語義網(wǎng)絡(luò)服務(wù)文檔的設(shè)備。如圖3所示, 該設(shè)備300包括但不限于第一接口結(jié)構(gòu)信息獲取部分302,被配置成獲取非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的第一接口結(jié)構(gòu)信息;第二接口結(jié)構(gòu)信息獲取部分304,被配置成獲取與所述感興趣的操作對應(yīng)的語義網(wǎng)絡(luò)服務(wù)文檔的第二接口結(jié)構(gòu)信息;匹配部分306,被配置成對所述第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息的內(nèi)容進(jìn)行匹配,建立第一接口結(jié)構(gòu)信息中的各個元素與第二接口結(jié)構(gòu)信息中的各個元素的對應(yīng)關(guān)系;以及接口轉(zhuǎn)換引擎生成部分308,根據(jù)所述對應(yīng)關(guān)系來生成用于對第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息進(jìn)行相互轉(zhuǎn)換的接口轉(zhuǎn)換引擎。第二接口結(jié)構(gòu)信息獲取部分304獲取的“第二接口結(jié)構(gòu)信息”(也就是語義輸入輸出格式)、接口轉(zhuǎn)換引擎生成部分308生成的“接口轉(zhuǎn)換引擎”(也就是語義轉(zhuǎn)換引擎)以及第一接口結(jié)構(gòu)信息所對應(yīng)的非語義網(wǎng)絡(luò)服務(wù)(操作)的調(diào)用信息(例如非語義網(wǎng)絡(luò)服務(wù)文檔的地址或者鏈接等)一起,構(gòu)成語義網(wǎng)絡(luò)服務(wù)文檔。
其中,所述第一接口結(jié)構(gòu)信息和所述第二接口結(jié)構(gòu)信息均為具有相互關(guān)系信息的所述元素的集合,并且每個元素包括該元素的類型信息和/或該元素的概念的出現(xiàn)次數(shù)信肩、O
具體而言,如前所述,第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息分別是非語義網(wǎng)絡(luò)服務(wù)文檔和語義網(wǎng)絡(luò)服務(wù)文檔的輸入輸出格式,其包括各種輸入輸出項(xiàng)目(也就是“元素”)以及各個輸入輸出項(xiàng)目之間的相互關(guān)系。因此,所述輸入輸出可以認(rèn)為是這些具有相互關(guān)系的輸入輸出項(xiàng)目的集合。該集合可以體現(xiàn)為各種形式,例如結(jié)構(gòu)體?;蛘咂淇梢栽谶壿嬌象w現(xiàn)為“圖”的形式,例如樹。
在一種實(shí)施方式中,在獲取上述第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息時,除了其他常用信息外,尤其要包括元素的類型信息。元素的類型是指該元素的性質(zhì)。例如,元素 xingming(指“姓名”)是“字符串”(string)類型,元素nianji (指“年紀(jì)”)是“整型”(int)。
類型的作用很重要。例如,如果在本體中定義了一個簡單的person結(jié)構(gòu),包含2個屬性name (類型為string), age (類型為int)?,F(xiàn)有一個關(guān)于person的WSDL服務(wù)需要標(biāo)注,但WSDL中定義的person結(jié)構(gòu)采用拼音命名xingming(類型為string) ,nianji (類型為int)。在這種情況下,僅考慮節(jié)點(diǎn)名稱及節(jié)點(diǎn)結(jié)構(gòu)是不能將WSDL的xingming及nianji 分別匹配到OWL的name及age上的,但考慮了類型相似度就可以匹配成功。
上述兩個類型舉例是具體的類型。但是,類型也可以是指對各種具體類型歸類而得到的更上位的類型。例如,可以將元素分為沒有從屬元素的簡單類型以及有從屬元素的復(fù)雜類型等。所謂有從屬元素,是指在所述集合中,尚有其它元素從屬于該復(fù)雜類型的元素,或者說該復(fù)雜類型的元素類似于接口結(jié)構(gòu)信息本身,也是一個集合。
以樹為例,所謂簡單類型,可以是只沒有子節(jié)點(diǎn)的葉節(jié)點(diǎn)。所謂復(fù)雜類型,可以是具有子節(jié)點(diǎn)的非葉結(jié)點(diǎn)。也就是說,以復(fù)雜節(jié)點(diǎn)為根,可以構(gòu)成一棵子樹。
在另一種實(shí)施方式中,在獲取上述第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息時,除了其他常用信息外,尤其要包括元素的概念的出現(xiàn)次數(shù)信息。例如,在搜索引擎的輸出中, 一般有多個條目,這些條目在具體的搜索實(shí)例中內(nèi)容不同,但是其在搜索引擎輸出中的邏輯表達(dá)是相同的概念。所謂“出現(xiàn)次數(shù)信息”,就是指這樣的相同概念在所述接口結(jié)構(gòu)信息中的出現(xiàn)次數(shù)。該出現(xiàn)次數(shù)信息一般是一個取值范圍。例如,對于搜索引擎輸出中的條目, 該取值范圍為O到無窮大,因?yàn)樗阉饕婵梢运阉鞑坏饺魏螚l目,也可以搜索到任意多的條目。
出現(xiàn)次數(shù)信息可以有效地幫助匹配。例如Google查詢服務(wù)search定義的輸出如下query (occur = I)(表不 query 出現(xiàn)的次數(shù)為 I),searchResult (occur = unbounded) (表示searchResult的出現(xiàn)次數(shù)不受限制)。其中searchResult是一個復(fù)雜結(jié)構(gòu)類型,包含search的條目的具體信息。而在OWL本體結(jié)構(gòu)中,Search的定義如下keyword(occur =I)(表示 keyword 出現(xiàn)的次數(shù)為 I),items (occurs = unbounded)(表示 items 的出現(xiàn)次數(shù)不受限制)。
在此情況下,僅依靠名稱和結(jié)構(gòu)的相似度不能夠起作用,因?yàn)閮烧叩拿Q相似度為O。但如果加上occur (出現(xiàn)次數(shù))指示信息,就能更加確定WSDL的query節(jié)點(diǎn)可以映射到OWL的keyword節(jié)點(diǎn),WSDL的searchResult節(jié)點(diǎn)可以映射到OWL的items節(jié)點(diǎn)。
當(dāng)然,在另外的實(shí)施方式中,第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息可以同時包括元素的類型信息和元素概念的出現(xiàn)次數(shù)信息。
2-2第一接口結(jié)構(gòu)信息的獲取
第一接口結(jié)構(gòu)信息由 第一接口結(jié)構(gòu)信息獲取部分302解析非語義網(wǎng)絡(luò)服務(wù)文檔而獲取。下面以非語義網(wǎng)絡(luò)服務(wù)文檔如前所述為WSDL文檔的情形為例予以說明。
如前所述,語義轉(zhuǎn)換引擎所轉(zhuǎn)換的事實(shí)上是包含在例如SOAP消息中的輸入輸出代碼。但是該輸入輸出代碼所體現(xiàn)的輸入輸出結(jié)構(gòu)也體現(xiàn)在WSDL文檔中。因此,第一接口結(jié)構(gòu)信息獲取部分302可以從WSDL文檔直接獲取所述第一接口結(jié)構(gòu)信息。下面,為描述方便,將第一接口結(jié)構(gòu)信息獲取部分302稱為WSDL解析器,并且以將第一接口結(jié)構(gòu)信息表達(dá)為樹結(jié)構(gòu)為例進(jìn)行描述。
WSDL解析器的實(shí)現(xiàn)基于WSDL的標(biāo)準(zhǔn)。WSDL標(biāo)準(zhǔn)定義了一種XML格式的服務(wù),該服務(wù)包含幾個特別的元素,如service、port、binding、message等。Port (端口 )是用SOAP/ HTTP binding(綁定)的網(wǎng)絡(luò)地址來定義,所綁定的網(wǎng)絡(luò)地址即為要調(diào)用的網(wǎng)絡(luò)服務(wù)操作的SOAP地址或HTTP地址。而一系列port (也就是一系列操作)的組合就可以用來定義 service (服務(wù))。一個服務(wù)可能關(guān)聯(lián)多個操作。Message (消息)就是要傳輸?shù)腟OAP數(shù)據(jù)的抽象定義。
WSDL解析器的輸入可以是一個服務(wù)的URL地址(通過該地址調(diào)用服務(wù)文檔),或者直接是一個服務(wù)文檔。所謂的解析過程事實(shí)上就是依據(jù)WSDL文檔的內(nèi)容(其組織是依據(jù)WSDL標(biāo)準(zhǔn)的)找出其表達(dá)的服務(wù)的輸入輸出中的元素及其屬性和相互關(guān)系。事實(shí)上,所述元素、屬性和相互關(guān)系都是一個WSDL文檔已經(jīng)包含的信息,只要本領(lǐng)域普通技術(shù)人員依據(jù)本說明書知曉要從何處獲取何種信息,那么,依據(jù)WSDL標(biāo)準(zhǔn),編程獲取所述信息只是一項(xiàng)例行的工作。
下面以一個搜索操作的輸出為例予以說明。圖4所示為一個WSDL搜索操作 Searchl的輸出樹結(jié)構(gòu)信息。Searchl的類型為“search” (搜索),該類型的定義是一個復(fù)雜結(jié)構(gòu)信息,它包含名稱為searchEngine (搜索引擎)、keyword(關(guān)鍵詞)等2個簡單類型及一個名稱為items (條目)的復(fù)雜結(jié)構(gòu)類型。searchEngine及keyword都是“字符串”(String)類型的簡單結(jié)構(gòu),可能出現(xiàn)次數(shù)為O或1,即出現(xiàn)或者不出現(xiàn)。items是一個復(fù)雜結(jié)構(gòu)類型,包含6個子屬性(圖4中的最下一層葉節(jié)點(diǎn))。items可以出現(xiàn)無數(shù)次,即 Searchl可以有無數(shù)個items節(jié)點(diǎn)。但是,顯然,每一個items實(shí)例的內(nèi)容是不同的,但它們是相同性質(zhì)的節(jié)點(diǎn),或者說節(jié)點(diǎn)所代表的是相同的“概念”。
在一種實(shí)施方式中,發(fā)明人提出利用元素的類型(type)信息。例如,在圖4所示的例子中,Searchl 的類型為 “wsns:Search” ;searchEngine 的類型為 “xs:String”??梢钥吹剑總€結(jié)點(diǎn)的類型都會加上命名空間(namespace)信息,以區(qū)分不同命名空間下具有相同名稱的元素的情況。對于命名空間,例如可用” xs”縮寫代替http://www.w3.org/2001/ XMLSchema,或者用其他縮與等代表其他的命名空間 目息等等。
在另外一種實(shí)施方式中,替代地或者附加地,發(fā)明人提出利用元素代表的概念的出現(xiàn)次數(shù)信息。在WSDL文檔中,可以從XSD indicator (XSD指示信息,可參考http: //www. w3schools. com/Schema/schema_complex_indicators. asp)中獲得兀素的出現(xiàn)次數(shù)信息。 具體的,XSD indicator包括
Order indicators (順序指不信息)A11, choice, sequence
Occurrence indicators (出現(xiàn)次數(shù)指不信息)max0ccurs, minOccurs
Group indicators (分組指不信息)Group name,attributeGroupname
對于Order indicator 及 Group indicator,可以默認(rèn) minOccurs = maxOccurs =I ;如果某元素沒有minOccurs或maxOccurs,則默認(rèn)二者都為I。對于有Occurrence indicators的,則直接利用minOccurs或maxOccurs的值。其中 ,minOccurs表不相應(yīng)兀素的最小出現(xiàn)次數(shù),maxOccurs表示相應(yīng)元素的最大出現(xiàn)次數(shù)。
這樣,按照上述實(shí)施方式,除了其他信息之外,可以獲得集合元素(樹節(jié)點(diǎn))的類型信息和/或元素概念出現(xiàn)次數(shù)信息。
2-3第二接口結(jié)構(gòu)信息的獲取
第一接口結(jié)構(gòu)信息獲取單元302是從已有的非語義網(wǎng)絡(luò)服務(wù)文檔(例如WSDL文檔)提取有關(guān)服務(wù)(操作)的輸入輸出信息。與之不同,第二接口結(jié)構(gòu)信息獲取單元304 是要獲取用于生成新的語義網(wǎng)絡(luò)服務(wù)文檔的輸入輸出信息。事實(shí)上,這個過程相當(dāng)于按照語義網(wǎng)絡(luò)服務(wù)文檔的規(guī)范來“構(gòu)建”其輸入輸出,例如按照描述該語義網(wǎng)絡(luò)服務(wù)文檔的語言來構(gòu)建輸入輸出。
作為一個例子,語義網(wǎng)絡(luò)服務(wù)文檔可以用網(wǎng)絡(luò)本體語言O(shè)WL來描述。可以認(rèn)為,網(wǎng)絡(luò)本體語言已經(jīng)定義了大量可以用于描述語義網(wǎng)絡(luò)服務(wù)的概念以及這些概念之間的相互關(guān)系。如前所述,在將非語義網(wǎng)絡(luò)服務(wù)轉(zhuǎn)換為語義網(wǎng)絡(luò)服務(wù)的過程中,需要將非語義網(wǎng)絡(luò)服務(wù)涉及的非語義元素(概念)轉(zhuǎn)換為用語義網(wǎng)絡(luò)服務(wù)描述語言來描述的元素(概念)。那么,在使用OWL的情況下,就需要將WSDL文檔涉及的概念與OWL定義的概念(類)對應(yīng)起來。要做到準(zhǔn)確的對應(yīng),顯然要考慮各個元素(概念)的各方面的屬性。
本發(fā)明人考慮到,與一個元素有關(guān)聯(lián)的其他元素的屬性,也屬于該一個元素的屬性的一部分。因此,如果說從WSDL文檔中可以提取出前述具有相互關(guān)系信息的元素的集合 (例如樹結(jié)構(gòu))的話,那么所對應(yīng)的OWL類也應(yīng)當(dāng)構(gòu)成相同的集合(樹)。因此,得到上述第二接口結(jié)構(gòu)信息,就要從OWL定義的本體(本體是全部類的集合)中找到所述對應(yīng)的集合(樹)。
預(yù)先定義好的OWL本體可以是專業(yè)領(lǐng)域的本體,也可以是多個領(lǐng)域本體的集合, 這樣會使得本體信息更加豐富。本體的每個Class (類,相當(dāng)于上文所述的元素或者概念) 都可以代表一種數(shù)據(jù)類型。同樣地,由于OWL已經(jīng)定義了概念(或者說類)之間的相互關(guān)系,因此邏輯上OWL已經(jīng)包含了類似于前文針對WSDL文檔所描述的具有相互關(guān)系信息的元素的集合或者說樹結(jié)構(gòu)。因此,只要本領(lǐng)域普通技術(shù)人員依據(jù)本說明書知曉要從何處獲取何種信息,那么,依據(jù)OWL的語言規(guī)范,編程獲取所述信息只是一項(xiàng)例行的工作。下面,為描述方便,將第二接口結(jié)構(gòu)信息獲取部分304稱為OWL解析器,并且以將第二接口結(jié)構(gòu)信息表達(dá)為樹結(jié)構(gòu)為例進(jìn)行描述。
在一種實(shí)施方式中,發(fā)明人提出利用元素(類)的類型(type)信息??梢詫⒕W(wǎng)絡(luò)本體語言概念的對象屬性(由<owl:ObjectProperty>定義))或基本數(shù)據(jù)類型屬性(由 〈owl :DatatypeProperty>定義)的取值范圍(〈rdfs:range〉)信息轉(zhuǎn)換為所述樹結(jié)構(gòu)中的對應(yīng)節(jié)點(diǎn)的類型信息。例如,在圖5所示的例子中,Search的類型為“owlns:Search” ; hasSearchEngineValue的類型為“xs:String”。同樣地,可以看到,每個結(jié)點(diǎn)的類型都會加上命名空間(namespace)信息,以區(qū)分不同命名空間下具有相同名稱的元素的情況。
在另外一種實(shí)施方式中,替 代地或者附加地,發(fā)明人提出利用元素(類)代表的概念的出現(xiàn)次數(shù)信息。在OWL類中,包括子集容量(cardinal ity)信息,其中minCardinal ity, maxCardinality就分別對應(yīng)于相應(yīng)的類的最小出現(xiàn)次數(shù)和最大出現(xiàn)次數(shù),對于子集容量信息取值為cardinality的情況,最大出現(xiàn)次數(shù)和最小出現(xiàn)次數(shù)均對應(yīng)于該值,即出現(xiàn)次數(shù)只有該一個值。
這樣,按照上述實(shí)施方式,除了其他信息之外,可以獲得第二接口結(jié)構(gòu)信息中的集合元素(樹節(jié)點(diǎn))的類型信息和/或元素概念出現(xiàn)次數(shù)信息。
在上述解析過程中,首先要找到要解析的樹的根節(jié)點(diǎn)。也就是OWL語言中與前文所述從WSDL文檔中解析出的樹的根節(jié)點(diǎn)對應(yīng)的概念(類)。這個過程可以人工輔助進(jìn)行或者自動進(jìn)行。在人工輔助進(jìn)行的情況下,操作者可以從OWL本體庫中選擇可能對應(yīng)的概念 (類),并進(jìn)行本申請所描述的其他必要操作比如后文描述的匹配。如果匹配不成功,則尋找其他可能對應(yīng)的概念(類)。在自動進(jìn)行的情況下,可以遍歷OWL本體中的類,并對可能的類進(jìn)行解析和后面的匹配操作,直到找到具有對應(yīng)的樹結(jié)構(gòu)的合適的類的集合。
另外,在上述人工輔助或者自動方式中,對OWL本體進(jìn)行解析得到樹結(jié)構(gòu)的操作是在線進(jìn)行的。在另外一種實(shí)施方式中,可以對OWL本體中的類預(yù)先進(jìn)行本申請?zhí)岢鰜淼慕馕?,從而形成已?jīng)解析出來的樹結(jié)構(gòu)(具有相互關(guān)系信息的元素的集合)的庫,或者說類的“森林”。然后,可以通過與上述類似的人工輔助方式或者自動方式從森林中選擇匹配的樹或者子樹。其中,人工或者自動選擇、匹配、再選擇的過程與上述是類似的,只不過不需要在線進(jìn)行解析操作。
在上述人工輔助或者自動選擇過程中涉及到匹配過程,這個過程可以根據(jù)匹配程度,依據(jù)預(yù)先設(shè)定的閾值來確定合適的匹配,也可以是比較多次匹配的相似度,來選擇最佳的匹配。
樹的匹配和樹的節(jié)點(diǎn)的匹配是類似的,具體描述見下一部分。
2-4接口結(jié)構(gòu)信息的匹配
在一個實(shí)施方式中,所述匹配部分306比較所述第一接口結(jié)構(gòu)信息的集合中的元素與所述第二接口結(jié)構(gòu)信息的集合中的元素,根據(jù)比較得到的元素與元素之間的相似度來確定第一接口結(jié)構(gòu)信息的集合中的元素與所述第二接口結(jié)構(gòu)信息的集合中的元素的對應(yīng)關(guān)系。
具有相互關(guān)系的元素的集合的匹配應(yīng)當(dāng)在該集合的每一個層次都是匹配的。例如,對于樹結(jié)構(gòu),應(yīng)當(dāng)整個樹都是匹配的。也就是說,如果某個節(jié)點(diǎn)是復(fù)雜結(jié)構(gòu)的節(jié)點(diǎn),即如果該節(jié)點(diǎn)也是一個集合或者一棵樹(子樹)的話,那么與其匹配的節(jié)點(diǎn)也應(yīng)當(dāng)是具有相同結(jié)構(gòu)的集合(樹)。因此,樹的匹配和其節(jié)點(diǎn)的匹配是類似的,下面的描述內(nèi)容同時適用于樹的匹配和節(jié)點(diǎn)的匹配,即適用于“森林”中的任何樹或者子樹,或者說包括其從屬元素或者節(jié)點(diǎn)的任何元素或者節(jié)點(diǎn)。
在更為具體的實(shí)施方式中,如圖6所示,所述匹配部分306可以包括名稱相似度計(jì)算單元602,計(jì)算元素名稱之間的相似度,作為名稱相似度;結(jié)構(gòu)相似度計(jì)算單元604,計(jì)算元素結(jié)構(gòu)之間的相似度,作為結(jié)構(gòu)相似度,其中,元素結(jié)構(gòu)之間的相似度的計(jì)算還要考慮元素的類型是否相同;出現(xiàn)次數(shù)相似度計(jì)算單元606,計(jì)算元素的概念的出現(xiàn)次數(shù)之間的相似度,作為出現(xiàn)次數(shù)相似度;相似度計(jì)算單元608,基于名稱相似度、結(jié)構(gòu)相似度和出現(xiàn)次數(shù)相似度計(jì)算元素與元素之間的相似度;匹配單元610,基于元素與元素之間的相似度來確定第一接口結(jié)構(gòu)信息的集合中的元素與所述第二接口結(jié)構(gòu)信息的集合中的元素的對應(yīng)關(guān)系。下面仍以樹結(jié)構(gòu)為例予以說明。
作為示例,名稱相似度計(jì)算單元602可以先將節(jié)點(diǎn)名稱進(jìn)行正規(guī)化處理,例如最小化字符串,去掉標(biāo)點(diǎn)符號等,再計(jì)算它們之間的相似度百分比。該相似度計(jì)算可以用各種現(xiàn)有技術(shù)進(jìn)行。
結(jié)構(gòu)相似度計(jì)算 單元604也可以采用各種現(xiàn)有技術(shù)計(jì)算結(jié)構(gòu)相似度。但是在本申請的一種優(yōu)選實(shí)施方式中,發(fā)明人提出在計(jì)算結(jié)構(gòu)相似度時需要考慮節(jié)點(diǎn)的類型。
例如,可以考慮兩個比較的節(jié)點(diǎn)是葉節(jié)點(diǎn)還是非葉結(jié)點(diǎn)。如果兩個節(jié)點(diǎn)一個是葉節(jié)點(diǎn)、另一個是非葉結(jié)點(diǎn),則其相似度為0,因?yàn)榉侨~結(jié)點(diǎn)還有進(jìn)一步的從屬結(jié)構(gòu)。如果兩個節(jié)點(diǎn)都是葉節(jié)點(diǎn),則將其類型相似度作為結(jié)構(gòu)相似度;如果兩個節(jié)點(diǎn)都不是葉節(jié)點(diǎn),也就是說都還有從屬結(jié)構(gòu),則要計(jì)算其從屬結(jié)構(gòu)的相似度,也就是說,如前所述,相當(dāng)于將這兩個節(jié)點(diǎn)當(dāng)做兩棵樹來繼續(xù)計(jì)算其整體的相似度。
其中,類型相似度的計(jì)算可以根據(jù)實(shí)際需要進(jìn)行恰當(dāng)?shù)募s定。作為示例,發(fā)明人給出了下表所示的計(jì)算方案,但顯然該表中的約定和數(shù)值不是限制性的,本領(lǐng)域普通技術(shù)人員可以在本申請的實(shí)質(zhì)范圍內(nèi)進(jìn)行各種修改
權(quán)利要求
1.一種生成語義網(wǎng)絡(luò)服務(wù)文檔的設(shè)備,包括 第一接口結(jié)構(gòu)信息獲取部分,被配置成獲取非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的第一接口結(jié)構(gòu)信息; 第二接口結(jié)構(gòu)信息獲取部分,被配置成獲取與所述感興趣的操作對應(yīng)的語義網(wǎng)絡(luò)服務(wù)文檔的第二接口結(jié)構(gòu)信息; 匹配部分,被配置成對所述第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息的內(nèi)容進(jìn)行匹配,建立第一接口結(jié)構(gòu)信息中的各個元素與第二接口結(jié)構(gòu)信息中的各個元素的對應(yīng)關(guān)系; 接口轉(zhuǎn)換引擎生成部分,根據(jù)所述對應(yīng)關(guān)系來生成用于對第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息進(jìn)行相互轉(zhuǎn)換的接口轉(zhuǎn)換引擎; 從而,至少所述第二接口結(jié)構(gòu)信息、所述接口轉(zhuǎn)換引擎以及所述非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的信息構(gòu)成所述語義網(wǎng)絡(luò)服務(wù)文檔, 其中,所述第一接口信息和所述第二接口信息均為具有相互關(guān)系信息的所述元素的集合,并且每個元素包括該元素的類型信息和/或該元素的概念的出現(xiàn)次數(shù)信息。
2.如權(quán)利要求1所述的設(shè)備,其中,所述非語義網(wǎng)絡(luò)服務(wù)文檔是網(wǎng)絡(luò)服務(wù)描述語言文檔,其中, 所述第一接口結(jié)構(gòu)信息獲取部分被配置為基于網(wǎng)絡(luò)服務(wù)描述語言文檔中的XSD指示信息而獲得所述第一接口信息的集合中的元素的概念的出現(xiàn)次數(shù)。
3.如權(quán)利要求1或2所述的設(shè)備,其中,所述語義網(wǎng)絡(luò)服務(wù)文檔是網(wǎng)絡(luò)本體語言服務(wù)文檔,其中, 所述第二接口結(jié)構(gòu)信息獲取部分被配置為基于網(wǎng)絡(luò)本體語言概念中有關(guān)子集容量的屬性信息轉(zhuǎn)換得到所述第二接口信息的集合中的元素的概念的出現(xiàn)次數(shù)信息。
4.如權(quán)利要求1或2所述的設(shè)備,其中,所述匹配部分被配置為比較所述第一接口結(jié)構(gòu)信息的集合中的元素與所述第二接口結(jié)構(gòu)信息的集合中的元素,根據(jù)比較得到的元素與元素之間的相似度來確定第一接口結(jié)構(gòu)信息的集合中的元素與所述第二接口結(jié)構(gòu)信息的集合中的元素的對應(yīng)關(guān)系。
5.如權(quán)利要求4所述的設(shè)備,其中,所述匹配部分包括 名稱相似度計(jì)算單元,計(jì)算元素名稱之間的相似度,作為名稱相似度; 結(jié)構(gòu)相似度計(jì)算單元,計(jì)算元素結(jié)構(gòu)之間的相似度,作為結(jié)構(gòu)相似度,其中,元素結(jié)構(gòu)之間的相似度的計(jì)算還要考慮元素的類型是否相同; 出現(xiàn)次數(shù)相似度計(jì)算單元,計(jì)算元素的概念的出現(xiàn)次數(shù)之間的相似度,作為出現(xiàn)次數(shù)相似度; 相似度計(jì)算單元,基于名稱相似度、結(jié)構(gòu)相似度和出現(xiàn)次數(shù)相似度計(jì)算元素與元素之間的相似度; 匹配單元,基于元素與元素之間的相似度來確定第一接口結(jié)構(gòu)信息的集合中的元素與所述第二接口結(jié)構(gòu)信息的集合中的元素的對應(yīng)關(guān)系。
6.如權(quán)利要求1或2所述的設(shè)備,其中,所述接口轉(zhuǎn)換引擎生成部分被配置為根據(jù)預(yù)定語法規(guī)則生成賦值語句構(gòu)成的文檔作為所述轉(zhuǎn)換引擎,其中所述賦值語句根據(jù)所述對應(yīng)關(guān)系將第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息中的一個的元素的值賦予另一個的對應(yīng)元素。
7.—種網(wǎng)絡(luò)本體語言概念解析方法,將網(wǎng)絡(luò)本體語言概念解析為具有相互關(guān)系的元素的集合,其中,每個元素包括該元素的類型信息和/或該元素的概念的出現(xiàn)次數(shù)信息。
8.—種生成語義網(wǎng)絡(luò)服務(wù)文檔的方法,包括 獲取非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的第一接口結(jié)構(gòu)信息; 獲取與所述感興趣的操作對應(yīng)的語義網(wǎng)絡(luò)服務(wù)文檔的第二接口結(jié)構(gòu)信息; 對所述第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息的內(nèi)容進(jìn)行匹配,建立第一接口結(jié)構(gòu)信息中的各個元素與第二接口結(jié)構(gòu)信息中的各個元素的對應(yīng)關(guān)系; 根據(jù)所述對應(yīng)關(guān)系來生成用于對第一接口結(jié)構(gòu)信息和第二接口結(jié)構(gòu)信息進(jìn)行相互轉(zhuǎn)換的接口轉(zhuǎn)換引擎; 從而,至少所述第二接口結(jié)構(gòu)信息、所述接口轉(zhuǎn)換引擎以及所述非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的信息構(gòu)成所述語義網(wǎng)絡(luò)服務(wù)文檔, 其中,所述第一接口信息和所述第二接口信息均為具有相互關(guān)系信息的所述元素的集合,并且每個元素包括該元素的類型信息和/或該元素的概念的出現(xiàn)次數(shù)信息。
9.如權(quán)利要求8所述的方法,其中,所述非語義網(wǎng)絡(luò)服務(wù)文檔是網(wǎng)絡(luò)服務(wù)描述語言文檔,其中,基于網(wǎng)絡(luò)服務(wù)描述語言文檔中的XSD指示信息而獲得所述第一接口信息的集合中的元素的概念的出現(xiàn)次數(shù)。
10.如權(quán)利要求8或9所述的方法,其中,所述語義網(wǎng)絡(luò)服務(wù)文檔是網(wǎng)絡(luò)本體語言服務(wù)文檔,其中,基于網(wǎng)絡(luò)本體語言概念中有關(guān)子集容量的屬性信息轉(zhuǎn)換得到所述第二接口信息的集合中的元素的概念的出現(xiàn)次數(shù)信息。
全文摘要
本申請?zhí)峁┝苏Z義網(wǎng)絡(luò)服務(wù)文檔生成設(shè)備、方法及OWL概念解析方法。其中,獲取非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的第一接口結(jié)構(gòu)信息,并獲取與所述操作對應(yīng)的語義網(wǎng)絡(luò)服務(wù)文檔的第二接口結(jié)構(gòu)信息。對第一和第二接口結(jié)構(gòu)信息的內(nèi)容進(jìn)行匹配,建立第一與第二接口結(jié)構(gòu)信息中的各個元素的對應(yīng)關(guān)系,根據(jù)所述對應(yīng)關(guān)系生成用于對第一和第二接口結(jié)構(gòu)信息進(jìn)行相互轉(zhuǎn)換的接口轉(zhuǎn)換引擎;從而,至少所述第二接口結(jié)構(gòu)信息、所述接口轉(zhuǎn)換引擎以及所述非語義網(wǎng)絡(luò)服務(wù)文檔中感興趣的操作的信息構(gòu)成所述語義網(wǎng)絡(luò)服務(wù)文檔。其中,第一和第二接口信息均為具有相互關(guān)系信息的所述元素的集合,并且每個元素包括該元素的類型信息和/或該元素的概念的出現(xiàn)次數(shù)信息。
文檔編號G06F17/30GK103036931SQ20111031023
公開日2013年4月10日 申請日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
發(fā)明者皮冰鋒, 王主龍, 鄒綱, 張軍, 鐘朝亮, 李紹明, 于浩, 松尾昭彥 申請人:富士通株式會社