欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于關(guān)系數(shù)據(jù)庫系統(tǒng)中基于本體的語義匹配的系統(tǒng)的制作方法

文檔序號:6657063閱讀:751來源:國知局
專利名稱:用于關(guān)系數(shù)據(jù)庫系統(tǒng)中基于本體的語義匹配的系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及在關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)中存儲和處理本體數(shù)據(jù)的方法和裝置。
背景技術(shù)
單個詞在不同的語境中通常具有不同的含義詞“老鼠”在一種語境中可能指一種動物而在另一種語境種可能指計算機輸入設(shè)備。不同的詞可能表示同一個物,如詞“TV”和“television”。并且詞可能以特別的方式相互關(guān)聯(lián);例如,“獅子狗”總是“狗”,但“狗”不總是“獅子狗”。
人類通過理解詞被使用的語境來學(xué)會如何應(yīng)付語言的含糊性。計算機可通過參考表示詞和它們相互關(guān)系的名為“本體”的數(shù)據(jù)結(jié)構(gòu)被編程來做同樣的事情。
數(shù)據(jù)處理操作通常需要將一個詞與另一個詞匹配。因為單個詞在不同語境中會有不同的意思,并且不同的詞可指同一個物,簡單地檢驗兩個值是否相等經(jīng)常是不夠的。例如,假設(shè)有一個基于自己偏愛來向用戶推薦餐館的計算機餐館指南應(yīng)用程序。這樣的應(yīng)用可能使用名為“served_food”的通過一列中它的ID號“R_id”和它在名為“菜式(Cuisine)”的另一列中提供的事物種類來識別各個餐館的數(shù)據(jù)庫表。在沒有詞義匹配的情況下,如果用戶希望識別提供Latin American的餐館,傳統(tǒng)的數(shù)據(jù)庫應(yīng)用程序很可能使用如下的SQLSELECT語句來采取詞義匹配。
SELECT*FROM served_food WHERE cuisine=’Latin American’; 但這個查詢將不識別以提供“Mexican”“Spanish”或“Portuguese”菜服務(wù)列出的餐館,因為這些詞中沒有一個全等地匹配查詢中的詞“Latin American”。
更有意義的結(jié)果可通過考慮詞義的語義匹配來獲得。為此,匹配過程可能參考如圖1所示的本體,該本體顯示詞“LatinAmerican”包含由詞“Mexican”、“Spanish”和“Portuguese”確指的更具體的菜式類型。
等同性操作通常被用于只允許基于數(shù)據(jù)類型的結(jié)構(gòu)匹配而不考慮適合具體領(lǐng)域的語義的傳統(tǒng)數(shù)據(jù)庫系統(tǒng)中。語義可由一個或多個與該語義域相關(guān)聯(lián)的本體來確定。近年來,處理本體的方法已在語義網(wǎng)的環(huán)境中獲得了廣泛的關(guān)注。例如T.Berners-Lee、J.Hendler和O.Lassila的“The Semantic Web”in Scientific American,May,2001。用于構(gòu)建和使用本體的工具已可供使用,其中包括例如(1)A.Das,W.Wu,和D.McGuinness在他們的文章″Industrial Strength OntologyManagement,″(The Emerging Semantic Web,105 Press,2002)中描述的來自VerticalNet網(wǎng)的本體構(gòu)建器(OntologyBuilder)和本體服務(wù)器(OntologyServer);以及(2)B.Motik,A.Maedche,和R.Volz在他們的文章″A Conceptual Modeling Approach for Semantics-DrivenEnterprise Applications,″(Proceedings of the 2002 Confederated lilt.Conferences DOA/CoopIS/ODBASE,2002)中描述的KAON。這些工具可讓本體存入關(guān)系數(shù)據(jù)庫,并提供過程API(應(yīng)用程序接口)來訪問和操作本體。然而,為了將基于本體的語義匹配結(jié)合到應(yīng)用程序中,用戶需要利用提供的API來首先查詢本體,然后將從API得到的結(jié)果與在數(shù)據(jù)庫表上的查詢相結(jié)合,這對用戶來說是個繁重的過程并且需要附加的處理。
本體的形式表示有助于通過將關(guān)于目標(biāo)域的知識從其他應(yīng)用代碼中分離出來以構(gòu)建應(yīng)用程序。該分離充分簡化了應(yīng)用代碼,使得在多個應(yīng)用中共享由本體表示的知識變得容易,并且允許知識可無需符合應(yīng)用的若干改變地被擴展和糾正。
廣泛使用的關(guān)系數(shù)據(jù)庫系統(tǒng)必須利用本體來提供改良的結(jié)果。然而,為達到這個目標(biāo),RDBMS現(xiàn)有的性能必須被擴展以支持RDBMS中基于本體的語義匹配,并且這些增強的性能應(yīng)能以與數(shù)據(jù)庫用戶已熟悉的現(xiàn)行用法相一致的方式被使用。

發(fā)明內(nèi)容
本發(fā)明的優(yōu)選實施例通過引入一組新的SQL算子擴展了現(xiàn)有關(guān)系數(shù)據(jù)庫管理系統(tǒng)的性能,本文中稱該組算子為ONT_RELATED、ONT_EXPAND、ONT_DISTANCE、和ONT_PATH,它們用來執(zhí)行基于本體的語義匹配。這些算子允許數(shù)據(jù)庫用戶直接用SQL語句來確定本體數(shù)據(jù)的來源,可將這些語義匹配算子與其他傳統(tǒng)SQL操作如關(guān)連(joins)結(jié)合,以在執(zhí)行基于語義的匹配時利用SQL的完全表達能力。本發(fā)明構(gòu)思的語義匹配算子產(chǎn)生新的、有效的基于本體的易于開發(fā)的應(yīng)用程序,并且能夠容易地增強現(xiàn)有RDBMS應(yīng)用程序以獲得語義匹配的益處。
ONT_RELATED算子執(zhí)行基于本體的語義匹配,并用如下表達形式在SQL語句內(nèi)表達“ONT_RELATED(term1,reltype,term2,ontology).” 當(dāng)被執(zhí)行時,ONT_RELATED算子通過參考本體來確定兩個輸入詞(詞1和詞2)是否由規(guī)定的輸入關(guān)系類型“reltype”相關(guān)。
在執(zhí)行包含語義匹配算子的查詢之前,規(guī)定的本體被登錄到數(shù)據(jù)庫,并映射到系統(tǒng)定義表中。
兩個輔助算子,ONT_DISTANCE和ONT_PATH,被用來確定用于被識別的匹配行的附加量度,即分別為最短距離和最短路徑。這些算子在規(guī)定本體中識別最接近匹配的詞。兩個名為ONT_DISTANCE和ONT_PATH的輔助算子分別返回用于所有在本體中被識別的匹配詞的距離量度和路徑。
以O(shè)NT_EXPAND(term1,reltype,term2,ontology)形式表達的名為ONT_EXPAND的算子被用于直接訪問本體數(shù)據(jù)。該算子基于規(guī)定本體的規(guī)定關(guān)系(reltype)計算(term1,term2)的傳遞閉包。
該term1、reltype和term2可具有具體的輸入值或NULL值。NULL意為所有可能的值。例如,ONT_EXPAND(NULL,‘IS_A’,‘Vehicle’)將產(chǎn)生所有通過‘IS_A’關(guān)系與詞‘Vehicle’相關(guān)的詞。


