日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

刻面分類和本體在類庫檢索中的應(yīng)用

出處:余金山,劉云城 發(fā)布于:2011-08-29 14:26:08

 

  類庫是程序員用來實現(xiàn)各種功能的類的集合。在程序設(shè)計里面是一個基本概念。所謂類,可以理解為是一組語句的集合,用來描述一組具有共同屬性和功能的對象。也可以簡單的理解為FRAMEWORK.類庫主要的好處是它們將Win32 API的常用的功能和外掛SDK的功能封裝到了一個統(tǒng)一的包中。采用清晰而有條理的方式對類庫進行了分組和描述,這樣開發(fā)者能更容易地找到他們的應(yīng)用程序所需的大多數(shù)功能。相反,在過去幾年中,新功能要么被"綁縛"到Win32 API上,要由通過獨立的API(例如用于圖形的Directx,或者用于XML和SOAP的不同的SDK)來提供。對它們能做的邏輯分組就是按照字母順序進行排序。結(jié)果,使用Win32 API和各種SDK經(jīng)常使人暈頭轉(zhuǎn)向,而開發(fā)者必須判斷幾個類似的API中哪一個適合他們特定的要求。

  本文介紹一個結(jié)合刻面分類描述和本體語義的類庫管理和檢索方法,通過刻面分類描述機制和本體的語義擴展及推理能力,有效地對類進行存儲和管理,方便用戶快捷準確地從類庫中尋找適合自己需要的類,從而更好地達到軟件復(fù)用的目的。主要內(nèi)容有:給出一個合適的刻面模型對類進行不同維度的描述;XML在刻面分類描述中的應(yīng)用;在刻面分類的基礎(chǔ)上建立本體庫,用來表示類的整個分類體系,以及基于刻面分類和本體的檢索方法。

  1 類庫的刻面分類與描述

  類的整體說明信息包括類的語義信息和類的關(guān)系信息。類的語義信息包括類名、屬性、服務(wù)、所屬類型、所屬開發(fā)階段等信息。類的關(guān)系信息包括類與其他類的關(guān)系信息。

  在類庫中,每個元素都是一個類,這些類由屬性和作用于屬性之上的操作構(gòu)成。屬性可以分為靜態(tài)屬性和動態(tài)屬性。靜態(tài)屬性屬于所有對象的全體,意味著不存在該類的對象,靜態(tài)屬性也是存在的;動態(tài)屬性隨著對象的存在而存在,隨對象的改變而改變。操作也可以分為靜態(tài)操作和動態(tài)操作。兩者不同之處在于靜態(tài)操作可以不存在操作的主體,而動態(tài)操作必須要有操作的主體,即發(fā)起者。

  類與其他類之間具有幾種不同的關(guān)系.

 ?。?)繼承關(guān)系。在繼承關(guān)系中子類自動繼承父類的屬性和方法,子類依賴父類而存在,如果單獨復(fù)用子類,而忽略了其父類,必然會導致信息的不完整,而出現(xiàn)復(fù)用錯誤。所以,作為依賴方的子類入庫時,需要同時保存父類的信息以及它們之間的繼承關(guān)系。

  (2)聚合關(guān)系。當整體和部分的關(guān)系緊密時,整體不能缺少部分,所以作為依賴方的整體入庫時,需要同時保存部分類的信息和它們之間的聚合關(guān)系。

 ?。?)實例連接關(guān)系。一般通過對象的屬性來表示一個對象與另一個對象之間的依賴關(guān)系。一般來說,該關(guān)系并不影響對象作為獨立存在的類入庫。

  (4)消息連接。即所謂的類與類之間的合作關(guān)系。消息連接具有很強的依賴性。一方要通過調(diào)用另一方的服務(wù)來實現(xiàn)本身所提供的服務(wù),如果缺少對方的支持,則本身無法完成相應(yīng)的服務(wù)。因此作為依賴方的調(diào)用類入庫時,需要同時保存被調(diào)用類的復(fù)用信息以及它們之間的合作關(guān)系。

  通過以上幾種關(guān)系的分析可知,依賴性在各個關(guān)系中普遍存在。如果一個類不能單獨存在,必須依賴其他類存在并得以保持其完整性,則需要將被依賴類和依賴類以及它們之間的關(guān)系同時入庫保存。

  本系統(tǒng)用刻面分類表示類本身的信息,類與其他類之間的關(guān)系則通過本體描述。

  根據(jù)刻面分類描述的精簡、一致性、全面性、刻面正交性、易于理解的原則,選擇以下刻面和子刻面:

  類的基本信息:類的ID、名稱、版本,類的入庫時間等。

  類的功能:操作、操作對象、操作描述等。

  類的應(yīng)用環(huán)境:開發(fā)語言、硬件環(huán)境、操作平臺、數(shù)據(jù)庫平臺等。

  類的應(yīng)用領(lǐng)域:類的具體應(yīng)用范疇。

  類的刻面分類與術(shù)語示例如表1所示。

  用類的刻面信息建立類庫的刻面模型,使用XML語言進行描述,同時在類入庫的時候,根據(jù)用戶所提交的信息,自動生成XML文檔。例如DBconnect類的刻面信息:

  <?xml?version?="1.0"?encoding?="GB2312"?standalone="yes"??>

  <?XML-stylesheet?type="text/xsl"?href="yxfqust.xsl"??>

  <!-- class faceted information-->

  <?xml version="1.0"?>

  <Class>

  <!-- basic information -->

  <BasicInfo>

  <ID>001</ID>

  <Name>DBConnect</Name>

  <Version>1.0</Version>

  <Provider>sun</Provider>

  <EnrollTime>2000-01-01</EnrollTime>

  </BasicInfo>

  <!-- application platform -->

  <ApplicationPlatform>

  <DL>Java</DL>

  <Database>mysql,sqlserver</Database>

  <system>windows,linux</system>

  </ApplicationPlatform>

  <!-- application domain -->

  <ApplicationDomain>information system</ApplicationDomain>

  <!-- operation information -->

  <OperationInfo>

  <Operation>connect to database </Operation>

  <OperationOn>database</OperationOn>

  <OperationDesc>connect to database in different ways</OperationDesc>

  </OperationInfo>

  </Class>

  從具體問題的需求出發(fā),XML具有如下的突出優(yōu)點[5]:

  (1)可讀性。用XML描述對于任何用戶或是計算機程序來說,都容易閱讀和處理。

 ?。?)XML的自描述性使得客戶端在收到數(shù)據(jù)的同時也能理解數(shù)據(jù)的邏輯結(jié)構(gòu)和含義,從而能直接對這些自描述的XML文件中的數(shù)據(jù)進行操作,增強了檢索的語義和作用。

  (3)表示的獨立性和內(nèi)容的獨立性帶來的靈活性。內(nèi)容與表示的分離,支持用戶界面?zhèn)€性化。表示和操作的分離,支持不同數(shù)據(jù)源的無縫連接。

  (4)強大的表達能力。無論是何種數(shù)據(jù)源,新的、老的,是否異構(gòu),XML都可以用統(tǒng)一的模式進行描述和訪問。

 ?。?)可擴展性。XML可以在不破壞現(xiàn)有結(jié)構(gòu)和系統(tǒng)的情況下增加新的數(shù)據(jù)字段,不影響新老客戶端的使用。

  XML的這些特點可以為使用者在需要訪問不同的源類庫時提供標準的統(tǒng)一接口。

  檢索采用XML樹的索引技術(shù)和模型匹配檢索算法.

  一個刻面描述可以展開成為一棵刻面描述樹,而XML文檔的數(shù)據(jù)結(jié)構(gòu)就是樹狀結(jié)構(gòu)。對一個刻面描述方案,可以將其中的刻面和子刻面分別映射為樹中對應(yīng)的父節(jié)點和子節(jié)點,對采用某個刻面描述方案描述的類,可以將其對應(yīng)的刻面描述術(shù)語映射為對應(yīng)的葉子節(jié)點。

  對于類的查詢也可以相應(yīng)地表示為一棵查詢樹,即將查詢中出現(xiàn)的刻面名和子刻面名轉(zhuǎn)化為對應(yīng)的父節(jié)點和子節(jié)點,將查詢刻面的術(shù)語值轉(zhuǎn)化為葉子節(jié)點,并且用一個虛擬的根節(jié)點將它們組合成為一棵查詢樹。因此,對于類的檢索就轉(zhuǎn)化為查詢樹與庫中類的刻面描述樹之間的匹配。

  用戶在客戶端輸入查詢條件后,由服務(wù)層中的元數(shù)據(jù)服務(wù)組件負責根據(jù)用戶查詢條件生成X-Query查詢語句,并進行同義詞與近義詞處理。然后將生成的X-Query查詢語句通過數(shù)據(jù)訪問接口的查詢解釋器分解查詢請求,按照數(shù)據(jù)映射提供的存儲規(guī)則與對象合成器交互,使用XML數(shù)據(jù)的無序樹匹配的松弛匹配技術(shù)進行檢索。

  2 建立本體表示類庫中類的依賴性關(guān)系

  這里引入本體的主要目的為:(1)利用本體描述類之間的關(guān)系;(2)通過本體擴展類庫的刻面分類描述體系,利用本體具有的良好的概念層次結(jié)構(gòu)和對邏輯推理的支持,實現(xiàn)基于語義上的匹配檢索,從而提高查全率和查準率。

  本體不僅可以描述類與類之間的各種關(guān)系及刻面術(shù)語之間的同義詞和上下文關(guān)系,還可以描述刻面術(shù)語之間所具有的其他各種關(guān)系,從而盡量從語義上來建立類信息的全面描述。

 ?。?)概念類。概念類表示特定領(lǐng)域中的一組或一類實體,每個概念的不同特點可以由不同的屬性描述。如工作描述、功能、行為。語義上講,它表示的是對象的集合。

  (2)公理是表示某一個特定領(lǐng)域內(nèi)的一些永真式,用來描述和解釋元素及其元素之間的關(guān)聯(lián)和約束問題。

 ?。?)關(guān)系代表概念類之間的關(guān)系,形式上定義為n維的笛卡爾乘積的子集。基本關(guān)系是類的層次關(guān)系,即所謂的繼承關(guān)系。除此之外,還有連接關(guān)系,連接關(guān)系表示除了上下位關(guān)系之外的其他關(guān)系。具體關(guān)系如表2所示。

  (4)實例代表元素。從語義上可以理解為對象。

  OWL(Web Ontology Language)是W3C開發(fā)的一種網(wǎng)絡(luò)本體語言,用于對本體進行語義描述。由于OWL是針對各方面的需求在DAML+0IL 的基礎(chǔ)上改進而開發(fā)的,所以一方面要保持對DAML+0IL/RDFS的兼容性,另一方面又要保證更加強大的語義表達能力,同時還要保證描述邏輯(DL,Description Logic)的可判定推理,因此,W3C的設(shè)計人員針對各類特征的需求制定了三種相應(yīng)的OWL的子語言,即OWL Lite、OWL DL和OWL Full,而且各子語言的表達能力遞增。OWL Lite是表達能力弱的子語言。它是OWL DL的一個子集,但是通過降低OWL DL中的公理約束,保證了迅速高效的推理。它支持基數(shù)約束,但基數(shù)值只能為0或l.因為OWL Lite表達能力較弱,為其開發(fā)支持工具要比其他兩個子語言容易一些。OWL Lite用于提供給那些僅需要一個分類層次和簡單約束的用戶

  本體的開發(fā)使用由HP實驗室研究開發(fā)的基于Java的開放源代碼Jena.選擇Jena的理由是:它為解析RDF、RDFS、OWL和SPARQL提供了一個編程環(huán)境和一個基于規(guī)則的推理引擎;Jena允許將數(shù)據(jù)保存到硬盤或OWL文件或關(guān)系數(shù)據(jù)庫中;Jena的推理機制支持在創(chuàng)建模型的時候?qū)⑼评頇C與模型相關(guān)聯(lián),能實現(xiàn)基于規(guī)則的推理。

  對于類庫檢索,本體庫中關(guān)系的重要意義在于支持語義推理和擴展查詢,以提高查全率和查準率。要進行基于本體的類庫檢索,首先應(yīng)該建立一個本體庫,針對類庫進行分析和抽取概念:類庫、類、類的基本信息、類的刻面信息、類的接口信息、刻面、術(shù)語等。同時分析概念與概念之間的關(guān)系。

  用OWL語言來描述類庫本體可在描述邏輯的基礎(chǔ)上建立概念分類層次,然后定義概念類的屬性和創(chuàng)建類的實例。

  首先確定本體所包含的概念和概念的層次,如類庫中出現(xiàn)的概念包括以下幾個實體:Library、Class、Facet、Terms等。

  可以用OWL語言定義如下:

 ?。?)OWL的概念通過owl:Class定義

  <owl: Class rdf:ID="Library">

  <rdfs: label>類庫</rdfs:label>

  </owl: Class>

 ?。?)概念之間的繼承關(guān)系可以用<rdfs:subClassOf>表示。如功能刻面是刻面的一個子概念:

  <owl: Class rdf: ID="OperationFacet">

  <rdfs: label>功能刻面</rdfs:label>

  <rdfs: subClassOf rdf resource="#Facet">

  </owl: Class>

  (3)定義概念的屬性屬性是一個二元的關(guān)系。OWL定義了兩種屬性,即owl:Datatype Property和owl:Object Property.前者是概念的成員和數(shù)據(jù)類型,后者是不同概念之間的關(guān)系。如定義一個DatatyperProperty屬性的className:

  <owl: DatatypeProperty rdf: ID="className">

  <rdfs: domain rdf: resource="Class">

  <rdfs: range rdf: resource="&xsd;string">

  </owl: DatatypeProperty>

  下面定義一個ObjectProperty屬性的containClass:

  <owl: ObjectProperty rdf: ID="containClass">

  <rdfs: domain rdf resouce="#Library"/>

  <rdfs: range rdf:resource="#Class">

  </owl: ObjectProperty>

 ?。?)傳遞性TransitiveProperty

  對稱性SymmetricProperty、自反性Inverseof、等價傳遞性InverseFunctionalProperty.

 ?。?)定義類與類之間的等價關(guān)系

  <owl:InverseFunctionalProperty rdf:ID="equals">

  <owl:inverseOf rdf:resoure="#equals"/>

  <rdfs:domain rdf:resource="#class1">

  <rdfs:range rdf:resoure="#class2"/>

  Owl可以用來定義和表示類與類、類與屬性之間豐富的語義關(guān)系。在面向?qū)ο笾蓄惻c類之間的關(guān)系是確定的,如繼承、依賴、聚合等。

  本體庫的建立是相當麻煩的,如果能夠在軟件設(shè)計過程中抽取本體,則以后本體的建立會節(jié)省不少的時間。目前,將面向?qū)ο蟮乃枷肱c本體建模的思想相結(jié)合得到了一定的研究,這些研究成果對領(lǐng)域本體的構(gòu)建有一定的推進作用。例如參考文獻[9]給出的一種從UML類圖到OWL映射方法。

  3 加入本體后的類庫檢索

  在進行檢索時,首先利用本體知識對檢索條件進行預(yù)處理,對檢索條件進行加強與擴展,然后檢索引擎用處理后的條件進行檢索,將得到更符合用戶需求的返回結(jié)果。利用本體含有的語義信息檢索出語義上匹配的類。

  基于本體描述的類庫,可以分作三層:層為數(shù)據(jù)服務(wù)層,存放刻面描述完畢的類實體,實現(xiàn)對類的存儲,包括本體庫和XML數(shù)據(jù)庫等;中間層為功能應(yīng)用層,包括本體的推理檢索模塊,數(shù)據(jù)訪問等功能,主要采用組件開發(fā)技術(shù)來完成功能;外層是表示層,負責與用戶的交互及為用戶顯示界面和提供一個可視化的瀏覽接口。如圖1所示。


  實現(xiàn)采用MVC架構(gòu)的Struts.

  本體的查詢模塊通過Jena提供的推理機接口,利用同義、上下位和語義關(guān)系,或者第三方推理機推理出隱含的語義,從而使得查詢得以擴展。利用Owl本體概念的描述邏輯進行相關(guān)和相近概念的推理運算。

  (1)用戶通過查詢界面輸入查詢條件。

 ?。?)生成初始查詢,如分詞、關(guān)鍵詞匹配。

 ?。?)查詢擴展。對初始查詢進行語義擴展,然后把擴展后的術(shù)語集通過查詢界面顯示給用戶。本體擴展包括以下幾種類型:同義擴展、層次擴展、屬性擴展、公理擴展和規(guī)則擴展。返回的術(shù)語集包括術(shù)語之間的關(guān)系以及相應(yīng)的解釋。

  (4)細化:用戶根據(jù)返回的術(shù)語集進一步明確自己的需求。

 ?。?)執(zhí)行查詢和返回查詢結(jié)果,同時考慮將檢索結(jié)果按照查詢匹配度進行排序。

  4 實驗評測

  環(huán)境和工具:Tomcat服務(wù)器,Eclipse開發(fā)平臺,Protégé,sql server2000數(shù)據(jù)庫,Jena推理機,Java類庫中的資源。

  類庫常規(guī)關(guān)鍵詞檢索方法與本系統(tǒng)檢索方法的效率對比,如表3所示。

  類作為面向?qū)ο笤O(shè)計中的重要元素,為軟件復(fù)用的實現(xiàn)提供了良好的條件。為了改進現(xiàn)有的類庫檢索不方便、效率低等問題,本系統(tǒng)在刻面描述的基礎(chǔ)上,結(jié)合本體語義檢索的思想,較好地解決了傳統(tǒng)的類庫檢索方法無法真正理解用戶的檢索意圖,以及查全率和查準率相對差的缺點,用戶可方便快捷地從類庫中尋找適合自己需要的類,從而更好地達到軟件復(fù)用的目的。下一步工作將是實現(xiàn)類庫中的類的刻面自動分類和本體信息提取。

 


  

版權(quán)與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!