專利名稱::一種idl信息到owl信息的轉(zhuǎn)換方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,特別涉及信息模型的描述技術(shù),具體地講是一種基于IDL網(wǎng)絡(luò)資源信息模型到基于OWL共享管理信息模型之間無(wú)損的語(yǔ)義轉(zhuǎn)換方法及裝置。
背景技術(shù):
:在網(wǎng)絡(luò)運(yùn)營(yíng)管理技術(shù)迅速發(fā)展的今天,運(yùn)營(yíng)商要求對(duì)通信網(wǎng)絡(luò)的整體運(yùn)行情況進(jìn)行統(tǒng)一綜合管理,信息的跨域交互和共享需求已經(jīng)變得十分迫切。目前通信網(wǎng)絡(luò)設(shè)備繁多、多種專業(yè)網(wǎng)絡(luò)并存、組網(wǎng)方式多種多樣,釆用的網(wǎng)絡(luò)管理接口技術(shù)、網(wǎng)管系統(tǒng)開發(fā)平臺(tái)也各不相同。復(fù)雜的網(wǎng)絡(luò)環(huán)境給統(tǒng)一綜合的網(wǎng)絡(luò)管理和異構(gòu)系統(tǒng)數(shù)據(jù)交互共享帶來(lái)了極大的挑戰(zhàn)。CORBA(CommonObjectRequestBrokerArchitecture,公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu))是由OMG(ObjectManagementGroup,對(duì)象管理組織)提出的分布式對(duì)象技術(shù),是當(dāng)前網(wǎng)絡(luò)管理采用的主流接口技術(shù),在電信領(lǐng)域有大規(guī)模的應(yīng)用。IDL(InterfaceDescriptionLanguage)作為CORBA平臺(tái)的接口定義語(yǔ)言,通過(guò)定義接口(interface)提供對(duì)網(wǎng)絡(luò)被管對(duì)象信息的訪問(wèn)入口,包括接口操作interface和被管M絡(luò)資源interface兩部分。CORBA應(yīng)用范圍廣泛,當(dāng)前絕大部分的網(wǎng)絡(luò)資源信息均可以通過(guò)IDL定義的接口獲取。在信息的跨域交互方面,IDL是一種面向?qū)ο蟮念惥幊陶Z(yǔ)言的描述語(yǔ)言,對(duì)信息之間關(guān)系的描述能力有限,而信息之間關(guān)系又是信息共享的重點(diǎn)和信息在不同系統(tǒng)中交互時(shí)保證信息一致性的關(guān)鍵。同時(shí),IDL被管網(wǎng)絡(luò)資源mterface本質(zhì)上不是用于描述資源信息,而是用于描述信息的訪問(wèn)入口;interface中的attribute(屬性)本質(zhì)上也不是絡(luò)資源的信息屬性,而是訪問(wèn)接口interface的參數(shù)。另夕卜,IDL與CORBA平臺(tái)緊耦合,實(shí)現(xiàn)復(fù)雜,代價(jià)比較大,不利于信息的跨平臺(tái)跨系統(tǒng)共享交互的實(shí)現(xiàn)。而基于本體的網(wǎng)絡(luò)管理信息模型被認(rèn)為是解決網(wǎng)絡(luò)異構(gòu)系統(tǒng)互操作,實(shí)現(xiàn)跨域管理的有效手段之一,近年來(lái)得到廣泛的關(guān)注和研究。W3C(WorldWideWebConsortium,萬(wàn)維網(wǎng)聯(lián)盟)制定的OWL(WebOntologyLanguage)規(guī)范首先是一種標(biāo)記語(yǔ)言,具有與平臺(tái)無(wú)關(guān)性、可讀性強(qiáng)的特點(diǎn),W3C已經(jīng)將其作為目前語(yǔ)義Web框架中的推薦語(yǔ)言。其次,OWL采用的語(yǔ)法格式是基于XML(ExtensibleMarkedLanguage,可擴(kuò)展標(biāo)記語(yǔ)言)、RDF(ResourceDescriptionFramework,資源描述框架),并在其上增加了一種能夠?qū)eb文檔中的術(shù)語(yǔ)間關(guān)系含義進(jìn)行形式化描述的本體語(yǔ)言。因此,OWL具備了更多對(duì)含義和語(yǔ)義的描述能力。OWL提供了大量關(guān)于類、類關(guān)系、屬性、屬性特性、屬性限制等描述構(gòu)詞,能夠充分支持信息的充分表達(dá)。采用基于OWL的本體信息模型可以跨越不同的應(yīng)用程序、企業(yè)和集團(tuán)的邊界實(shí)現(xiàn)數(shù)據(jù)的共享和重用。因此,將當(dāng)前主流的IDL描述的網(wǎng)絡(luò)資源模型轉(zhuǎn)換為采用OWL描述共享信息模型,是解決TDL網(wǎng)絡(luò)資源模型在信息跨域共享交互方面的不足,發(fā)揮OWL與平臺(tái)無(wú)關(guān)、含義與語(yǔ)義描述能力強(qiáng)方面的優(yōu)勢(shì),實(shí)現(xiàn)共享信息模型與現(xiàn)有系統(tǒng)進(jìn)行協(xié)同工作,支撐信息的跨系統(tǒng)跨平臺(tái)交互共享、統(tǒng)一管理的有效手段,具有重大的現(xiàn)實(shí)意義。
發(fā)明內(nèi)容本發(fā)明的目的在于提供禾中IDL信息的到OWL信息的轉(zhuǎn)換方法,用于支持基于IDL網(wǎng)絡(luò)資源信息模型到基于OWL共享管理信息模型之間無(wú)損的語(yǔ)義轉(zhuǎn)換,解決IDL網(wǎng)絡(luò)資源信息模型與CORBA平臺(tái)緊耦合,對(duì)信息之間關(guān)系的描述能力有限,不利于信息跨域交互共享的問(wèn)題,從而支持統(tǒng)一跨專業(yè)網(wǎng)絡(luò)跨平臺(tái)綜合管理的實(shí)現(xiàn)。本發(fā)明的另一目的在于提供一種IDL信息的到OWL信息的轉(zhuǎn)換裝置,用于解決現(xiàn)有技術(shù)中不能自動(dòng)的實(shí)現(xiàn)IDL文件存儲(chǔ)于OWL文件的不足,并且提高現(xiàn)有IDL網(wǎng)絡(luò)資源模型與OWL共享管理信息模型之間的同步更新效率,從而支持資源共享的目的。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種IDL信息到OWL信息的轉(zhuǎn)換方法和裝置,該方法和裝置是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的一種IDL信息到OWL信息的轉(zhuǎn)換方法,該方法包括加載IDL文件;對(duì)所述加載的IDL文件進(jìn)行建模,并定義訪問(wèn)標(biāo)準(zhǔn)IDL文件基本元素的接口;通過(guò)所述建模生成的接口讀取所述加載的IDL文件中所有基本元素的信息;將所述讀取的基本元素轉(zhuǎn)換存儲(chǔ)為OWL信息文件,根據(jù)所述讀取的基本元素,創(chuàng)建OWL文件、創(chuàng)建OWL的類(owl:Class)并聲明類關(guān)系、創(chuàng)建OWL的屬性并聲明屬性特性(PropertyCharacteristics),對(duì)創(chuàng)建的OWL屬性進(jìn)行屬性限制(PropertyRestrictions)。一種IDL信息到OWL信息的轉(zhuǎn)換裝置,該裝置包括IDL文件,加載單元,建模單元,讀取單元,映射單元,OWL文件;所述加載單元加載IDL文件,所述建模單元對(duì)所述IDL文件進(jìn)行建模,所述讀取單元通過(guò)所述建模單元生成的接口讀取所述IDL文件屮的所有基本元素,所述映射單元將所述基本元素?zé)o損的映射并存儲(chǔ)于OWL文件中。本發(fā)明的有益效果在于,是一種實(shí)現(xiàn)基于IDL信息到基于OWL的信息無(wú)損的映射轉(zhuǎn)換方法及自動(dòng)、實(shí)用的轉(zhuǎn)換裝置,可以有效地將上述IDL文件轉(zhuǎn)換存儲(chǔ)為OWL文件,建立基于OWL的與平臺(tái)無(wú)關(guān)、具備強(qiáng)大描述能力的共享信息模型,支持信息的跨域交互共享、統(tǒng)一管理。此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本中請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明的限定。在附圖中如圖1所示為木發(fā)明一種IDL信息到OWL信息的轉(zhuǎn)換方法流程圖;如圖2所示為本發(fā)明加載IDL文件步驟詳細(xì)流程圖;如圖3所示為本發(fā)明讀取IDL文件基本元素的流程圖;如圖4所示為本發(fā)明子域信息讀取歩驟流程圖;如圖5所示為本發(fā)明IDL基本元素取值類型讀取步驟流程圖;如圖6所示為本發(fā)明對(duì)IDL文件的基本元素進(jìn)行OWL文件轉(zhuǎn)換存儲(chǔ)步驟詳細(xì)流程圖;如圖7所示為本發(fā)明裝置結(jié)構(gòu)圖;如圖8所示為本發(fā)明實(shí)施例IDL文件與映射存儲(chǔ)的OWL文件內(nèi)容示意圖。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施方式和附圖,對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。在此,本發(fā)明的示意性實(shí)施方式及其說(shuō)明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。本發(fā)明實(shí)施例提供一種IDL信息到OWL信息的轉(zhuǎn)換方法及裝置。以下結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。如圖1所示為本發(fā)明一種IDL信息到OWL信息的轉(zhuǎn)換方法流程圖,包括步驟IOI,加載IDL文件,用戶輸入文件名和路徑,在磁盤上査找該文件,如果存在則返回文件正在讀取的信息,否則提示用戶輸入有誤。所述IDL文件為用于描述網(wǎng)絡(luò)資源信息模型定義的IDL信息步驟102,對(duì)上述加載的IDL文件進(jìn)行建模,解析該IDL文件,把該文件加載到內(nèi)存中,并定義了訪問(wèn)標(biāo)準(zhǔn)IDL文件基本元素的接口。其中,本發(fā)明所述基本元素為用于描述網(wǎng)絡(luò)資源信息模型的IDL基本元素和數(shù)據(jù)類型,包括module(模塊)、interface(接口)、attribute(屬性);基本數(shù)據(jù)類型short、long、float、double、boolean、octet、unsignedlong、unsignedshort、string、wstring、char、wchar、longlong、unsignedlonglong、longdouble、fixed;構(gòu)造數(shù)據(jù)類型struct(結(jié)構(gòu)體)及其子域、union(聯(lián)合體)及其子域、array(數(shù)組)、sequence(序列)、enum(枚舉)??梢酝ㄟ^(guò)連接CORBA接口庫(kù)的方式,直接獲取IDL信息的訪問(wèn)接口。步驟103,利用上述接口讀取所述加載的IDL文件中的基本元素。所述加載的IDL文件的基本元素口J能少于上述IDL標(biāo)準(zhǔn)中用于描述網(wǎng)絡(luò)資源信息模型的標(biāo)準(zhǔn)基本元素步驟104,按照映射規(guī)則對(duì)上述讀取的IDL基本元素對(duì)應(yīng)OWL的基本元素進(jìn)行轉(zhuǎn)換存儲(chǔ)。根據(jù)所述IDL的基本元素分別對(duì)應(yīng)創(chuàng)建OWL文件、OWL的類(owl:Class)并聲明類關(guān)系、OWL的屬性并聲明屬性特性(PropertyCharacteristics),對(duì)創(chuàng)建的OWL屬性進(jìn)行屬性限制(PropertyRestrictions)。具體過(guò)程如下面所述。如圖2所示為本發(fā)明加載IDL文件步驟詳細(xì)流程圖,包括歩驟201,用戶通過(guò)用戶界面輸入IDL文件名和其路徑。步驟202,査找文件是否存在,如果不存在,則將錯(cuò)誤信息返回用戶界面201,提示用戶重新輸入;如果存在,則進(jìn)入步驟203。歩驟203,分配內(nèi)存,設(shè)置一個(gè)緩沖區(qū)(buffer)。步驟204,通過(guò)調(diào)用加載文件函數(shù)InputFile(stringname)加載IDL文件的內(nèi)容,存入緩沖區(qū)中。如圖3所示為本發(fā)明讀取IDL文件基本元素的流程圖,包括步驟301開始讀取流程。步驟302,讀取當(dāng)前基本元素關(guān)鍵字、簡(jiǎn)單名稱和全局名稱。步驟303,判斷當(dāng)前基本元素關(guān)鍵字是否為interface,如果是則進(jìn)入步驟309,否則進(jìn)入歩驟304。步驟304,判斷當(dāng)前基本元素關(guān)鍵字是否為struct,如果是則進(jìn)入步驟310,否則進(jìn)入步驟305。步驟305,判斷當(dāng)前基本元素關(guān)鍵字是否為union,如果是則進(jìn)入步驟311,否則進(jìn)入步驟306。步驟306,判斷當(dāng)前基本元素關(guān)鍵字是否為aixay,如果是則進(jìn)入步驟312,否則進(jìn)入步驟307。步驟307,判斷當(dāng)前基木元素關(guān)鍵字是否為sequence,如果是則進(jìn)入步驟313,否則進(jìn)入步驟308。步驟308,判斷當(dāng)前基本元素關(guān)鍵字是否為enum,如果是則進(jìn)入步驟314,否則進(jìn)入步驟315。步驟309,讀取interface繼承關(guān)系,設(shè)定interface下的attribute為子域后進(jìn)入歩驟流程401讀取子域信息。歩驟310,設(shè)定struct參數(shù)為子域后進(jìn)入歩驟流程401讀取子域信息。步驟311,讀取union鑒別器取值類型,設(shè)定umon參數(shù)為子域后進(jìn)入步驟流程401讀取子域信息。312,讀取array元素個(gè)數(shù),進(jìn)入步驟流程501讀取array的取值類型。步驟313,讀取sequence的序列個(gè)數(shù)上邊界值,無(wú)上邊界時(shí)標(biāo)記為無(wú)上邊界,并進(jìn)入步驟流程501讀取sequence的取值類型。步驟314,并逐一讀取enum取值元素。歩驟315,結(jié)束當(dāng)前基本元素讀取。作為優(yōu)選的實(shí)施例,上述讀取IDL基本元素的步驟303至308的先后順序可以任意組合,不作限制。如圖4所示為本發(fā)明子域信息讀取歩驟流程圖,包括歩驟401,開始子域信息讀取流程。歩驟402,讀取子域關(guān)鍵字、簡(jiǎn)單名稱和全局名稱,并進(jìn)入步驟流程501讀取子域的取值類型。步驟403,判斷子域是否讀完,如果是則進(jìn)入步驟404,否則進(jìn)入步驟402。步驟404,結(jié)束-T域信息讀取步驟流程。如圖5所示為本發(fā)明IDL基本元素取值類型讀取步驟流程圖,包括步驟501,開始取值類型讀取流程。歩驟502,判斷取值類型是否為構(gòu)造數(shù)據(jù)類型,如果是則進(jìn)入步驟503,否則進(jìn)入步驟504。步驟503,標(biāo)記取值類型為構(gòu)造數(shù)據(jù)類型并讀取構(gòu)造數(shù)據(jù)類型名。步驟504,讀取簡(jiǎn)單類型關(guān)鍵字。步驟505,結(jié)束取值類型讀取步驟流程。在讀取上述IDL文件后,將上述讀取出的IDL文件的基本元素進(jìn)行OWL語(yǔ)法和語(yǔ)義的轉(zhuǎn)換存儲(chǔ)。如圖6所示為本發(fā)明對(duì)IDL文件的基本元素進(jìn)行OWL文件轉(zhuǎn)換存儲(chǔ)步驟詳細(xì)流程圖,包括歩驟601,創(chuàng)建OWL文件。首先是根據(jù)不同的module的全局名稱,分別建立IDL基木元素映射的OWL文件,以module的全局名稱聲明OWL文件的命名空間。步驟602,創(chuàng)建OWL的類并聲明類關(guān)系。首先根據(jù)interface、struct、union、array、sequence、enum的全局名稱,在對(duì)應(yīng)module的OWL文件下創(chuàng)建OWL的類,對(duì)所述interface的繼承關(guān)系和取值為構(gòu)造數(shù)據(jù)類型的sequence,采用構(gòu)詞rdfs:subClassOf在生成的子類中進(jìn)行父類聲明。所述sequence生成的類的父類為所述構(gòu)造數(shù)據(jù)類型對(duì)應(yīng)生成的OWL的類。如表1所示為IDLinterface轉(zhuǎn)換為OWL的類的一實(shí)施例。IDL信息轉(zhuǎn)換后的OWL信息interfaceFather/*接口Father定義*/attributestringname;};interfaceSon:Father/*接口Son繼承FatherattributeGenderTypegender;};tj^edefsequence<FixedLength〉StructSeqType;/*sequence取值為構(gòu)造數(shù)據(jù)類型"<owl:Classrdf:ID="Father7〉<owl:Classrdf:ID="Son"><rdfs:subClassOfrdf:resource二"弁Father'V〉</owl:Class〉<owl:Classrdf:ID="FixedLength'V><owl:Classrdf:ID二"StructSeqType"〉〈rdfs:subClassOfrdf:resource="#FixedLength'V></owl:Class>根據(jù)表1所示,IDL接口Father和Son、取值為構(gòu)造數(shù)據(jù)類型FixedLength的序列類型StructSeqType分別映射創(chuàng)建OWL的類Father、Son和StructSeqType。類Son采用構(gòu)詞rdfs:subClassOf聲明與Father之間的繼承關(guān)系。類StructSeqType通過(guò)構(gòu)詞rdfs:subClassOf聲明父類為類型FixedLength對(duì)應(yīng)生成的類FixedLength。對(duì)enum的數(shù)據(jù)元素,釆用構(gòu)詞owl:oneOf(通過(guò)直接枚舉類的成員的方法來(lái)描述類)將所有數(shù)據(jù)元素在所述enum生成的類中一一聲明。例如表2所示為IDLenum轉(zhuǎn)換為OWL信息的一實(shí)施例。IDL信息轉(zhuǎn)換后的OWL信息enumGenderType{Male,Female};/*枚舉類型"<owl:Classrdf:ID="GenderType"><owl:oneOfrdf:parseType="Collection"><owl:Thingrdf:about="#Male"/><owl:Thingrdf:about="#Female'V〉</owl:oneOf></owl:Class>根據(jù)表2所示,IDL枚舉類型GenderType映射創(chuàng)建OWL的類GenderType。GenderType通過(guò)構(gòu)詞oneOf聲明枚舉取值"Male"和"Female"。步驟603,創(chuàng)建OWL的屬性并聲明屬性特性,包括根據(jù)所述讀取基本元素的全局名稱,逐一為取值類型為構(gòu)造數(shù)據(jù)類型的attribute、struct子域參數(shù)、union子域參數(shù)在對(duì)應(yīng)module的OWL文件下新建OWL的對(duì)象屬性(owl:ObjectProperty)。將所述對(duì)象屬性的定義域聲明為所述attribute所屬interface、struct、union對(duì)應(yīng)生成的OWL的類,it域聲明為所述構(gòu)造數(shù)據(jù)類型對(duì)應(yīng)的OWL的類。如表3所示為取值類型為構(gòu)造數(shù)據(jù)類型的attribute、struct子域參數(shù)、union的子域參數(shù)轉(zhuǎn)換為OWL的對(duì)象屬性的一實(shí)施例。<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>聲明為所述array、sequence、attribute所屬interface、struct、union對(duì)應(yīng)生成的OWL的類,值域聲明為所述IDL基本數(shù)據(jù)類型對(duì)應(yīng)的OWL中XmlSchema基本類型,具體見(jiàn)表4IDL基本數(shù)據(jù)類型到OWL數(shù)據(jù)類型的映射所示。表4IDL基本數(shù)據(jù)類型到OWL數(shù)據(jù)類型的映射<table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>根據(jù)表5所示,IDL接口Father的屬性name取值為基本數(shù)據(jù)類型string,映射創(chuàng)建OWL的數(shù)值屬性name,定義域?yàn)轭怓ather,值域?yàn)橹苯佑成涞腛WL類型string。IDL結(jié)構(gòu)體FixedLength存在子域參數(shù)meml取值為基本數(shù)據(jù)類型long,映射創(chuàng)建OWL的數(shù)值屬性meml,定義域?yàn)轭怓ixedLength,值域?yàn)橹苯佑成涞腛WL類型long。IDL聯(lián)合體ComplexUnionType的鑒別器類型為枚舉GenderType,取值為Male和Female;IDL聯(lián)合體ComplexUnionType存在子域參數(shù)ul,取值為基本數(shù)據(jù)類型short,映射存儲(chǔ)為OWL的對(duì)象屬性u(píng)l,定義域?yàn)轭怌omplexUnionType,值域?yàn)橹苯佑成涞腛WL類型short,并采用構(gòu)詞owl:FunctionalProperty進(jìn)行屬性特性聲明,表示該屬性至多取唯一值。如表6所示為取值類型為IDL基本數(shù)據(jù)類型的array、sequence創(chuàng)建OWL數(shù)值屬性的一實(shí)施例。<table>tableseeoriginaldocumentpage16</column></row><table>根據(jù)表6所示,IDL數(shù)組ShortArrayType取值為基本數(shù)據(jù)類型short,映射創(chuàng)建OWL的數(shù)值屬性ShortArrayType—has—short,定義域?yàn)轭怱hortArrayType,值域?yàn)橹苯佑成涞腛WL類型short。IDL序列LongSeq取值為基本數(shù)據(jù)類型long,映射創(chuàng)建OWL的數(shù)值屬性LongSeqJiasJong,定義域?yàn)轭怢ongSeq,值域?yàn)橹苯佑成涞腛WL類型long。歩驟604,對(duì)創(chuàng)建的OWL屬性進(jìn)行屬性限制。針對(duì)array元素個(gè)數(shù)長(zhǎng)度,采用構(gòu)詞owl:Cardinality(限定一個(gè)屬性取值的精確個(gè)數(shù))對(duì)取值類型為array的attribute對(duì)應(yīng)生成的OWL對(duì)象屬性進(jìn)行限制。針對(duì)sequence序列邊界值,采用構(gòu)i司owl:minCardinality禾卩owl:maxCardinalityX寸取f直類型為sequence的attribute對(duì)應(yīng)生成的OWL對(duì)象屬性進(jìn)行限制。sequence無(wú)界時(shí),設(shè)定owl:minCardinality為零。如表7所示為對(duì)取值為IDL數(shù)組類型array的attribute創(chuàng)建OWL屬性限制的一實(shí)施例。<table>tableseeoriginaldocumentpage17</column></row><table>根據(jù)表7所示,IDL屬性shortArrayAttr取值類型為長(zhǎng)度為3的數(shù)組ShortArrayType,所述屬性映射創(chuàng)建OWL的對(duì)象屬性shortArrayAttr,并采用構(gòu)詞owl:Cardinality對(duì)創(chuàng)建屬性shortArrayAttr限制取值序列長(zhǎng)度為3。例如表8所示為對(duì)取值為IDL序列類型sequence的基本元素創(chuàng)建OWL屬性限制的一實(shí)施例。IDL信息轉(zhuǎn)換后的OWL信息<table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table>根據(jù)表8所示,IDL屬性longSeqAttr取值類型為上邊界值為5的序列LongSeq,所述屬性映射創(chuàng)建OWL的對(duì)象屬性longSeqAttr,并采用構(gòu)詞owl:maxCardinality對(duì)創(chuàng)建屬性longSeqAttr限制取值序列長(zhǎng)度最大為5。IDL屬性structSeqAttr取值類型為無(wú)界的序列StructSeqType,所述屬性映射創(chuàng)建OWL的對(duì)象屬性structSeqAttr,并采用構(gòu)詞minCardinality對(duì)屬性structSeqAttr限制取值序列長(zhǎng)度最小為零,表示無(wú)上邊界。歩驟605,結(jié)束對(duì)IDL文件的基本元素進(jìn)行OWL文件轉(zhuǎn)換存儲(chǔ)流程。如圖7所示為本發(fā)明裝置結(jié)構(gòu)圖,包括IDL文件701,用戶訪問(wèn)單元702,IDL文件加載單元703,建模單元704,基本元素讀取單元705,映射單元706,OWL文件707。所述IDL文件701與所述加載單元703相連接,所述用戶訪問(wèn)單元702分別與所述加載單元703和所述OWL文件707相連接,所述加載單元703與所述建模單元704相連接,所述建模單元704與所述讀取單元705相連接,所述讀取單元705與所述映射單元706相連接,所述映射單元706與所述OWL文件707相連接。所述IDL文件701,為待處理的數(shù)據(jù)載體,可以為從網(wǎng)絡(luò)管理接口上直接獲取的IDL文件,或者從存儲(chǔ)器上讀取的IDL文件。所述用戶訪問(wèn)單元702,用于與用戶交互,為用戶提供輸入IDL文件名和路徑的界面,并設(shè)置運(yùn)行按鈕;并為用戶提供查閱轉(zhuǎn)換牛成OWL文件功能。所述加載單元703,查找文件是否存在,如果不存在,則將錯(cuò)誤信息返回用戶界面,提示用戶重新輸入;如果存在,則調(diào)用函數(shù)InputFile(stringname)讀出IDL文件的內(nèi)容,存入buffer中。所述建模單元704,解析該IDL文件,把該文件加載到內(nèi)存中,并定義訪問(wèn)標(biāo)準(zhǔn)IDL文件所有基本元素的接口。所述讀取單元705,利用上述建模單元704生成的接口讀取所述加載單元703加載的IDL文件中的基本元素,首先讀取所述基本元素的關(guān)鍵字、簡(jiǎn)單名稱、全局名稱,再根據(jù)不同基本元素的關(guān)鍵字以讀取不同的信息,主要包括繼承關(guān)系、子域信息、取值類型、元素個(gè)數(shù)、取值元素等信息。所述加載的IDL文件的基本元素可能少于上述IDL標(biāo)準(zhǔn)中用于描述網(wǎng)絡(luò)資源信息模型的標(biāo)準(zhǔn)基本元素。所述映射單元706,按照映射規(guī)則對(duì)上述讀取的基本元素在OWL文件707中進(jìn)行存儲(chǔ),主要是對(duì)應(yīng)讀取的IDL的基本元素創(chuàng)建OWL文件、創(chuàng)建OWL的類并聲明類關(guān)系、創(chuàng)建OWL的屬性并聲明屬性特性,對(duì)創(chuàng)建的OWL屬性進(jìn)行屬性限制。創(chuàng)建OWL文件是指,根據(jù)module創(chuàng)建OWL文件并聲明OWL文件的命名空間;創(chuàng)建OWL的類并聲明類關(guān)系是指,根據(jù)所述讀取的interface、struct、union、array、sequence、enum對(duì)應(yīng)倉(cāng)ij建OWL的類,根據(jù)interface的繼承關(guān)系和取值為構(gòu)造數(shù)據(jù)類型的sequence,采用繼承關(guān)系構(gòu)詞rdfs:subClassOf進(jìn)行父類聲明,并采用構(gòu)詞owl:oneOf將enum列舉所有數(shù)據(jù)元素;創(chuàng)建OWL的屬性并聲明屬性特性是指,跟據(jù)所述讀取的取值為構(gòu)造數(shù)據(jù)類型的attributestruct子域參數(shù)和union子域參數(shù)對(duì)應(yīng)創(chuàng)建OWL的對(duì)象屬性,根據(jù)所述讀取的取值為基本數(shù)據(jù)類型的array、sequence、attribute、struct子域參數(shù)禾口union子域參數(shù)對(duì)應(yīng)創(chuàng)建OWL的數(shù)值屬性,針對(duì)union的子域參數(shù)采用構(gòu)詞owl:FunctionalProperty聲明屬性特性;對(duì)創(chuàng)建的OWL屬性進(jìn)行屬性限制是指,針對(duì)讀取的取值類型為array、sequence的所述基本元素轉(zhuǎn)換存儲(chǔ)的OWL的屬性,采用基數(shù)約束構(gòu)詞owl:Cardinality、owl:minCardinality禾口owl:maxCardinality對(duì)所述OWL屬性進(jìn)行元素個(gè)數(shù)限制聲明。圖8所示為本發(fā)明實(shí)施例IDL文件與映射存儲(chǔ)的OWL文件內(nèi)容示意圖。該testidl文件作為輸入文件,用戶在用戶訪問(wèn)單元702上填上輸入文件名和路徑,用戶訪問(wèn)單元702將這個(gè)信息傳給所述加載單元703,所述加載單元703在磁盤上杳找該文件,如果存在則返回文件test.idl的內(nèi)容,否則提示用戶輸入有誤。當(dāng)所述加載單元703讀入idl.owl的內(nèi)容后,將其傳遞給所述建模單元704進(jìn)行建模。所述建模單元704為讀入的內(nèi)容建模,并為所述讀取單元705提供訪問(wèn)IDL文件基本元素的接口。如可以通過(guò)連接CORBA接口庫(kù)的方式,直接獲取IDL信息的訪問(wèn)接口。所述讀取單元705以module為主線依次讀出module下包含的interface、attribute、struct及其子域、union及其子域、array、sequence、enum。所述讀取單元705調(diào)用建模單元704返回的一個(gè)迭代器(以存儲(chǔ)當(dāng)前基本元素包含的基本元素),用一個(gè)循環(huán)可以依次訪問(wèn)到每一個(gè)IDL文件中的包含的基本元素的信息(包括返回當(dāng)前基本元素的關(guān)鍵字、簡(jiǎn)單名稱、全局名稱、繼承關(guān)系、取值類型、元素個(gè)數(shù)、取值元素及包含的基本元素的全局名稱)。如圖9中的IDL文件片段經(jīng)加載建模處理后,通過(guò)調(diào)用所述讀取單元705讀取module,即返回關(guān)鍵字module、全局名稱TypeDemo、簡(jiǎn)單名稱TypeDemo,包含的子域TypeDemo—GenderType、TypeDemo—Father、TypeDemo—Son。接著依次迭代讀取TypeDemo—GenderType、TypeDemo—Father、TypeDemo—Son后,即可f導(dǎo)至!jTypeDemo—GenderType.的關(guān)鍵字enum、全局名稱TypeDemo—GenderType、簡(jiǎn)單名稱GenderType,數(shù)據(jù)元素Male和Female;TypeDemoFather的關(guān)鍵字interface、全局名稱TypeDemo—Father、簡(jiǎn)單名稱Father,包含子域TypeDemo—Father—name;TypeDemo_Son的關(guān)鍵字interface、全局名稱TypeDemo—Son、簡(jiǎn)單名稱Son,繼承關(guān)系Father,包含子域TypeDemo_Son_gender;再依次迭代讀取TypeDemo_Father_name禾口TypeDemo—Son—gender,可得至UTypeDemo—Father—name關(guān)鍵字attribute、全局名稱TypeDemo—Father一name、簡(jiǎn)單名稱name,取值為基本數(shù)據(jù)類型string;TypeDemo_Son_gender關(guān)鍵字attribute、全局名稱TypeDemo—Son—gender、簡(jiǎn)單名稱gender,取值為構(gòu)造數(shù)據(jù)類型GenderType。所述映射單元706針對(duì)所述讀取單元705中的基本元素按照映射規(guī)則依次轉(zhuǎn)換為OWL文件。此例中為moduleTypeDemo創(chuàng)建OWL文件,聲明命名空間為xml:base:http:〃麗w.w3.org/TR/2004/REC-owl畫guide-20040210/TypeDemo弁。根據(jù)enumTypeDemo—GenderType、interfaceTypeDemo—Father、interfaceTypeDemo_Son的全局名稱分別在命名空間為TypeDemo的OWL文件中創(chuàng)建OWL的類GenderType、Father、Son。對(duì)類GenderType采用構(gòu)詞owl:oneOf列舉取值數(shù)據(jù)元素為Male和Female;對(duì)類Son,采用構(gòu)詞說(shuō)明rdfs:subClassOf說(shuō)明其父類為類Father。根據(jù)attributeTypeDemo—Father—name的全局名稱和基本數(shù)據(jù)類型取值在命名空間為TypeDemo的OWL文件中創(chuàng)建OWL的數(shù)值屬性name,定義域?yàn)轭怓ather,值域?yàn)橹苯佑成涞腛WL的類型string;根據(jù)attributeTypeDemo—Son—gender的全局名稱和構(gòu)造數(shù)據(jù)類型取值在命名空間為TypeDemo的OWL文件中創(chuàng)建OWL的對(duì)象屬性gender,定義域?yàn)轭怱on,值域?yàn)闃?gòu)造數(shù)據(jù)類型GenderType創(chuàng)建的類GenderType。自此,IDL文件test.idl中的信息已經(jīng)轉(zhuǎn)換為OWL信息文件test.owl,用戶可以通過(guò)用戶訪問(wèn)單元702來(lái)査閱生成的OWL文件信息。本發(fā)明的有益效果在于,本發(fā)明的轉(zhuǎn)換方法是無(wú)損的。在本發(fā)明中,對(duì)描述網(wǎng)絡(luò)資源信息模型的IDL基本元素進(jìn)行了轉(zhuǎn)換,不僅包括IDLmodule、interface、attribute、struct、union、array、sequence、enum基本元素的名禾爾、包含關(guān)系、繼承關(guān)系、數(shù)據(jù)元素、數(shù)據(jù)元素長(zhǎng)度、取值類型等的轉(zhuǎn)換,還包括IDL基本數(shù)據(jù)類型到OWL數(shù)據(jù)類型的逐一映射,并且通過(guò)OWL的構(gòu)詞對(duì)生成的類和屬性特性和約束進(jìn)行了限制,保證信息模型語(yǔ)義的準(zhǔn)確映射。本發(fā)明中的轉(zhuǎn)換裝置真正實(shí)現(xiàn)了IDL文件自動(dòng)映射為OWL文件,即輸入為IDL文件,輸出是OWL文件。在本發(fā)明中的轉(zhuǎn)換裝置的基礎(chǔ)上,通過(guò)友好的用戶界面,用戶不需要具備專業(yè)知識(shí),就可以方便地執(zhí)行信息轉(zhuǎn)換和査閱功能;同時(shí),外部系統(tǒng)也可以利用接口來(lái)復(fù)用OWL文件中的信息,實(shí)現(xiàn)數(shù)據(jù)的共享。在本發(fā)明轉(zhuǎn)換方法及裝置的基礎(chǔ)上,能夠解決IDL網(wǎng)絡(luò)資源信息模型與CORBA平臺(tái)緊耦合,實(shí)現(xiàn)復(fù)雜,代價(jià)比較大,IDL信息描述能力有限,不利于信息跨域交互共享的問(wèn)題,并且發(fā)揮OWL與平臺(tái)無(wú)關(guān)性、含義與語(yǔ)義描述能力強(qiáng)方面的優(yōu)勢(shì),從而支持統(tǒng)一跨專業(yè)網(wǎng)絡(luò)信息交互共享、統(tǒng)一管理的實(shí)現(xiàn)。以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步洋細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為木發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種IDL信息到OWL信息的轉(zhuǎn)換方法,其特征在于該方法包括加載IDL文件,對(duì)所述加載的IDL文件進(jìn)行建模,通過(guò)所述建模生成的接口讀取所述加載的IDL文件中所有基本元素,并將所述讀取的基本元素轉(zhuǎn)換存儲(chǔ)為OWL信息文件。2.根據(jù)權(quán)利要求1所述的一種IDL信息到OWL信息的轉(zhuǎn)換方法,其特征在于,在讀取所述IDL文件中的基本元素時(shí),首先讀取當(dāng)前基本元素的關(guān)鍵字和名稱信息,接著逐一判斷當(dāng)前讀取的基本元素的關(guān)鍵字,如果所述關(guān)鍵字為interface,則讀取所述基本元素interface的繼承關(guān)系和所有子域attribute的關(guān)鍵字、名稱信息和取值類型。如果所述關(guān)鍵字為struct,則讀取所述基本元素struct所有子域參數(shù)的關(guān)鍵字、名稱信息和取值類型。如果所述關(guān)鍵字為union,則讀取所述基本元素union的鑒別器switch的取值類型和所有union子域參數(shù)的關(guān)鍵字、名稱信息和取值類型。如果所述關(guān)鍵字為array,則讀取所述基本元素array的元素個(gè)數(shù)。如果所述關(guān)鍵字為sequence,則讀取所述基本元素sequence的序列個(gè)數(shù)上邊界值,無(wú)上邊界時(shí)標(biāo)記為無(wú)上邊界。如果所述關(guān)鍵字為enum,則讀取所述基本元素enum的所有取值。所述讀取的名稱信息包括基本元素的簡(jiǎn)單名稱和全局名稱。所述讀取的取值類型,如果為構(gòu)造數(shù)據(jù)類型時(shí)讀取構(gòu)造數(shù)據(jù)關(guān)鍵字和類型名,否則讀取基本數(shù)據(jù)類型關(guān)鍵字。3.根據(jù)權(quán)利要求2所述的一種IDL信息到OWL信息的轉(zhuǎn)換方法,其特征在于,所述讀取的基本元素轉(zhuǎn)換存儲(chǔ)為OWL信息文件包括,根據(jù)所述讀取的基本元素,創(chuàng)建OWL文件、創(chuàng)建OWL的類并聲明類關(guān)系、創(chuàng)建OWL的屬性并聲明屬性特性,對(duì)創(chuàng)建的OWL屬性進(jìn)行屬性限制。4.根據(jù)權(quán)利要3所述的一種IDL信息到OWL信息的轉(zhuǎn)換方法,其特征在于,所述創(chuàng)建OWL文件包括,根據(jù)module全局名稱創(chuàng)建IDL基本元素映射的OWL文件,以module的全局名稱聲明OWL文件的命名空間。5.根據(jù)權(quán)利要求4所述的一種IDL信息到OWL信息的轉(zhuǎn)換方法,其特征在于,所述創(chuàng)建OWL的類并聲明類關(guān)系包括,根據(jù)所述讀取的interface、struct、union、array、sequence、enum對(duì)應(yīng)創(chuàng)建OWL的類。根據(jù)所述讀耳又的interface的繼承關(guān)系和取值為構(gòu)造數(shù)據(jù)類型的sequence,采用構(gòu)詞rdfs:subClassOf在生成的類中進(jìn)行父類聲明。所述sequence生成的類的父類為所述構(gòu)造數(shù)據(jù)類型對(duì)應(yīng)生成的類。對(duì)enum的數(shù)據(jù)元素,采用構(gòu)詞owl:oneOf將所有數(shù)據(jù)元素在所述enum生成的類中一一聲明。6.根據(jù)權(quán)利要求5所述的一種IDL信息到OWL信息的轉(zhuǎn)換方法,其特征在于,所述創(chuàng)建OWL的屬性并聲明屬性特性包括根據(jù)所述讀取的取值類型為構(gòu)造數(shù)據(jù)類型的attribute、struct子域參數(shù)和union子域參數(shù)對(duì)應(yīng)創(chuàng)建OWL的對(duì)象屬性,將所述屬性的定義域聲明為所述attribute所屬的interface子域參數(shù)所屬的struct或union對(duì)應(yīng)生成的類,值域聲明為所述構(gòu)造數(shù)據(jù)類型對(duì)應(yīng)生成的OWL的類。根據(jù)所述讀取的取^(直類型為基本數(shù)據(jù)類型的array、sequence、attribute、struct子域參數(shù)和union子域參數(shù)對(duì)應(yīng)創(chuàng)建OWL的數(shù)值屬性,將所述屬性的定義域聲明為所述array、sequence、attribute所屬interface、子域參數(shù)所屬struct或union對(duì)應(yīng)生成的類,值域聲明為所述IDL基本數(shù)據(jù)類型對(duì)應(yīng)的OWL中XmlSchema基本類型。針對(duì)所述讀取的union的子域參數(shù),還需要采用構(gòu)詞owl:FunctionalProperty聲明屬性特性,表示該屬性至多有唯一值。7.根據(jù)權(quán)利要求6所述的一種IDL信息到OWL信息的轉(zhuǎn)換方法,其特征在于,所述對(duì)創(chuàng)建的OWL屬性進(jìn)行屬性限制包括:針對(duì)讀取的取值類型為array、sequence的所述基本元素轉(zhuǎn)換存儲(chǔ)的OWL的屬性,采用構(gòu)詞owl:Cardinality、owl:minCardinality和owl:maxCardinality對(duì)所述OWL屬性進(jìn)行元素個(gè)數(shù)限制聲明。8.—種IDL信息到OWL信息的轉(zhuǎn)換裝置,其特征在于該裝置包括,IDL文件,加載單元,建模單元,讀取單元,映射單元,OWL文件;所述加載單元加載IDL文件,所述建模單元對(duì)所述IDL文件進(jìn)行建模,所述讀取單元通過(guò)所述建模單元生成的接口讀取所述IDL文件中的所有基本元素,所述映射單元將所述基本元素?zé)o損的映射并存儲(chǔ)于OWL文件中。9.根據(jù)權(quán)利要求8所述的種IDL信息到OWL信息的轉(zhuǎn)換裝置,其特征在于,所述讀取單元在讀取所述IDL文件中的基本元素時(shí),首先讀取當(dāng)前基本元素的關(guān)鍵字和名稱信息,接著逐一判斷當(dāng)前讀取的基本元素的關(guān)鍵字,如果所述關(guān)鍵字為interface,則讀取所述基本元素interface的繼承關(guān)系和所有子域attribute的關(guān)鍵字、名稱信息和取值類型。如果所述關(guān)鍵字為struct,則讀取所述基本元素struct所有子域參數(shù)的關(guān)鍵字、名稱信息和取值類型。如果所述關(guān)鍵字為union,則讀取所述基本元素union的鑒別器switch的取值類型和所有union子域參數(shù)的關(guān)鍵字、名稱信息和取值類型。如果所述關(guān)鍵字為array,則讀取所述基本元素array的元素個(gè)數(shù)。如果所述關(guān)鍵字為sequence,則讀取所述基本元素sequence的序列個(gè)數(shù)上邊界值,無(wú)上邊界時(shí)標(biāo)記為無(wú)上邊界。如果所述關(guān)鍵字為enum,則讀取所述基本元素enum的所有取值。所述讀取的名稱信息包括基本元素的簡(jiǎn)單名稱和全局名稱。所述讀取的取值類型,如果為構(gòu)造數(shù)據(jù)類型時(shí)讀取構(gòu)造數(shù)據(jù)關(guān)鍵字和類型名,否則讀取基本數(shù)據(jù)類型關(guān)鍵字。10.根據(jù)權(quán)利要求9所述的一種IDL信息到OWL信息的轉(zhuǎn)換裝置,其特征在于,所述映射單元根據(jù)所述讀取出的IDL文件的所有基本元素建OWL文件、創(chuàng)建OWL的類并聲明類關(guān)系、創(chuàng)建OWL的屬性并聲明屬性特性,對(duì)創(chuàng)建的OWL屬性進(jìn)行屬性限制。所述映射單元根據(jù)module全局名稱創(chuàng)建IDL基本元素映射的OWL文件,以module的全局名稱聲明OWL文件的命名空間。所述映射單元豐艮據(jù)所述讀取的interface、struct、union、array、sequence、enum對(duì)應(yīng)創(chuàng)建OWL的類。根據(jù)所述讀取的interface的繼承關(guān)系和取值為構(gòu)造數(shù)據(jù)類型的sequence,采用構(gòu)詞rdfs:subClassOf在生成的類中進(jìn)行父類聲明。所述sequence生成的類的父類為所述構(gòu)造數(shù)據(jù)類型對(duì)應(yīng)生成的類。對(duì)enum的數(shù)據(jù)元素,采用構(gòu)詞owl:oneOf將所有數(shù)據(jù)元素在所述enum生成的類中一一聲明。所述映射單元根據(jù)所述讀取的取值類型為構(gòu)造數(shù)據(jù)類型的attribute,struct子域參數(shù)和union子域參數(shù)對(duì)應(yīng)創(chuàng)建OWL的對(duì)象屬性,將所述屬性的定義域聲明為所述attribute所屬的interface、子域參數(shù)所屬的struct或union對(duì)應(yīng)生成的類,值域聲明為所述構(gòu)造數(shù)據(jù)類型對(duì)應(yīng)生成的OWL的類。所述映射單元根據(jù)所述讀取的取值類型為基本數(shù)據(jù)類型的array、sequence、attribute、struct子域參數(shù)和union子域參數(shù)對(duì)應(yīng)創(chuàng)建OWL的數(shù)值屬性,將所述屬性的定義域聲明為所述array、sequence、attribute所屬interface、子域參數(shù)所屬struct或union對(duì)應(yīng)生成的類,值域聲明為所述IDL基本數(shù)據(jù)類型對(duì)應(yīng)的OWL中XmlSchema基本類型。針對(duì)所述讀取的union的子域參數(shù),還需要采用構(gòu)詞owl:FunctionalProperty聲明屬性特性,表示該屬性至多有唯一值。所述映射單元針對(duì)讀取的取值類型為array、sequence的所述基本元素轉(zhuǎn)換存儲(chǔ)的OWL的屬性,采用構(gòu)詞owl:Cardinality、owl:minCardinality和owl:maxCardinality對(duì)所述OWL屬性進(jìn)行元素個(gè)數(shù)限制聲明。全文摘要本發(fā)明為了解決現(xiàn)有技術(shù)中沒(méi)有有效對(duì)IDL文件轉(zhuǎn)換存儲(chǔ)為OWL文件的問(wèn)題,提供一種IDL信息到OWL信息的轉(zhuǎn)換方法及裝置。本發(fā)明方法公開了以下技術(shù)手段實(shí)現(xiàn)上述目的,加載IDL文件,對(duì)所述加載的IDL文件進(jìn)行建模,通過(guò)所述建模生成的接口讀取所述加載的IDL文件中所有基本元素,并將所述讀取的基本元素?zé)o損的轉(zhuǎn)換存儲(chǔ)為OWL信息文件。根據(jù)本發(fā)明提供的轉(zhuǎn)換方法及裝置,可以解決IDL信息與CORBA平臺(tái)緊耦合,實(shí)現(xiàn)復(fù)雜,代價(jià)比較大,不利于信息跨域交互共享的問(wèn)題;同時(shí),發(fā)揮OWL與平臺(tái)無(wú)關(guān)性、描述能力強(qiáng)方面的優(yōu)勢(shì),從而支持信息的跨域交互共享、統(tǒng)一管理。文檔編號(hào)G06F17/30GK101393554SQ20081011995公開日2009年3月25日申請(qǐng)日期2008年9月12日優(yōu)先權(quán)日2008年9月12日發(fā)明者劉會(huì)永,孟朱麗,孟洛明,李文璟,翱熊,穎王,芮蘭蘭,詹志強(qiáng),陳興渝申請(qǐng)人:北京郵電大學(xué)