在下面的詳細說明中將頻繁參照附圖,其中 圖1作為示例描述用于描述餐館提供的食物的詞之間的層次關(guān)系的本體; 圖2是說明用于實現(xiàn)本發(fā)明具體實施例的原理性數(shù)據(jù)結(jié)構(gòu)的方塊圖; 圖3是說明增加了EQV關(guān)系的圖;以及 圖4是說明用索引法加速詞匹配操作的方式的圖。
具體實施例方式1.導(dǎo)言 本發(fā)明使用一組SQL(結(jié)構(gòu)化查詢語言)算子以在存入關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的數(shù)據(jù)上執(zhí)行基于本體的語義匹配。這些SQL算子最好采用數(shù)據(jù)庫使用的現(xiàn)有SQL語法的擴展形式,并可用通常健壯數(shù)據(jù)庫系統(tǒng)中一般可用的數(shù)據(jù)庫可擴展性能(即定義用戶定義的算子、用戶定義的索引方案和表函數(shù)的能力)。下面描述的本發(fā)明的具體實施例已在用于Oracle數(shù)據(jù)庫族中的現(xiàn)有SQL語法之上實現(xiàn)。關(guān)于Oracle SQL語言及其語法的詳細信息可在從Oracle公司得到的Oracle8I SQL參考資料中找到。該參考資料包括對用于Oracle數(shù)據(jù)庫中信息管理的結(jié)構(gòu)化查詢語言(SQL)的完整描述。OracleSQL是美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)和國際標(biāo)準(zhǔn)化組織(ISO)SQL92標(biāo)準(zhǔn)的超集。本優(yōu)選實施例通過從OWL文件提取信息然后將該信息存入方案中來支持在網(wǎng)絡(luò)本體語言(OWL[OWLWeb OntologyLanguage參考資料(可從萬維網(wǎng)http://www.w3.org/TRlowl-ref上得到),具體而言就是OWL Lite和OWL DL)中規(guī)定的本體。
用在本優(yōu)選實施例中的基于本體的算子和索引方案使用如由J.Srinivasan,R.Murthy,S.Sundara,N.Agarwal和S.DeFazio在他們的文章“Extensible IndexingA Framework for Integrating Domain-Specific Indexing into Oracle8i,″Proceedings of the 16th InternationalConference on Data Engineering,pages 91-100,2000”中描述的Oracle的可擴展性框架。具體地說,ONT_RELATED、ONT_DISTANCE、和ONT_PATH算子作為用戶定義算子被執(zhí)行,而ONT_EXPAND作為表函數(shù)被執(zhí)行。算子執(zhí)行一般需要計算傳遞閉包,它在Oracle SQL中用具有CONNECT BY子句的查詢來執(zhí)行。索引法作為用戶定義的索引方案來執(zhí)行。盡管基于本體的函數(shù)在下面被描述于OracleRDBMS語境中,這些函數(shù)可在支持Oracle RDBMS提供的相同基本能力的任何RDBMS中得到支持。
在仔細考慮基于本體的匹配和相關(guān)函數(shù)如何被執(zhí)行之前,首先考慮這些算子如何可被用于提供前面的背景技術(shù)部分提到的餐館指南應(yīng)用程序所需要的那種語義匹配,這將不無益處。為在served_food數(shù)據(jù)庫表中查找用于提供Latin American的餐館,可使用如下的SELECT語句 SELECT*FROM served_food WHERE ONT_RELATED(Cuisine,′IS_A′′Latin American′,′Cuisine_ontology′)=1; 前面語句中的ONT_RELATED算子估計兩個輸入詞,一個來自served_food表的Cuisine列中的值和字符串自變量‘LatinAmerican’。該ONT_RELATED算子參考用于這兩個詞(如圖1所示)的意義的規(guī)定本體‘Cuisine_ontology’。如果該算子確定這兩個輸入詞通過輸入關(guān)系類型自變量‘IS_A’相關(guān)聯(lián),它將返回1(真),反之它返回0(假)。該查詢從而基于規(guī)定本體和環(huán)境中的‘IS_A’關(guān)系來識別包含與‘Latin American’相關(guān)聯(lián)的菜式的行,并識別提供‘Mexican’和‘Portuguese’菜的餐館2和14。ONT_RELATED算子從而使用戶能將基于本體的語義匹配引入到SQL查詢中。
或者,如后面更詳細闡述的,用戶也可能想得到被ONT_RELATED算子識別的行的量度。這可通過使用ONT_DISTANCE輔助算子來實現(xiàn)。該ONT_DISTANCE算子通過測量兩個詞之間的距離給出了詞關(guān)聯(lián)的接近程度的度量。例如,用戶可通過提交下列查詢來請求語義匹配的結(jié)果在該距離量度上被分類 SELECT*FROM served_food WHERE ONT_RELATED (cuisine,‘IS_A’,‘Latin American’,‘Cuisine_ontology’,123)=1 ORDER BYONT_DISTANCE(123); 在該查詢中,ONT_DISTANCE中的整型自變量123識別計算該輔助值的過濾算子表達式(ONT_RELATED)。同樣,另一個名為ONT_PATH的輔助算子可被用于計算兩個詞之間的路徑量度值。輔助算子由R.Murthy,S.Sundara,N.Agarwal,Y.Hu,T.Chorma和J.Srinivasan在他們的文章″Supporting Ancillary Values from UserDefined Functions in Oracle″,In Proceedings of the 19th InternationalConference on Data Engineering,pages 151-162,2003中描述。
此外,用戶可能想獨立地(不涉及用戶表)查詢本體。下面描述的算子ONT_EXPAND可用于該目的。
作為SQL的一部分提供基于本體的語義匹配能力可極大地有助于開發(fā)本體驅(qū)動數(shù)據(jù)庫應(yīng)用程序??墒芤娴膽?yīng)用程序包括電子商務(wù)(如供應(yīng)鏈管理、應(yīng)用集成、個性化和拍賣)。還有,必須用專門領(lǐng)域知識庫(如生物信息學(xué)、地理信息系統(tǒng)和保健應(yīng)用)工作的應(yīng)用程序也可利用該能力。這些能力也可被開發(fā)出來以支持語義網(wǎng)絡(luò)應(yīng)用程序,如網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)。這些應(yīng)用程序中的一項關(guān)鍵要求是提供在語法上不同的詞之間或有時在在語法上相同但語義不同的詞之間的語義匹配。
對基于本體的語義匹配的支持通過引入對現(xiàn)有數(shù)據(jù)庫能力的如下擴展來實現(xiàn)。
A.定義兩個新的SQL算子,ONT_RELATED和ONT_EXPAND,以建立基于本體的語義匹配操作的模型。為涉及ONT_RELATED算子的查詢定義兩個輔助算子ONT_DISTANCE和ONT_PATH,它們分別為被篩選的行返回距離和路徑。
B.定義新的索引方案ONT_INDEXTYPE來加速基于本體的語義匹配操作。
C.提供用于存儲本體的系統(tǒng)定義的ONTOLOGIES表。
在下面描述中第2部分提供了支持基于本體的語義匹配操作的特征的概要;第3部分通過擴展Oracle RDBMS的現(xiàn)有能力討論了本體相關(guān)函數(shù)的執(zhí)行;第4部分說明了本體相關(guān)函數(shù)可被用在幾個說明性數(shù)據(jù)庫應(yīng)用中的方式。
2.支持?jǐn)?shù)據(jù)庫系統(tǒng)中基于本體的語義匹配 2.1概要 本優(yōu)選實施例中的主要本體相關(guān)數(shù)據(jù)結(jié)構(gòu)與函數(shù)在圖2中說明并可總結(jié)如下 框201處的頂級本體表保存本體數(shù)據(jù),該表在內(nèi)部映射到框205處所示的一組系統(tǒng)定義表。
兩個算子用作查詢目的。ONT_EXPAND算子211可被用于獨立查詢本體,而ONT_RELATED算子215可用于執(zhí)行一個或多個持有本體詞的用戶表218上的查詢,這些本體詞的意思由系統(tǒng)定義表205中的本體數(shù)據(jù)規(guī)定。或者,用戶也可以在涉及ONT_RELATED算子215的查詢中使用輔助算子ONT_DISTANCE和ONT_PATH算子,以獲得由這些查詢提取的被篩選行的附加度量(距離和路徑)。
2.2用于存儲本體的RDBMS模式 RDBMS模式被創(chuàng)建以存儲OWL中規(guī)定的本體。這個RDBMS模式定義如下各表 本體包含關(guān)于各種本體的基本信息,并包括OntologyID、OntologyName和Owner等列。
詞代表本體中的類、個體和屬性并包括列TermID、OntologyID、Term和Type。詞是本體內(nèi)概念的詞匯表征。產(chǎn)生的TermID值在全部本體的范圍內(nèi)是唯一的。這允許在與定義詞的本體不同的本體中表示對該詞的引用。甚至OntologyID也可作為TermID處理,TermID有助于存儲各種屬性(例如注釋屬性)的值和加到一本體自身的其他信息,要注意,作為慣例,上述模式中任何其名稱為“...ID”形式的列實際上會包含TermID值(如同一個外鍵)。
屬性包含關(guān)于屬性的信息并包括OntologyID、PropertyID、DomainClassID、RangeClassID和Characteristics等列。一個屬性的域和范圍用對應(yīng)類的TermID值來表示。特征指出下列屬性中哪一個對于屬性是真的對稱性、傳遞性、函數(shù)性、反函數(shù)性。
限制包含關(guān)于屬性限制的信息并包括OntologyD、NewClassID、Propertyw、MinCardinality、MaxCardinality、SomeValuesFrom和AllValuesFrom等列。屬性上的限制導(dǎo)致一個新類的定義。該新類不必在OWL中命名(即為“匿名”類)。然而,我們在內(nèi)部創(chuàng)建新的(系統(tǒng)定義)類以易于表示。
關(guān)系包含關(guān)于兩個詞之間關(guān)系的信息并包括OntologyID、TermIDi、PropertyID和TermID2等列。
屬性值包含與詞相關(guān)聯(lián)的<屬性,值>對并包括OntologyID、TermID、PropertyID和Value等列。為處理不同數(shù)據(jù)類型的值,可用到下列組合為各個常遇到的類型定義單獨的表(或同一表中單獨的列),并用一種通用自描述類型(Oracle RDDMS中的ANYDATA)來處理任何剩余類型。
用于匿名類的系統(tǒng)定義類我們創(chuàng)建內(nèi)部的(即用戶不可見)或系統(tǒng)定義的類來處理在如屬性限制、枚舉類型(用在DataRange中),作為涉及IntersectionOf、Unionof、ComplementOf的表達而被表示的類定義的各種情形下產(chǎn)生的OWL匿名類。
引導(dǎo)本體首先下載到上述模式中的是OWL自身的基本概念。這在某種意義上類似于引導(dǎo)本體。例如·Thing和Nothing作為類被存儲。
·subClassOf作為聯(lián)系兩個類的傳遞(元)屬性被存儲。
·subPropertyOf作為聯(lián)系兩個屬性的傳遞(元)屬性被存儲。
·disjointWith作為聯(lián)系兩個類的對稱(元)的屬性被存儲。
·SarneAs作為聯(lián)系事物類中的兩個個體的傳遞和對稱屬性被存儲。
將這些OWL概念存儲為引導(dǎo)本體有助于推論。下面是一個簡例如果C1是C2的子類而C2是C3的子類,那么(由subClassOf的傳遞性)C1是C3的子類。注意subClassOf和SubPropertyOf的自反性質(zhì)被作為特例來處理。
下載本體用將OWL文件作為輸入的API將本體下載到數(shù)據(jù)庫。從OWL文件中提取信息,然后存入前面描述的RDBMS模式中的系統(tǒng)定義表中。
本體表存儲一些關(guān)于當(dāng)前存放于數(shù)據(jù)庫的所有本體的基本信息。該表的一部分(視圖)對用戶可見。
2.3建立基于本體的語義匹配的模型 為在RDBMS中支持基于本體的語義匹配,定義了幾個新算子。
2.3.1 ONT_RELATED算子。該算子模擬基本的語義匹配操作。它確定兩個輸入詞是否關(guān)于本體內(nèi)的規(guī)定的RelType關(guān)系自變量相關(guān)聯(lián)。如果它們相關(guān)聯(lián),該算子返回1,否則返回0。
ONT_RELATED(Term1,RelType,Term2,OntologyName)RETURNSINTEGER; RelType可規(guī)定單個ObjectProperty(如“IS_A”、“EQV”等)或它可通過使用AND、NOT和OR算子(例如,“IS_A”、“EQV”)規(guī)定這樣的屬性組合。注意Term1和Term2需為簡單詞。如果Term2需為涉及AND、NOT和OR算子的復(fù)式詞(complex),用戶可用若干單一詞發(fā)出查詢并將它們與INTERSECT、UNJON和MINUS算子組合。參見 ,例如2.3.4部分。
作為涉及OR和NOT算子(例如FatherOfOR MotherOf)的表達被規(guī)定的RelType,被看作具有傳遞性質(zhì)的虛擬關(guān)系(在這種情況下叫AncestorOf)(也參見3.2.5部分) 2.3.2 ONT_EXPAND算子。該算子被引入以獨立查詢本體。與ONT_RELATED算子類似,RelType可規(guī)定它們的簡單關(guān)系或它們的組合。
CREATE TYPE ONT_TermRelType AS OBJECT(Term1Name VARCHAR(32),PropertyName VARCHAR(32),Term2Name VARCHAR(32),TermDistance NUMBER,TermPath VARCHAR(2000)); CREATE TYPE ONT_TermRelTableType AS TABLE OFONT_TermRelType; ONT_EXPAND(Term1,RelType,Term2,OntologyName)RETURNS ONT_TermRelTableType; 通常,RelType的非空值和Term2被規(guī)定為輸入,然后考慮被規(guī)定的RelType特性(傳遞性或?qū)ΨQ性),該算子計算閉包中所有適當(dāng)?shù)?amp;lt;Term1,RelType,Term2>元組。此外,它也根據(jù)距離(TermDistance)和路徑(TermPath)計算關(guān)系度量。對于一個詞通過多條路徑與輸入詞關(guān)聯(lián)的情況,每條路徑被返回一行。也可能ONT_EXPAND調(diào)用可規(guī)定該3個參數(shù)中的任何一個或多個的輸入值,或者這三個參數(shù)中連一個也不規(guī)定。在各例中,返回<Term1,RelType,Term2>元組的適當(dāng)集合。
2.3.3 ONT_DISTANCE和ONT_PATH輔助算子.這些算子分別計算用ONT_RELATED算子篩選了的列的距離和路徑度量。
ONT_DISTANCE(NUMBER)RETURNS NUMBER; ONT_PATH(NEMBER)RETURNS VARCHAR; 結(jié)果得到的單一行可以用一個以上的方式與輸入詞關(guān)聯(lián)。對于這些情況,上述的算子返回最佳度量,即最小距離或最短路徑。為計算所有的匹配,設(shè)置了下面兩個算子。
ONT_DISTANCE_ALL(NUMBER)RETURNS TABLE OF NUMBER; ONT_PATH_ALL(NUMBER)RETURNS TABLE OF VARCHAR; 2.3.4餐館指南例.假設(shè)有一個維持各種餐館提供的菜式類型的餐館指南應(yīng)用程序。它具有兩個表1)包含餐館信息的restaurants,及2)包含餐館提供的菜式類型的servedfood。
餐館指南應(yīng)用程序?qū)⒉耸筋愋妥鳛檩斎氩⒎祷靥峁┰摬耸降牟宛^列表。很明顯,這類應(yīng)用程序可利用現(xiàn)有的菜式本體來為用戶的查詢提供較好的匹配。該菜式本體描述前面由圖1所示的各類菜式之間的關(guān)系。
從而,如果用戶對提供‘Latin American’菜式類型的餐館感興趣,數(shù)據(jù)庫應(yīng)用程序能產(chǎn)生如下查詢 SELECT r.name,r.addressFROM served_food sf,restaurant rWHER Er.id=sf.r_id AND ONT_RELATED(sf.cuisine,′IS_A OR EQV′,′Latin American′,′Cuisine_ontology′)=1; 為就‘Latin American’AND‘Western’進行查詢,該應(yīng)用程序可為各查詢獲得若干行,并用SQL INTERSECT操作來計算結(jié)果。
還有,該應(yīng)用程序在使用ONT_RELATED算子時可利用整個SQL表達能力。例如,它可以容易地將上述查詢結(jié)果與那些具有較低價格范圍的餐館組合。
SELECT r.name FROM served_food Sf,restaurant rWHERE r.id=sfr_id AND ONT_RELATED(sf.cuisine,′IS_A OR EQV′,′Latin American′,′Cuisine_ontology′)=1 AND r.price_range=’$’ 2.3.5討論.注意2.3.4部分中的查詢也可用ONT_EXPAND算子發(fā)出。例如,該部分中的第一個查詢能也可如下用ONT_EXPAND表達。
SELECT r.name,r.address FROM served_food sf,restaurant rWHERE r.id=sf.r_id AND sf.cuisine IN(SELECT Term1Name from TABLE(ONT_EXPAND(NULL,′IS_AOR EQV′,′Latin American′,′Cuisine_ontology′))); 因為下列原因,在ONT_EXPAND算子之外還提供了ONT_RELATED算子·ONT_RELATED算子可在持有本體詞的列上更自然地表達語義匹配操作的方式;以及·它允許使用創(chuàng)建于持有本體詞的列上的索引通過考慮列數(shù)據(jù)來加快查詢操作。
2.4推論 使用屬性的對稱性和傳遞性特征的推理規(guī)則被用來推出新的關(guān)系。這種推理可通過使用上面(詳見3.2部分)定義的算子來實現(xiàn)。注意我們對推論的支持限于OWL Lite和OWL DL,它們都是可判定的。
為使用上述的算子支持更完全的推理,在本體被裝載后完成推理的初始階段,該推理的結(jié)果被持久存儲并用在后續(xù)的推理中。下面是幾例初始化推理。
所有subPropertyOf關(guān)系在這個階段導(dǎo)出并保存。SameAs(例如sarneAs(x,y)AND sameAs(y,z)IMPLIES sameAs(x,z))的傳遞形態(tài)可由上面定義的算子來處理。然而,意指sameAs的更復(fù)雜的規(guī)則(例如p是函數(shù)屬性,p(a,x)AND p(b,y)AND sameAs(a,b)IMPLIESsameAs(x,y))在算子執(zhí)行之外被最好地處理。我們期望這些復(fù)雜的sameAs推理在初始化推理階段完成。為在閉包計算期間提供sameAs的語義,這些算子將單個′I′處理成′I OR J,for all J where sameAs(I,J)。
此外,我們引入對在復(fù)雜的subPropertyOf和inverseOf的交互上的推理有用的內(nèi)部關(guān)系SubPropertyOflnverseof(f,g)iff(x,y)IMPLIES g(y,x)。我們還期望將SubPropertyOfInverseof(縮寫spiOf;)引入本體(如inverseOf(f,g)IMPLIES spiOf(f,g)AND spiOf(g,f))的規(guī)則在初始化推理階段被處理。然而,spiOf的傳遞形態(tài)可作為算子內(nèi)的特例來處理,根據(jù)下列規(guī)則· subPropertyOf(f,g)AND spiOf(g,h)IMLIES spiOf(f,h)(Prooff(x,y)IMPLIES g(x,y)IMPLIES h(y,x))· spiOf(f,g)AND subPropertyOf(g,h)IMPLIES spiOf(f,h)(Prooff(x,y)IMPLIES g(y,x)IMPLIES h(y,x))· spiOf(f,g)AND spiOf(g,h)IMPLIES SubPropertyOf(f,h)(Prooff(x,y)IMPLIES g(y,x)IMPLIES h(x,y)) 如果考慮到subPropertyOf和spiOf的擴展,我們可找到給定屬性的所有關(guān)系元組,包括那些通過子屬性和反屬性意指的屬性??紤]其中非傳遞屬性被用于明確性的下例,該例擴展了ParentOf,。此例中,如果我們有subPropertyOf(MotherOf,ParentOf)和inverseOf(MotherOf,hasMother),我們將基于初始化推理階段的結(jié)果和上述的規(guī)則得到spiOf(hasMother,ParentOf)。然后hasMother(child,mother)將足以在結(jié)果集中產(chǎn)生ParentOf(mother,child) SELECT r.termID1,′ParentOf′,r.termID2 FROM relationships r,terms tWHERE r.propertyID=t.termID AND t.term IN(select term1Name FROMTABLE(ONT_EXPAND(NULL,′subPropertyOf′,′ParentOf′,
′Family_ontology′)))UNIONSELECT r.termID2,′ParentOf′,r.termID1FROM relationships r,terms tWHERE r.propertyID=t.termIDAND t.term IN(select term1Name FROMTABLE(ONT_EXPAND(NULL,′spiOf′,′ParentOf′,′Family_ontoIogy′))) 3. Oracle RDBMS上的本體相關(guān)函數(shù)的實現(xiàn) 本部分描述本體相關(guān)函數(shù)如何在Oracle RDBMS上實現(xiàn)。
3.1算子 ONT_RELATED算子被定義為主用戶定義算子,ONT_DISTANCE和ONT_PATH作為其輔助算子。該主算子計算輔助值作為其處理[97]的一部分。此例中,ONT_RELATED算子計算關(guān)系。如果需要輔助值(距離和路徑度量),它也可計算各輔助值。
注意Oracle中的用戶定義算子機制考慮到在多個調(diào)用范圍內(nèi)的共享狀態(tài)。因而,ONT_RELATED算子的執(zhí)行涉及在其第一次調(diào)用中用CONNECT BY子句(如3.2部分中描述的)構(gòu)建和編譯SQL查詢的步驟。算子隨后的各個調(diào)用就簡單地使用前面編譯的SQL游標(biāo),將該游標(biāo)與新輸入值聯(lián)編并執(zhí)行它以獲得結(jié)果。
ONT_EXPAND算子被定義為表函數(shù),因為它返回默認(rèn)為包括路徑和距離度量的行表。
3.2基本算法 ONT_RELATED和ONT_EXPAND的基本處理均涉及計算傳遞閉包,即給定開始節(jié)點用如下的關(guān)系連接來遍歷樹形結(jié)構(gòu)。同樣,作為傳遞閉包計算的一部分,我們需要跟蹤由開始節(jié)點和通過關(guān)系連接到達的目標(biāo)節(jié)點形成的各對的距離和路徑信息。
Oracle支持用如下CONNECT BY子句的傳遞閉包查詢 SELECT...FROM...START WITH<condition>
CONNECT BY<condition>; 開始節(jié)點基于START WITH子句中給出的條件選擇,然后節(jié)點基于CONNECT BY字句中給出的條件被經(jīng)過。父節(jié)點被PRIOR算子參照。為了計算距離和路徑,Oracle-provided LEVEL偽列(psuedo-column)和SYS_CONNECT_BY_PATH函數(shù)分別被用在具有CONNECT BY子句的查詢的選擇列表中。
注意在系統(tǒng)定義的關(guān)系表中,行表示“TermID1通過PropertyID關(guān)系與Term1D2相關(guān)聯(lián)”。例如,若‘A IS_A B’,則假設(shè)ontologyID是1,它被表示為行<1,A,IS_A,B>。
注意在閉包計算期間遇到的任何循環(huán),將由Oracle 10g(以各例中未明確說明)中有的CONNECT BY NOCYCLE查詢實現(xiàn)來處理。
為了簡明,我們使用關(guān)系表的稍微不同的定義,其中存儲詞名而不是termID。此例中,關(guān)系表具有列(OntologyName、Term1、Relation、Term2、...)。
為說明該處理,我們以餐館指南為例。Restaurant和served_food表中的數(shù)據(jù)如下所示 restaurant
served_food
3.2.1操作簡單詞.假設(shè)有一個具有簡單關(guān)系類型的查詢,即沒有AND、OR、NOT算子。2.3.4部分中給出的第一個查詢可作如下轉(zhuǎn)換 原查詢 SELECT r.name,r.address FROM served_food sf,restaurant rWHERE r.id &f.r_id ANDONT_RELATED(sf.cuisine,′IS~A′,′Latin American′,Cuisine_ontology′)=1; 經(jīng)轉(zhuǎn)換的查詢 SELECT r.name,r.addressFROM served_food sf,restaurant rWHERE r.id=sf.r_id ANDsf.cuisine IN(SELECT term1 FROM relationshipsSTART WITHterm2=′Latin American′AND relation ′IS A′CONNECT BYPRIOR terml=term2 AND relation=′IS_A′);上面的黑體文字是被轉(zhuǎn)換的部分?;旧?,第三自變量被轉(zhuǎn)換成START WITH子句,第二自變量被轉(zhuǎn)換成CONNECT BY子句。該查詢的結(jié)果如下 查詢結(jié)果姓名(NAME) 地址(ADDRESS)Chilis......
Maharaj......
Niva ...... 3.2.2操作OR算子.設(shè)想“Brazilian”菜原來沒有包括在本體中,現(xiàn)在被插入到“South American”菜之下。同時,將“SouthAmerican”放入與“Latin American”菜相同的種類中,如圖3所示使用傳遞和對稱“EQV”關(guān)系。
現(xiàn)在,為得到“Latin American”菜,應(yīng)使用析取條件經(jīng)過兩個關(guān)系連接,即“IS_A”和“EQV”。這樣的析取條件可在STARTWITH和CONNECT BY子句中直接規(guī)定。
原查詢 SELECT r.name,r.address FROM served_food sf;restaurant rWHERE r.id=sf.r_id ANDONT_RELATED(sf.cuisine,′IS_A OR EQV′,′Latin American′,′Cuisine_ontology′)=1; 經(jīng)轉(zhuǎn)換的查詢 與在前例的轉(zhuǎn)換的查詢的唯一不同是關(guān)系表FROM關(guān)系由子查詢代替以將隱含對稱邊引入查詢FROM(SELECT term1,relation,term2FROM relationshipsUNIONSELECT term2,relation,term1FROM relationshipsWHERE relation=′EQV′)并且下面出現(xiàn)在START WITH和CONNECT BY子句中的謂詞relation=′IS_A′用下面謂詞代替。
(relation=′IS_A′OR relation=′EQV′) 3.2.3操作AND算子.傳遞關(guān)系類型之間的合取條件可通過獨立計算各關(guān)系類型的傳遞閉包,然后在結(jié)果得到的集上應(yīng)用INTERSECT集來處理。對于交集中的各節(jié)點,存在各關(guān)系類型的從開始節(jié)點到該節(jié)點的路徑,因而是充分的。
設(shè)想菜式之間的另一關(guān)系,該關(guān)系用詞MOST_SPICY標(biāo)識最可口的菜式。本體現(xiàn)在可包含如“South Asian cuisine isMOST_SPICY Asian cuisine”和“Indian cuisine is MOST_SPICY SouthAsian cuisine”等信息。
為從本體中找到非常可口的菜式,用戶可使用關(guān)系中的合取條件發(fā)出查詢?nèi)缦? 原查詢找到提供非??煽诘膩喼薏说牟宛^。
SELECT r.name FROM served_food sf,restaurant rWHERE r.id=sf.r_id ANDONT_RELATED(sf..cuisine,′IS_A AND MOST_SPICY′Asian′,′Cuisine_ontology′)=1; 經(jīng)轉(zhuǎn)換的查詢 SELECT r.name FROM served_food sf;restaurant rWHERE r.id sf.r_id ANDsf.cuisine IN(SELECT term1 FROM relationshipsSTART WITHterm2=′Asian′AND
relation=′IS_A′CONNECT BYPRIOR term1=term2 ANDrelation ′IS A′INTERSECTSELECT term1 FROM relationshipsSTART WITHterm2=′Asian′ANDrelation=′MOST_SPICY′CONNECT BYPRIOR term1=term2 ANDrelation=′MOST_SPICY′); 3.2.4操作NOT算子.NOT算子規(guī)定當(dāng)查找傳遞閉包時排除哪些關(guān)系。所以,若給出了開始節(jié)點,除了NOT算子中規(guī)定的那些外,所有關(guān)系將被經(jīng)過。NOT算子能在START WITH和CONNECTBY子句中直接規(guī)定。
原查詢不使用“EQV”關(guān)系,尋找所有Latin American。
SELECT r.name FROM served_food sf,restaurant rWHERE r.id=sf.r_id ANDONT_RELATED(sf.cuisine,′NOT EQV′,′Latin American′,′Cuisine_ontology′)=1; 經(jīng)轉(zhuǎn)換的查詢與3.2.1部分中例示的經(jīng)轉(zhuǎn)換查詢的唯一不同之處是在START WITH和CONNECT BY子句中出現(xiàn)的如下謂詞relation=′IS_A′由如下謂詞取代
relation?。健銭QV′ 注意如果用戶想要獲取除了Latin American之外的所有的菜式,那么該查詢可用返回0的算子ONT_RELATED編寫如下。
......
ONT_RELATED(sf..cuisine,′1S_A′′Latin American′,′Cuisine_ontology′)=0; 3.2.5組合使用OR、AND和NOT.OR和NOT算子可在CONNECT BY子句中直接規(guī)定,AND算子由INTERSECT操作。所有條件作為合取條件重寫。例如,“A OR(B AND C)”將被轉(zhuǎn)換成“(AOR B)AND(A OR C)”。然后,“(A OR B)AND(A OR C)”在可與INTERSECT算子組合的單獨查詢中的CONNECT BY子句中規(guī)定。
4.本體驅(qū)動的數(shù)據(jù)庫應(yīng)用程序 本部分考慮幾個數(shù)據(jù)庫應(yīng)用程序說明本體相關(guān)的語義匹配的使用。
4.1國家安全應(yīng)用程序 國家安全的智能分析者會非常關(guān)注可能與恐怖主義相關(guān)的活動。從[20]中給定的例型,其中,一個人租了一輛卡車,另一個人買了肥料,他們位在同一個房子里,我們可用ONT_RELATED算子編寫給定活動表的SQL查詢。
表5

