999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于刻面分類和本體的類庫檢索*

2010-11-27 01:46:30余金山劉云城
網絡安全與數據管理 2010年23期
關鍵詞:語義概念信息

余金山,劉云城

(華僑大學 計算機學院,福建 泉州 362011)

軟件復用是提高軟件生產力和質量的一種重要技術,已被視為是解決軟件危機、提高軟件生產率和質量的現實可行途徑。目前研究最多的是基于軟構件的復用,或稱之為基于構件的軟件工程 (CBSE)。而要實現CBSE,其最根本的問題是要有可用的軟構件。完整的構件庫是實現CBSE的關鍵,但各個開發者或開發機構要創建各自的、絕對完整的構件庫是不可能的,或在經濟上與時間上是不可行的。

面向對象方法不僅為軟件復用的實現提供了內在的結構性支持,也通過類庫的類而直接支持代碼復用。當前,許多面向對象開發工具都建立了自己的類庫,類庫所起的作用越來越重要。類庫已成為一種現成的、寶貴的可復用的軟件資產。

但是,類和軟構件是有區別的,類庫也不是一般的軟構件庫。目前大部分的類庫管理系統都存在一些問題,如只能通過瀏覽導航的方式查找類,這限制了程序開發員快速、準確、高效地檢索出所需的類。

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

目前國內外對類庫的改進研究有:呂楓華等人提出的基于類相似性比較的類庫檢索方法,著重討論了比較類相似程度的近似度量方法,及其在類庫檢索中的應用,并且給出了一個行之有效的基于規則的類庫檢索工具[1]。葉青青等人提出的基于語義與句法的Java類庫檢索方法,使得開發者可以使用自然語言描述待開發軟件的功能語義,提高可復用類庫查詢的精度[2]。徐正權等人提出的新的Softstore軟件庫系統模型[3],其主要思想是利用相對比較成熟的Internet以及數據庫管理技術,對軟件資源進行有效管理。

1 類庫的刻面分類與描述

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

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

類與其他類之間具有幾種不同的關系[4]。

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

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

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

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

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

本系統用刻面分類表示類本身的信息,類與其他類之間的關系則通過本體描述。

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

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

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

類的應用環境:開發語言、硬件環境、操作平臺、數據庫平臺等。

類的應用領域:類的具體應用范疇。

類的刻面分類與術語示例如表1所示。

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

表1 類的刻面分類與術語示例

從具體問題的需求出發,XML具有如下的突出優點[5]:

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

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

(3)表示的獨立性和內容的獨立性帶來的靈活性。內容與表示的分離,支持用戶界面個性化。表示和操作的分離,支持不同數據源的無縫連接。

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

(5)可擴展性。XML可以在不破壞現有結構和系統的情況下增加新的數據字段,不影響新老客戶端的使用。

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

檢索采用XML樹的索引技術和模型匹配檢索算法[6-8]。

一個刻面描述可以展開成為一棵刻面描述樹,而XML文檔的數據結構就是樹狀結構。對一個刻面描述方案,可以將其中的刻面和子刻面分別映射為樹中對應的父節點和子節點,對采用某個刻面描述方案描述的類,可以將其對應的刻面描述術語映射為對應的葉子節點。

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

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

2 建立本體表示類庫中類的依賴性關系

前面的分析指出類庫中的類普遍存在依賴性關系,這些依賴性關系具有很強的語義信息,例如繼承、某些類不能單獨存在必須依賴其他類而存在才得以保持其完整性等。這里引入本體的主要目的為:(1)利用本體描述類之間的關系;(2)通過本體擴展類庫的刻面分類描述體系,利用本體具有的良好的概念層次結構和對邏輯推理的支持,實現基于語義上的匹配檢索,從而提高查全率和查準率。

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

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

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

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

表2 本體基本關系表

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

本體的表示采用基于Web的本體描述語言OWL。OWL能夠用于清晰地表達詞匯表中詞匯以及詞匯之間的本體關系。用戶需要借助本體查詢語言來對本體進行利用。本體查詢語言作為應用程序使用本體的一個接口。

本體的開發使用由HP實驗室研究開發的基于Java的開放源代碼Jena。選擇Jena的理由是:它為解析RDF、RDFS、OWL和 SPARQL提供了一個編程環境和一個基于規則的推理引擎;Jena允許將數據保存到硬盤或OWL文件或關系數據庫中;Jena的推理機制支持在創建模型的時候將推理機與模型相關聯,能實現基于規則的推理。

對OWL處理而言,語義邏輯的處理才是推理機制的實現。Jena提供的OWL支持包括:方便地訪問標準OWL的類和屬性;支持多種版本的OWL規范;在基本的查詢中通過subClassOf這樣的關系來實現類的層級訪問和使用。

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

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

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

可以用OWL語言定義如下:

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

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

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

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

(4)傳遞性 TransitiveProperty

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

(5)定義類與類之間的等價關系

Owl可以用來定義和表示類與類、類與屬性之間豐富的語義關系。在面向對象中類與類之間的關系是確定的,如繼承、依賴、聚合等。

本體庫的建立是相當麻煩的,如果能夠在軟件設計過程中抽取本體,則以后本體的建立會節省不少的時間。目前,將面向對象的思想與本體建模的思想相結合得到了一定的研究,這些研究成果對領域本體的構建有一定的推進作用。例如參考文獻[9]給出的一種從UML類圖到OWL映射方法。

