System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于數據虛擬化,具體涉及一種基于本體和一階邏輯的數據虛擬化數據源匹配方法。
技術介紹
1、j.wang等提出的利用sparql實現異構關系數據庫統一查詢的方法(j.wang,z.miao,y.zhang?and?b.zhou,"querying?heterogeneous?relational?database?usingsparql,"2009eighth?ieee/acis?international?conference?on?computer?andinformation?science,shanghai,china,2009,pp.475-480.)。該方法一方面沒有支持非關系型數據源的集成,另一方面也沒有明確利用本體和一階邏輯的支持。j.wang在文獻中提出的方法,要求在利用sparql查詢描述數據源視圖時,必須給出sparql查詢中的變量名和關系數據庫的表中字段名間的對應,不方便對數據源的簡單表達,且不方便支持非關系型數據源,更沒有基于一階邏輯理論對所匹配的數據源和全局查詢間在語義上是否會出現矛盾進行檢查。
2、申請號為2023106601190,名稱為基于圖結構的數據虛擬化系統、方法、裝置、設備及介質的專利公開了一種基于圖結構的數據虛擬化系統、方法、裝置、設備及介質,包括:根據元數據配置參數配置元數據關系圖,并根據元數據關系圖初始化緩存數據表,接收用戶端發送的虛擬視圖查詢請求,并解析請求參數,得到虛擬視圖sql,將虛擬視圖sql轉化為sql查詢語句,根據請求參數,在緩存和數據節點上執行sql
技術實現思路
1、針對現有技術中的上述不足,本專利技術提供的一種基于本體和一階邏輯的數據虛擬化數據源匹配方法解決了現有數據虛擬化技術中全局數據視圖含有數據源信息,進而要求應用層在表達全局數據查詢時需要明確指明數據源的缺陷。
2、為了達到上述專利技術目的,本專利技術采用的技術方案為:一種基于本體和一階邏輯的數據虛擬化數據源匹配方法,包括以下步驟:
3、s1、建立領域數據本體,用一元謂詞和二元謂詞的集合的形式記錄,形成領域數據視圖;
4、s2、使用變量元組以及基于領域本體對其進行約束的一元謂詞和二元謂詞集合記錄各數據源對外提供數據服務的能力,形成局部數據視圖;
5、s3、當用戶需要進行全局查詢時,根據領域數據視圖和局部數據視圖檢測各數據源對全局查詢的可用情況。
6、進一步地:所述s1中,用一元謂詞和二元謂詞的集合的形式記錄的方法具體為:
7、用一元謂詞詞class(a)表示a是一個概念,用二元謂詞p(a,b)表示a和b之間具有p所規定的關系,其中,二元謂詞p(a,b)中a的屬性p具有值b,b為概念或簡單數據類型。
8、進一步地:所述s2中,記錄各數據源對外提供數據服務的能力的方法具體為:
9、將任一數據源通過變量元組以及對其進行約束的一階邏輯公式的形式,描述其對外提供數據服務的能力,其中,通過一階邏輯公式描述數據源s對外提供數據服務的能力具體為:
10、<y1,y2,...,yns>←<s1,s2,...,sms,cs>
11、式中,<y1,y2,...,yns>為數據源描述的頭部;<s1,s2,...,sms,cs>為數據源描述的體部,其中,yi1為數據源的第i1個輸出變量,且i1=1,2,…,ns,ns為數據源的輸出變量總數,用于表示數據源提供的數據項,sj1為利用領域數據本體中的一元和二元謂詞對頭部數據項的語義約束條件,且j1=1,2,…,ms,ms為約束謂詞個數,cs為若干用比較運算符構造的邏輯公式,描述對頭部變量的取值約束。
12、進一步地:所述s3中,檢測任一數據源對全局查詢的可用情況的方法具體為:
13、s31、將全局查詢的體部中的每個謂詞rj2,與數據源的體部中的每一個謂詞sj1,根據領域數據本體進行語義匹配,根據語義匹配對數據源中的變量進行參數換名;
14、其中,全局查詢g的形式為<x1,x2,...,xng>←<r1,r2,...,rmg,cg>,其中,<x1,x2,...,xng>為查詢的頭部,用于對查詢結果變量命名,xi2為第i2個結果變量名,且i2=1,2,…,ng,ng為查詢結果變量名總數;<r1,r2,...,rmg,cg>為查詢的體部,其中,rj2為利用領域數據本體中的一元和二元謂詞對頭部結果變量名取值的語義約束條件,且j2=1,2,…,mg,mg為約束謂詞個數,cg為若干用比較運算符構造的邏輯公式,用于描述對頭部變量名的取值條件約束;
15、s32、判斷參數換名后的數據源描述是否滿足第五條件,若是,則數據源對全局查詢可用,若否,則數據源對全局查詢無用。
16、進一步地:所述s31中,進行參數換名的方法具體為:
17、若正在匹配的兩個謂詞均為一元謂詞,形如rj2(x)和語義sj1(y),其中,x為全局查詢頭部中的變量名,y為數據源表示頭部中的變量名,且rj2和sj1同名或在領域數據本體中sj1是rj2的子概念,則若同時滿足第一條件和第二條件,則將數據源中的變量y替換為變量x;
18、其中,所述第一條件為:數據源中的變量y從未被替換過,所述第二條件為:若數據源中存在變量x,則將數據源中的變量x先行替換為新的變量;
19、若正在匹配的兩個謂詞均為二元謂詞,形如謂詞rj2(x1,x2)和sj1(y1,y2),其中,x1和x2為全局查詢頭部中的變量名,y1和y2為數據源表示頭部中的變量名,且rj2和sj1同名或在領域數據本體中sj1是rj2的子屬性,則若同時滿足第三條件和第四條件,則將數據源中的變量y1和y2分別替換為變量x1和x2;
20、其中,所述第三條件為:數據源中的變量y1和y2從未被替換過,所述第四條件為:若數據源中存在變量x1和x2,則將數據源中的變量x1和x2替換為新的變量。
21、進一步地:所述s32中,第五條件具體為:
22、經數據源匹配過程對數據源s的描述中的變量換名后,數據源s的頭部中的變量名集合與全局查詢g的頭部中的變量名集合有交集,并且數據源s的體部與全局查詢g的體部沒有邏輯矛盾。
23、本專利技術的有益效果為:本專利技術提供了一種基于本體和一階邏輯的數據虛擬化數據源匹配方法,能基于領域數據本體表達跨異構數據源的全局查詢,并利用本體和一階邏輯實現全局查詢與物理數據源間的智能匹配,而不需要像現有技術和產品那樣,在應用層借用sql語言對指定數據視圖表達查詢,并借助于元數據管理實現應用層查詢和本文檔來自技高網...
【技術保護點】
1.一種基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,所述S1中,用一元謂詞和二元謂詞的集合的形式記錄的方法具體為:
3.根據權利要求2所述的基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,所述S2中,記錄各數據源對外提供數據服務的能力的方法具體為:
4.根據權利要求3所述的基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,所述S3中,檢測任一數據源對全局查詢的可用情況的方法具體為:
5.根據權利要求4所述的基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,所述S31中,進行參數換名的方法具體為:
6.根據權利要求4所述的基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,所述S32中,第五條件具體為:
【技術特征摘要】
1.一種基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,所述s1中,用一元謂詞和二元謂詞的集合的形式記錄的方法具體為:
3.根據權利要求2所述的基于本體和一階邏輯的數據虛擬化數據源匹配方法,其特征在于,所述s2中,記錄各數據源對外提供數據服務的能力的方法具體為:
【專利技術屬性】
技術研發人員:吳健,鄧磊,沈思鳴,陳珂,杜承烈,
申請(專利權)人:智盈未來西安信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。