SELBCT*FROM ACTIVITY x,ACTIVITY yWHERExActivity′Rent′ANDy.Activity=′Buy′AND ANDONT_RELATED(x.object,′IS_A′,′Truck′,′vehicle_ontology′)=1 ANDONT_RELATED(y.object,′IS_A′,′Fertilizer,′′chemical_ontology′.)=1 ANDx.Address=y(tǒng).Address; 通過查看一個以上本體,我們可以分析涉及不同行為的組合的可疑活動。
4.2供應(yīng)鏈應(yīng)用程序 其上有數(shù)千產(chǎn)品和服務(wù)被交流的供應(yīng)鏈主要存在著購買秩序、材料清單、產(chǎn)品目錄等標(biāo)準(zhǔn)化的問題。要列舉的話,至少也會有名稱、語言、貨幣和單位差異的問題需要解決。標(biāo)準(zhǔn)化工作如用于產(chǎn)品種類的RosettaNet[22]、UNSPSC[23]和將交易過程和產(chǎn)品標(biāo)準(zhǔn)化的ebXML[24]還不足以滿足各個商家/顧客的解決語義區(qū)別的需求。通常,這些沖突已經(jīng)用某種形式的映射機制[6]獲得解決。
這些沖突可通過用本體發(fā)出具有ONT_RELATED算子的SQL查詢來解決。甚至單個開發(fā)的本體可能需要本體映射來互相通信。我們也可以將ONT_RELATED和ONT_EXPAND算子應(yīng)用到映射本體來解決沖突。
4.3生命科學(xué)應(yīng)用程序 生命科學(xué)領(lǐng)域應(yīng)用程序一直在使用本體來表達知識和生命科學(xué)網(wǎng)數(shù)據(jù)庫的幾個不同來源的信息整合的基礎(chǔ)。我們來看基因本體(GO)[12],它主要被用來表達該領(lǐng)域的當(dāng)前知識。它允許用戶使用SQL查詢。一例查詢是“獲取每個是跨膜受體的詞”(’Fetching everyterm that is transmembrane receptor’)。GO圖用′term′(=node)和′term2term′(=arc)表存儲。它還保持一個稱為‘graph_path’的表,該表存儲詞和其始源之間所有路徑。在GO數(shù)據(jù)庫中,可為此目的發(fā)出下面SQL查詢 SELECTrchild.*FROMterm AS rehild,term AS ancestor,graph_pathWHEREgraph_path.term2_id=rchild.id andgraph_path.term1_id=ancestor.id andancestor.name=′transmembrane receptor′; 如果數(shù)據(jù)在Oracle RDBMS中被存儲,可使用下面查詢 SELECT*FROM TABLE(ONT_EXPAND(NULL,′IS_A′,′transmembrane receptor′,′gene_ontology′)); 關(guān)鍵的不同是GO數(shù)據(jù)庫暴露下面的模式并需要用戶根據(jù)那些表去編寫查詢,而算子方法試圖簡化該說明。
4.4網(wǎng)絡(luò)服務(wù)應(yīng)用程序 類似地,網(wǎng)絡(luò)服務(wù)應(yīng)用程序也可利用ONT_RELATED算子來語義地匹配兩個不同的詞。假設(shè)有[8]中描述的網(wǎng)絡(luò)服務(wù)匹配例,其中用戶試圖購買一輛轎車。該用戶用詞‘Sedan’來請求網(wǎng)絡(luò)服務(wù)。該車輛本體包含作為詞‘Car’子集的‘Sedan’、‘SUV’和‘StationWagon’。網(wǎng)絡(luò)服務(wù)能通過使用如下的具有ONT_RELATED算子的查詢來提醒用戶
......
ONT_RELATED(user_request,′IS~A′,′Car′,′Vehicle_Ontology′)=1 詞之間的匹配度(即詞的關(guān)系有多接近,如[8]中所描述)可用ONT_DISTANCE和ONT_PATH算子處理。
5.結(jié)論 隨著本體在商業(yè)數(shù)據(jù)庫應(yīng)用程序領(lǐng)域越來越重要,本體被存入數(shù)據(jù)庫對于有效維護、共享和規(guī)模可伸縮是重要的。SQL中基于本體的語義匹配能力對于執(zhí)行和簡化應(yīng)用程序開發(fā)同樣是重要的的。
以上描述的本發(fā)明的具體實施例,通過允許基于OWL Lite和OWL DL的本體被存儲在Oracle RDBMS中并通過提供一組基于本體的語義匹配的SQL算子來解決這些問題。
應(yīng)當(dāng)理解,前面描述的具體應(yīng)用例只是對本發(fā)明原理的說明??梢栽诓槐畴x本發(fā)明精神和范圍的前提下,對前面提出的方法、數(shù)據(jù)結(jié)構(gòu)和SQL語句作大量的修改。
權(quán)利要求
1.處理存于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)的方法,其中以組合方式包括如下步驟存儲本體數(shù)據(jù),該數(shù)據(jù)規(guī)定詞和所述詞的詞對之間的關(guān)系;形成包含語義匹配算子的數(shù)據(jù)庫查詢,該查詢識別所述本體數(shù)據(jù)并進而規(guī)定兩個輸入詞之間的陳述關(guān)系;以及執(zhí)行所述查詢,以調(diào)用所述語義匹配算子來通過參考所述本體數(shù)據(jù)確定所述兩個輸入詞是否通過陳述關(guān)系相關(guān)聯(lián)。
2.權(quán)利要求1所述的處理存于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)的方法,其中所述本體數(shù)據(jù)規(guī)定所述詞對之間的不同類型的關(guān)系,并且所述語義匹配算子還規(guī)定必然存在于所述被選數(shù)據(jù)和所述詞的值之間的關(guān)系類型。
3.權(quán)利要求2所述的處理存于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)的方法,其中所述本體數(shù)據(jù)用本體名的值來識別,并且所述語義匹配算子用所述本體名的值來規(guī)定所述本體數(shù)據(jù)。
4.識別存于關(guān)系數(shù)據(jù)庫中被選表的一個或多個被選列中的目標(biāo)數(shù)據(jù)的方法,其中,所述數(shù)據(jù)值與本體數(shù)據(jù)中定義的自變量值有關(guān)系,所述方法包含如下步驟形成并執(zhí)行SQL查詢語句,該查詢語句包括語義匹配算子的標(biāo)識符,該算子被調(diào)用以通過參考所述本體數(shù)據(jù)來識別所述目標(biāo)數(shù)據(jù),以確定所述目標(biāo)數(shù)據(jù)值是否關(guān)聯(lián)到所述自變量值。
5.權(quán)利要求4所述的識別存于關(guān)系數(shù)據(jù)庫中被選表的一個或多個被選列中的目標(biāo)數(shù)據(jù)的方法,其中所述語義匹配算子的標(biāo)識符是擴展所述關(guān)系數(shù)據(jù)庫使用的現(xiàn)有SQL語法的用戶定義的算子。
6.權(quán)利要求4所述的識別存于關(guān)系數(shù)據(jù)庫中被選表的一個或多個被選列中的目標(biāo)數(shù)據(jù)的方法,其中所述SQL查詢語句還包含所述一個或多個被選列的標(biāo)識符。
7.權(quán)利要求6所述的識別存于關(guān)系數(shù)據(jù)庫中被選表的一個或多個被選列中的目標(biāo)數(shù)據(jù)的方法,其中所述語義匹配算子被調(diào)用以通過參考所述本體數(shù)據(jù)來將所述一個或多個被選列中的數(shù)據(jù)值與所述自變量值匹配。
8.權(quán)利要求4所述的識別存于關(guān)系數(shù)據(jù)庫中被選表的一個或多個被選列中的目標(biāo)數(shù)據(jù)的方法,其中所述本體數(shù)據(jù)規(guī)定所述數(shù)據(jù)值和所述自變量值之間不同類型的關(guān)系,并且所述語義匹配算子還規(guī)定必然存在與所述被選數(shù)據(jù)和所述詞的值之間的關(guān)系類型。
9.權(quán)利要求8所述的識別存于關(guān)系數(shù)據(jù)庫中被選表的一個或多個被選列中的目標(biāo)數(shù)據(jù)的方法,其中至少一些所述不同類型的關(guān)系是傳遞的,并且所述語義匹配算子被調(diào)用以查找由所述傳遞關(guān)系連接的傳遞通道。
10.權(quán)利要求9所述的識別存于關(guān)系數(shù)據(jù)庫中被選表的一個或多個被選列中的目標(biāo)數(shù)據(jù)的方法,其中所述語義匹配算子還通過測量所述傳遞通道來計算表示所述數(shù)據(jù)值如何接近地與所述自變量值相關(guān)的度量。
11.在由結(jié)構(gòu)化查詢語言語句定義的關(guān)系數(shù)據(jù)庫查詢的執(zhí)行期間執(zhí)行基于本體的匹配操作的方法,所述方法以組合方式包括如下步驟在所述關(guān)系數(shù)據(jù)庫中創(chuàng)建并存儲語義匹配算子,該算子確定兩個輸入詞是否以由規(guī)定的本體數(shù)據(jù)定義的規(guī)定的關(guān)系類型相關(guān);以及構(gòu)造并執(zhí)行以結(jié)構(gòu)化查詢語言表達的查詢,該查詢包含所述語義匹配算子的標(biāo)識符。
12.權(quán)利要求11所述的執(zhí)行基于本體的匹配操作的方法,其中所述本體數(shù)據(jù)規(guī)定所述詞對之間的不同類型的關(guān)系,并且所述語義匹配算子的所述標(biāo)識符還規(guī)定必然存在于所述兩個輸入詞之間的關(guān)系的類型。
13.權(quán)利要求12所述的執(zhí)行基于本體的匹配操作的方法,其中至少一些所述不同類型的關(guān)系是屬性,各屬性規(guī)定一個詞和一個或多個其他詞之間的關(guān)系,并且所述語義匹配算子規(guī)定所述屬性之一。
14.權(quán)利要求13所述的執(zhí)行基于本體的匹配操作的方法,其中所述本體數(shù)據(jù)還規(guī)定至少一個所述屬性是所述屬性中另一個的子屬性,并且所述語義匹配算子規(guī)定作為被識別屬性的子屬性的屬性。
15.權(quán)利要求14所述的執(zhí)行基于本體的匹配操作的方法,其中所述屬性定義傳遞關(guān)系,并且在被執(zhí)行時所述語義匹配算子基于所述傳遞關(guān)系推出新關(guān)系。
全文摘要
用于處理關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的方法,其中規(guī)定OWL文件中表達的詞和所述詞對之間的關(guān)系的本體數(shù)據(jù)存于數(shù)據(jù)庫中,形成包含語義匹配算子的數(shù)據(jù)庫查詢,這些查詢識別本體數(shù)據(jù)并進而規(guī)定兩個輸入詞之間的陳述關(guān)系,該查詢被執(zhí)行以調(diào)用語義匹配算子來通過參考所述本體數(shù)據(jù)確定這兩個輸入詞是否以陳述關(guān)系相關(guān)聯(lián)。
文檔編號G06F17/30GK101044479SQ200580034346
公開日2007年9月26日 申請日期2005年7月21日 優(yōu)先權(quán)日2004年8月11日
發(fā)明者S·達斯, E·I·崇, G·伊頓, J·斯里尼瓦桑 申請人:甲骨文國際有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
浮山县| 安乡县| 安丘市| 辰溪县| 杂多县| 达拉特旗| 昔阳县| 云阳县| 济南市| 哈尔滨市| 吐鲁番市| 苍山县| 拉萨市| 察隅县| 陈巴尔虎旗| 册亨县| 尉犁县| 赫章县| 云林县| 山东| 涪陵区| 南阳市| 鄱阳县| 北安市| 罗平县| 柏乡县| 于都县| 桂林市| 五家渠市| 大厂| 酒泉市| 肥乡县| 高尔夫| 布拖县| 绥阳县| 西充县| 晋城| 汕尾市| 罗城| 宁城县| 广安市|