3 加入本體后的類庫檢索

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

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

實現采用MVC架構的Struts。

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

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

(2)生成初始查詢,如分詞、關鍵詞匹配。

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

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

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

4 實驗評測

環境和工具:Tomcat服務器,Eclipse 開發平臺,Protégé,sql server2000數據庫,Jena推理機,Java類庫中的資源。

類庫常規關鍵詞檢索方法與本系統檢索方法的效率對比,如表3所示。

表3 檢索結果對比表

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

[1]呂楓華,王和珍,費翔林.類相似性的比較及其在類庫檢索中的應用[J].軟件學報,1997,8(4):278-282.

[2]葉青青,江水.基于語義與句法的Java類庫檢索方法與系統[J].計算機工程,2004,30(23).

[3]徐正權.類庫系統研究及其與軟件庫的融合[J].計算機與數字工程,2007,38(6):67-69.

[4]張文娟.面向對象軟件開發工具集中類庫和模型庫的研究與實現[J].計算機工程,2002,28(3).

[5]余金山.基于 XML,Tamino和CORBA的軟構件管理與檢索技術[J].華僑大學學報,2008,29(4):518-521.

[6]MICHIELS P.MIHAILA G A.SIMEON J.Put a tree pattern in your algebra[C].IEEE 23rd International Conference on DataEngineering, 2007.ICDE 2007.IEEE 2007:246-255.

[7]徐如志,錢樂秋,程建平,等.基于 XML的軟件構件查詢匹配算法研究[J].軟件學報,2003,14(7).

[8]張海龍,彭鑫.基于刻面與本體的資源描述與檢索系統的設計與實現[J].計算機應用與軟件,2007,24(9).

[9]劉振中,劉勇.基于UML類圖的 OWL本體映射方法[J].計算機工程,2009,35(13):40-45.

猜你喜歡
語義概念信息
Birdie Cup Coffee豐盛里概念店
現代裝飾(2022年1期)2022-04-19 13:47:32
語言與語義
幾樣概念店
現代裝飾(2020年2期)2020-03-03 13:37:44
學習集合概念『四步走』
聚焦集合的概念及應用
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
“上”與“下”語義的不對稱性及其認知闡釋
現代語文(2016年21期)2016-05-25 13:13:44
認知范疇模糊與語義模糊
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
語義分析與漢俄副名組合
外語學刊(2011年1期)2011-01-22 03:38:33
主站蜘蛛池模板: 国产精品蜜臀| 亚洲成人在线免费| 亚洲精品自拍区在线观看| 91青青草视频在线观看的| 色网在线视频| 在线免费a视频| 国产办公室秘书无码精品| 四虎国产精品永久在线网址| 性色一区| 国产麻豆aⅴ精品无码| 91精品小视频| 91探花在线观看国产最新| 极品国产一区二区三区| 91精品视频在线播放| 久久精品人人做人人爽| 麻豆国产在线观看一区二区| 无码内射中文字幕岛国片| 国产理论最新国产精品视频| 免费 国产 无码久久久| 亚洲天堂视频网站| 国产成在线观看免费视频| 国产成年无码AⅤ片在线 | 九九热这里只有国产精品| 国产极品美女在线播放| 亚洲精品人成网线在线| 亚洲日韩高清无码| 91精品久久久久久无码人妻| 欧美福利在线观看| 欧美精品色视频| 欧美精品aⅴ在线视频| 美女毛片在线| 国产精品国产三级国产专业不| 久久精品aⅴ无码中文字幕| 91国内在线观看| 美女视频黄又黄又免费高清| 国产精品综合色区在线观看| 强奷白丝美女在线观看| 欧美第九页| 国产又粗又猛又爽| 999国内精品视频免费| 欧美啪啪一区| 亚洲AV无码不卡无码| 91青青草视频在线观看的| www.91在线播放| 国产精品3p视频| 2020国产精品视频| 成人国产精品一级毛片天堂| 亚洲欧洲自拍拍偷午夜色| 91无码网站| 欧美日韩久久综合| 久久综合五月婷婷| 欧美五月婷婷| 91成人精品视频| 在线观看亚洲成人| 精品欧美一区二区三区久久久| 五月丁香伊人啪啪手机免费观看| 国内精品一区二区在线观看| 免费国产黄线在线观看| 国产在线视频欧美亚综合| 无码日韩人妻精品久久蜜桃| 五月婷婷丁香综合| 久久视精品| 精品第一国产综合精品Aⅴ| 国产人成乱码视频免费观看| 免费中文字幕在在线不卡| 天天激情综合| jizz在线观看| 亚洲制服丝袜第一页| 精品无码国产自产野外拍在线| 亚洲成人黄色在线| 免费国产不卡午夜福在线观看| 性欧美精品xxxx| 婷婷六月综合| 久久精品免费国产大片| 99久久人妻精品免费二区| 国产日韩精品一区在线不卡| 亚洲天堂久久| 蜜芽国产尤物av尤物在线看| 2021国产在线视频| 九九九精品视频| 亚洲成在人线av品善网好看| 免费国产小视频在线观看|