• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一個(gè)時(shí)態(tài)RDF存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2018-12-20 02:06:16龐亞君
      關(guān)鍵詞:三元組時(shí)態(tài)區(qū)間

      龐亞君

      (南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 210000)

      1 研究背景及現(xiàn)狀

      隨著時(shí)態(tài)數(shù)據(jù)處理和語(yǔ)義網(wǎng)的發(fā)展,越來越多的時(shí)態(tài)RDF格式的數(shù)據(jù)涌入網(wǎng)絡(luò)。在對(duì)時(shí)態(tài)RDF的早期研究中,Gutierrez等提出了時(shí)態(tài)RDF的語(yǔ)法語(yǔ)義以及查詢語(yǔ)言[1-3],Andrea等補(bǔ)充了非限定三元組的語(yǔ)法語(yǔ)義,并提出了tGRIN索引結(jié)構(gòu)將時(shí)態(tài)RDF存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中[3-4]。Geetha等針對(duì)海量RDF存儲(chǔ)和語(yǔ)義網(wǎng)大量歷史數(shù)據(jù)存儲(chǔ)的問題,提出了一個(gè)基于語(yǔ)義的時(shí)態(tài)視圖機(jī)制,通過演示驗(yàn)證了該機(jī)制可提高RDF三元組中的時(shí)變數(shù)據(jù)緩存到主存的效率[5-6]。時(shí)態(tài)RDF由于其獨(dú)特的語(yǔ)義支持和推理機(jī)制,通常應(yīng)用于人工智能領(lǐng)域中,如電力系統(tǒng)中[7]以及機(jī)器閱讀技術(shù)中等。

      對(duì)數(shù)據(jù)的管理離不開數(shù)據(jù)庫(kù)的支持,而對(duì)于時(shí)態(tài)RDF數(shù)據(jù)的管理要建立在時(shí)態(tài)數(shù)據(jù)庫(kù)研究的基礎(chǔ)上。Tansel等在1993年對(duì)此前提出的時(shí)態(tài)數(shù)據(jù)庫(kù)技術(shù)的研究及時(shí)態(tài)數(shù)據(jù)模型做了全面的總結(jié)[8]。之后,時(shí)態(tài)數(shù)據(jù)庫(kù)研究重點(diǎn)由理論探討逐漸轉(zhuǎn)向模型的標(biāo)準(zhǔn)化和產(chǎn)品化。由于迄今為止時(shí)態(tài)模型尚不成熟未能完全統(tǒng)一等原因,各大數(shù)據(jù)庫(kù)廠商還沒有推出相關(guān)的時(shí)態(tài)數(shù)據(jù)庫(kù)產(chǎn)品,目前大多數(shù)應(yīng)用只是借助時(shí)態(tài)數(shù)據(jù)庫(kù)的概念與傳統(tǒng)的數(shù)據(jù)庫(kù)相結(jié)合來完成的。文獻(xiàn)[9-10]提出分層擴(kuò)展RDBMS的思想,開發(fā)了TimeDB、TempDB等時(shí)態(tài)數(shù)據(jù)庫(kù)產(chǎn)品。

      文中以時(shí)態(tài)數(shù)據(jù)庫(kù)管理系統(tǒng)TimeDB[11]為基礎(chǔ),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)時(shí)態(tài)RDF數(shù)據(jù)存儲(chǔ)系統(tǒng),切實(shí)解決當(dāng)前時(shí)態(tài)RDF存儲(chǔ)研究缺失的問題。

      2 基礎(chǔ)知識(shí)

      2.1 時(shí)態(tài)RDF

      2.1.1 時(shí)態(tài)RDF模型概念

      對(duì)傳統(tǒng)RDF時(shí)態(tài)擴(kuò)展有兩種方式:時(shí)態(tài)標(biāo)簽法和版本更新法。時(shí)態(tài)標(biāo)簽法也就是給產(chǎn)生變化的三元組添加時(shí)間標(biāo)簽;版本更新法不關(guān)心過去狀態(tài)的時(shí)態(tài)RDF圖存在何處,只記錄更新后的時(shí)間快照。版本更新法可以更有效地獲取事務(wù)時(shí)間,而在獲取有效時(shí)間時(shí)通常使用時(shí)態(tài)標(biāo)簽法。雖然兩種方法是等價(jià)的,當(dāng)時(shí)態(tài)信息越多也就是RDF圖更新頻率越快,即產(chǎn)生的新版本也會(huì)越多,不斷記錄更新后的RDF圖無(wú)疑增加了查詢的復(fù)雜度,因此現(xiàn)有的時(shí)態(tài)RDF模型都是采用時(shí)態(tài)標(biāo)簽法進(jìn)行時(shí)態(tài)擴(kuò)展。

      在時(shí)態(tài)RDF中,認(rèn)為時(shí)間是離散的,線性有序的區(qū)域,使用時(shí)態(tài)標(biāo)簽法來對(duì)RDF進(jìn)行時(shí)態(tài)擴(kuò)展,也就是用時(shí)態(tài)元素t標(biāo)記三元組(s,p,o)。時(shí)態(tài)元素包含時(shí)間點(diǎn)和時(shí)間區(qū)間,不難想到一個(gè)在時(shí)間區(qū)間時(shí),該區(qū)間就等同與一個(gè)時(shí)間點(diǎn)t1。

      2.1.2 時(shí)態(tài)RDF蘊(yùn)含

      一個(gè)RDF圖可以看作是一個(gè)由其他知識(shí)庫(kù)(也就是其他RDF圖)得到的知識(shí)庫(kù)。當(dāng)為RDF蘊(yùn)含擴(kuò)展時(shí)態(tài)屬性時(shí),需要將時(shí)態(tài)數(shù)據(jù)庫(kù)定義為所有快照的集合。

      時(shí)態(tài)蘊(yùn)含的概念往往和時(shí)間區(qū)間的運(yùn)算一起作用于時(shí)態(tài)推理機(jī)制中,例如若有(a,sc,b):[2,3]和(b,sc,c):[2](其中SC為rdf:SubclassOF屬性的縮寫形式),那么可以推出(a,sc,c):[2]。

      2.2 Jena工具

      網(wǎng)頁(yè)上的RDF數(shù)據(jù)通常以文檔的形式存在,通用的RDF語(yǔ)法為Turtle(Terse RDF Triple Language)或者RDF/XML的格式。RDF數(shù)據(jù)以三元組“主語(yǔ)—謂語(yǔ)—賓語(yǔ)”的格式存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中,因此在RDF數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)之前,需要對(duì)RDF文檔進(jìn)行解析。Jena是一個(gè)使用Java編寫的API(application programming interface,應(yīng)用程序編程接口)[12],用于創(chuàng)建和操作RDF圖。Jena將以三元組為中心的解析方法與以資源及其屬性為中心的解析方法相結(jié)合,既可以對(duì)RDF三元組進(jìn)行操作,也可以對(duì)單個(gè)的資源進(jìn)行操作。

      2.3 時(shí)態(tài)數(shù)據(jù)管理系統(tǒng)TimeDB

      目前分層擴(kuò)展非時(shí)態(tài)的數(shù)據(jù)庫(kù)管理系統(tǒng)建立時(shí)態(tài)中間件成為實(shí)現(xiàn)時(shí)態(tài)數(shù)據(jù)庫(kù)管理系統(tǒng)的最好方法。時(shí)態(tài)中間件不改變底層RDB的功能和結(jié)構(gòu),而是作為上層構(gòu)件添加到應(yīng)用程序和關(guān)系數(shù)據(jù)庫(kù)之間,使得時(shí)態(tài)SQL語(yǔ)句能夠轉(zhuǎn)換成下層關(guān)系數(shù)據(jù)庫(kù)可以理解的標(biāo)準(zhǔn)SQL語(yǔ)句。在目前所有的時(shí)態(tài)數(shù)據(jù)庫(kù)應(yīng)用中,TimeDB不論是在數(shù)據(jù)管理還是用戶交互上都是目前最受歡迎、使用最為廣泛的時(shí)態(tài)數(shù)據(jù)庫(kù)產(chǎn)品化應(yīng)用。

      TimeDB的時(shí)態(tài)查詢語(yǔ)言ATSQL2是在SQL標(biāo)準(zhǔn)查詢語(yǔ)言的基礎(chǔ)上加入了一些時(shí)態(tài)相關(guān)的關(guān)鍵字,TimeDB很容易將這些關(guān)鍵字識(shí)別出來并解釋其包含的時(shí)態(tài)語(yǔ)義,其次確定語(yǔ)句要進(jìn)行查詢的具體類型,進(jìn)行時(shí)態(tài)語(yǔ)言驗(yàn)證后通過關(guān)系操作的算法來實(shí)現(xiàn)語(yǔ)句的轉(zhuǎn)換。

      3 TRDF-STORAGE的設(shè)計(jì)實(shí)現(xiàn)

      3.1 系統(tǒng)體系結(jié)構(gòu)

      TRDF-Storage存儲(chǔ)時(shí)態(tài)RDF數(shù)據(jù)的具體流程如圖1所示。輸入數(shù)據(jù)為RDF/XML文檔,首先將其解析為時(shí)態(tài)RDF三元組。解析后的三元組要通過推理機(jī)制的處理,以保證時(shí)態(tài)RDF的數(shù)據(jù)庫(kù)的一致性,最后將處理后的不違背一致性的時(shí)態(tài)RDF三元組集合插入到時(shí)態(tài)數(shù)據(jù)庫(kù)中。

      圖1 系統(tǒng)層次圖

      3.2 時(shí)態(tài)RDF/XML文檔解析模塊

      RDF標(biāo)準(zhǔn)規(guī)定在RDF中只存在三元組,如果直接為RDF三元組增加時(shí)間標(biāo)簽,那么三元組就變成了四元組。因此引入一個(gè)額外的對(duì)象即具體化(reification),將時(shí)態(tài)屬性與原聲明中的主語(yǔ)、謂語(yǔ)和賓語(yǔ)通過屬性相關(guān)聯(lián)。如時(shí)態(tài)RDF三元組(Joe,isFollowing,Marry):[2005-10-01,2017-06-27]被Jena工具解析后形式如圖2所示。

      圖2 Jena解析結(jié)果

      若在存儲(chǔ)過程中將這樣一個(gè)時(shí)態(tài)RDF圖存儲(chǔ)在數(shù)據(jù)庫(kù)中顯然是不現(xiàn)實(shí)的,因此需要將這個(gè)時(shí)態(tài)RDF圖解析成圖3所示的形式,然后以(S,P,O):[T1,T2]的形式存儲(chǔ)在時(shí)態(tài)數(shù)據(jù)庫(kù)中。

      圖3 標(biāo)準(zhǔn)時(shí)態(tài)RDF圖

      前文已經(jīng)介紹了Jena API的解析過程,在此基礎(chǔ)上,需要將多余的三元組進(jìn)行合并。合并算法的主要思想是,一旦檢測(cè)到節(jié)點(diǎn)類型中有temporl屬性不作輸出,而是直接獲取下一節(jié)點(diǎn),然后將Initial的屬性值賦值給有效時(shí)間區(qū)間的起止時(shí)間點(diǎn),F(xiàn)inal屬性值賦值給終止時(shí)間點(diǎn),然后輸出有效時(shí)間標(biāo)簽。

      3.3 推理引擎的原理與實(shí)現(xiàn)

      由于時(shí)態(tài)RDF的語(yǔ)義特性,在存儲(chǔ)和刪除數(shù)據(jù)的過程中都要考慮數(shù)據(jù)的一致性。時(shí)態(tài)RDF中時(shí)間標(biāo)簽用時(shí)間點(diǎn)表示,屬于時(shí)態(tài)域,也就是一個(gè)正實(shí)數(shù)集合,與三元組集合屬于兩個(gè)互不相交的不同框架。因此時(shí)態(tài)RDF數(shù)據(jù)推理怡情可以分為對(duì)傳統(tǒng)RDF三元組的推理以及時(shí)態(tài)標(biāo)簽處理兩部分進(jìn)行,文獻(xiàn)[13]也證明了這一點(diǎn)。

      3.3.1 RDF三元組的處理

      在存儲(chǔ)RDF三元組時(shí),需要建立一個(gè)表格用于存儲(chǔ)三元組之間的推理關(guān)系—Rule_Table表格(InfID,Stmt1,Stmt2,Rule)。其中InfID表示根據(jù)規(guī)則推導(dǎo)出的三元組ID,Stmt1和Stmt2表示證明該三元組的ID,允許為空,且當(dāng)三元組是直接聲明而不是通過推理規(guī)則產(chǎn)生時(shí),Stmt1與Stmt2都為Null,Rule則是來自W3C RDF文檔中的推理規(guī)則集。

      另外,由于每一個(gè)三元組也是依賴自己作為推理?xiàng)l件的一個(gè)推理結(jié)果,所以規(guī)則之間會(huì)存在依賴循環(huán)問題,文獻(xiàn)[14]中提出了克服循環(huán)依賴問題的算法。

      文中的推理引擎基于Jena推理機(jī)。Jena推理機(jī)是一種基于規(guī)則的推理引擎,使用前向、后向和混合執(zhí)行的推理模型[15-16]。表中的內(nèi)容已經(jīng)包含在Jena的推理規(guī)則中。此外,針對(duì)特定領(lǐng)域,Jena支持自定義規(guī)則,通過String rule_Name=“Rule1:(?xpredicate ?y),(?ypredicate? z)→(?xpredicate?z)”聲明,然后通過綁定實(shí)例文件與自定義推理機(jī)的方式進(jìn)行實(shí)現(xiàn)。

      3.3.2 時(shí)態(tài)標(biāo)簽的處理

      時(shí)態(tài)RDF是根據(jù)Allen在1983年提出的一種基于時(shí)間段的時(shí)態(tài)邏輯方式進(jìn)行表示的[17]。

      1.插入操作。

      對(duì)于插入操作來說,對(duì)時(shí)態(tài)標(biāo)簽的處理方式包括四種:直接插入情況、不執(zhí)行插入操作的情況、替換插入的情況以及合并插入的情況。下面分別就四種情況給出詳細(xì)的算法。為了方便描述,給出如下定義:

      S:表示數(shù)據(jù)庫(kù)中已存的時(shí)態(tài)三元組集合。

      A:表示待插入的三元組集合。這里的三元組集合都經(jīng)過了第一步處理。

      T:時(shí)間點(diǎn)集合。

      Tn:時(shí)間區(qū)間集合。

      四種算法的輸入都是經(jīng)過第一步RDF三元組處理后的時(shí)態(tài)RDF三元組集合,輸出為經(jīng)過時(shí)態(tài)標(biāo)簽處理后可直接進(jìn)行插入操作的時(shí)態(tài)RDF三元組集合。

      ●直接插入情況:針對(duì)待插入數(shù)據(jù)與數(shù)據(jù)庫(kù)中已存數(shù)據(jù)三元組以及時(shí)態(tài)標(biāo)簽都不重復(fù)的時(shí)態(tài)RDF三元組,具體算法思想如下:

      (1)判斷A是否為空,若為空終止算法,若A不為空,取ai∈A,i++,進(jìn)入步驟2。

      (2)對(duì)時(shí)間標(biāo)簽的有效性進(jìn)行檢查,若t1>t2,返回錯(cuò)誤提示并進(jìn)入步驟1,否則進(jìn)入第2步。

      (3)遍歷已存RDF三元組數(shù)據(jù)的三元組集合S,檢查a是否在S中,若不在則可以直接返回原時(shí)間標(biāo)簽,返回步驟1。若在,取相同三元組Sj對(duì)應(yīng)的時(shí)間標(biāo)簽T2(t3,t4),進(jìn)入步驟4。

      (4)若t2t4且|t2-t3|與|t1-t4|均不等于一個(gè)時(shí)間粒度(即為Before與After關(guān)系),說明待插入三元組與數(shù)據(jù)庫(kù)中的三元組不相同,返回T1并進(jìn)入第一步。

      ●不執(zhí)行插入操作的情況:針對(duì)待插入數(shù)據(jù)被已存數(shù)據(jù)語(yǔ)義包含的時(shí)態(tài)RDF三元組,這種情況下,應(yīng)直接在待存集合中刪除對(duì)應(yīng)時(shí)態(tài)RDF數(shù)據(jù)。若t3≤t1≤t2≤t4,即待插入三元組的有效時(shí)間T1區(qū)間被包含在數(shù)據(jù)庫(kù)中已存的相同三元組的有效時(shí)間區(qū)間T2,即During(T1,T2)、Starts(T1,T2)以及Finishes(T1,T2)。對(duì)于這幾種情況,直接返回步驟1而不執(zhí)行插入操作,否則會(huì)產(chǎn)生重復(fù)性問題,造成存儲(chǔ)空間浪費(fèi)。

      ●替換插入的情況:該情況與第一種情況恰好相反,針對(duì)待插入數(shù)據(jù)語(yǔ)義包含已存數(shù)據(jù)的時(shí)態(tài)RDF三元組,也就是待插入數(shù)據(jù)的有效時(shí)間范圍包含對(duì)應(yīng)已存數(shù)據(jù)的有效時(shí)間。即如果兩個(gè)時(shí)間區(qū)間中的四個(gè)時(shí)間點(diǎn)存在關(guān)系t1≤t3≤t4≤t2,即待插入三元組的有效區(qū)間T1包含了數(shù)據(jù)庫(kù)中已存的相同三元組的有效時(shí)間區(qū)間T2,即During(T2,T1)、Starts(T2,T1)以及Finishes(T2,T1),在這幾種情況下,要將原有數(shù)據(jù)庫(kù)中的對(duì)應(yīng)的三元組刪除,插入有效區(qū)間更大的三元組。

      ●合并插入的情況:若插入數(shù)據(jù)的有效時(shí)間區(qū)間與已存數(shù)據(jù)庫(kù)中對(duì)應(yīng)有效時(shí)間區(qū)間部分重疊,出現(xiàn)t1≤t3≤t2≤t4的情況,即Overlaps(T1,T2)或Meets(T1,T2)(反之亦然),這時(shí)則需要將兩個(gè)RDF三元組(即待插入三元組和對(duì)應(yīng)的已存三元組)的有效時(shí)間區(qū)間進(jìn)行合并操作,返回步驟1。

      2.刪除操作。

      在對(duì)時(shí)態(tài)RDF三元組進(jìn)行插入操作時(shí),需要考慮時(shí)間區(qū)間的合并以防出現(xiàn)數(shù)據(jù)冗余,而對(duì)三元組進(jìn)行刪除操作時(shí),則需要考慮時(shí)間區(qū)間的分裂以維持時(shí)態(tài)數(shù)據(jù)表格式的統(tǒng)一。例如對(duì)于待刪除的三元組(a,b,c):[3,5],若在原有數(shù)據(jù)庫(kù)中已經(jīng)存在時(shí)態(tài)RDF三元組(a,b,c):[2,6],那么該刪除操作不僅不會(huì)使原時(shí)態(tài)RDF數(shù)據(jù)庫(kù)中的數(shù)據(jù)減少,反正會(huì)轉(zhuǎn)變?yōu)椴迦雰蓚€(gè)三元組(a,b,c):[2,3]和(a,b,c):[5,6]的插入操作。

      對(duì)于刪除算法也需要根據(jù)有效區(qū)間進(jìn)行分類探討,分為三種情況:直接刪除情況、區(qū)間一次分裂刪除以及區(qū)間兩次分裂刪除。

      S:表示數(shù)據(jù)庫(kù)中已存的時(shí)態(tài)三元組集合。

      D:表示待刪除的三元組集合。這里的三元組集合同樣也經(jīng)過了第一步處理。

      T:時(shí)間點(diǎn)集合。

      Tn:時(shí)間區(qū)間集合。

      ●直接刪除情況:針對(duì)待刪除數(shù)據(jù)與已存數(shù)據(jù)的對(duì)應(yīng)時(shí)間標(biāo)簽完全匹配的時(shí)態(tài)RDF三元組數(shù)據(jù),主要思想如下:

      (1)判斷待刪除三元組集合D是否為空,若為空則終止運(yùn)算,否則i++,進(jìn)入下一步。

      (2)對(duì)刪除三元組語(yǔ)句的合法性進(jìn)行分析,對(duì)于每一個(gè)待刪除三元組di∈D,若其時(shí)間標(biāo)簽[t1,t2]中t1>t2,返回錯(cuò)誤提示并返回第一步,否則就進(jìn)入第三步。

      (3)進(jìn)一步對(duì)語(yǔ)句有效性進(jìn)行判斷,遍歷已存三元組集合S,若對(duì)于每一個(gè)s∈S,都不能與待刪除di匹配,說明刪除語(yǔ)句無(wú)效,返回步驟1,否則就進(jìn)入下一步。

      (4)取與待刪除三元組di匹配的已存三元組s的有效區(qū)間T2=[t3,t4],若待刪除三元組的有效區(qū)間與s的有效區(qū)間存在關(guān)系t2t4,說明此時(shí)兩個(gè)三元組的時(shí)間區(qū)間無(wú)交集,即為Before與After關(guān)系,說明此時(shí)并未在已存三元組中找到待刪除的三元組,以及當(dāng)t1≤t3≤t4≤t2時(shí),即待刪除的三元組di的有效區(qū)間T1包含了對(duì)應(yīng)的已存三元組s的有有效區(qū)間T2,都要提示錯(cuò)誤并返回步驟1,否則進(jìn)入下一步。

      (5)若T1嚴(yán)格等于T2,即t1=t3且t2=t4,也就是說兩個(gè)時(shí)間區(qū)間存在關(guān)系Equals(T1,T2),此時(shí)將已存三元組集合中的s直接刪除,同時(shí)清除刪除列表中的di,返回第一步。

      ●區(qū)間一次分裂刪除:針對(duì)待刪除數(shù)據(jù)有效時(shí)間區(qū)間包含在對(duì)應(yīng)已存數(shù)據(jù)的有效時(shí)間區(qū)間內(nèi)的時(shí)態(tài)RDF數(shù)據(jù)。首先對(duì)刪除語(yǔ)句的有效性進(jìn)行判斷(以下所有情況都與第一種情況的前四步相同,都予以省略),然后通過兩個(gè)有效區(qū)間的大小關(guān)系將待刪除數(shù)據(jù)的有效區(qū)間在對(duì)應(yīng)已存數(shù)據(jù)中的有效區(qū)間中刪除,即將刪除操作轉(zhuǎn)化為插入操作,并將對(duì)應(yīng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)刪除。

      ●區(qū)間兩次分裂刪除:針對(duì)待刪除數(shù)據(jù)的有效區(qū)間將對(duì)應(yīng)已存數(shù)據(jù)有效區(qū)間分成三段的時(shí)態(tài)RDF數(shù)據(jù)。將原有數(shù)據(jù)庫(kù)中的三元組時(shí)間標(biāo)簽分成兩個(gè)不相連的部分存儲(chǔ),當(dāng)四個(gè)時(shí)間點(diǎn)之間存在關(guān)系t3≤t1≤t2≤t4時(shí),即存在關(guān)系During(T1,T2),那么此時(shí)在刪除s的同時(shí),還要執(zhí)行對(duì)以下兩個(gè)三元組的插入操作,即時(shí)態(tài)三元組(di,T3)和時(shí)態(tài)RDF三元組(di,T4),其中T3=(t3,t1),T4=(t2,t4)。

      3.4 時(shí)態(tài)RDF數(shù)據(jù)存儲(chǔ)到TimeDB

      按照前文提出的關(guān)系表結(jié)構(gòu),將處理后的時(shí)態(tài)RDF三元組數(shù)據(jù)存儲(chǔ)在TimeDB中。

      TimeDB在Java中提供了三類調(diào)用接口:TimeDB的調(diào)用接口(TDBCI)、結(jié)果集(ResultSet)類接口和結(jié)果行(ResultRow接口)。

      部分實(shí)現(xiàn)代碼如下:

      /*設(shè)置數(shù)據(jù)庫(kù)的鏈接參數(shù)*/

      TDBCI t=new TDBCI();

      t.setPrefs(“C:TimeDB2.2”,1,“Oracle.jdbc.driver.OracleDriver”,

      “jdbc:oracle:thin:1512:ORCL”);

      ……

      /*對(duì)于每個(gè)時(shí)態(tài)RDF三元組,分別將解析出的主語(yǔ)、謂語(yǔ)、賓語(yǔ)以及有效時(shí)間區(qū)間對(duì)應(yīng)插入TimeDB,以時(shí)態(tài)RDF實(shí)例信息為例*/

      String atsql=“VALIDTIME PERIOD[+“Begintime+”-“+Endtime+”]”+“INSERT INTO TStatement_Table values(?,?,?,?,?)”

      PreparedStatement prest=conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,

      ResultSet.CONCUR_READ_ONLY);

      For(int i=0;x

      {

      prest.setString(1,rdfnode.getSubject());

      prest.setString(2,rdfnode.getPredicate());

      prest.setString(3,rdfnode.getObject());

      prest.setString(4,rdfnode.Begintime());

      prest.setString(4,rdfnodeEndtime());//將時(shí)態(tài)RDF三元組的主語(yǔ)、謂語(yǔ)、賓語(yǔ)以及有效時(shí)間分別插入。

      }

      ……

      4 系統(tǒng)演示

      1.插入操作。

      系統(tǒng)將會(huì)通過TimeDB的調(diào)用接口(TDBCI),將三元組中的三個(gè)字符串分別插入到數(shù)據(jù)表中的主語(yǔ)、謂語(yǔ)和賓語(yǔ)對(duì)應(yīng)列,然后將有效時(shí)間區(qū)間插入到起始時(shí)間列和終止時(shí)間列。

      將時(shí)態(tài)RDF三元組(Manager,rdfs:SubclassOf,Employee):[0,Now]實(shí)例信息和(Ailsa,rdf:type,Manager):[2017,NOW]本體信息分別存入時(shí)態(tài)三元組表和時(shí)態(tài)本體信息表,

      TimeDB通過執(zhí)行下列ATSQL2語(yǔ)句:

      VALIDTIME PRIOD [0-Now] INSERT INTO TOntolygy_Table VALUES(OT002,‘Manager’,‘rdfs:SubclassOf’,‘Emolyee’);

      VALIDTIME PRIOD [2017-Now] INSERT INTO TStatement_Table VALUES(T001,‘Ailsa’,‘rdf:type’,‘Manager’);

      通過查看時(shí)態(tài)本體信息表得到結(jié)果如圖4所示。

      圖4 F-Storage系統(tǒng)示意圖(1)

      2.刪除操作。

      下面刪除時(shí)態(tài)RDF三元組(Ailsa,rdf:type,Manager):[2017,NOW],執(zhí)行操作后,查看時(shí)態(tài)RDF表和規(guī)則信息表,結(jié)果如圖5和圖6所示。

      圖5 F-Storage系統(tǒng)示意圖(2)

      圖6 F-Storage系統(tǒng)示意圖(3)

      由于T002三元組在規(guī)則中依賴于刪除的時(shí)態(tài)RDF三元組T001,因此在刪除T001時(shí),推理算法會(huì)將T002也刪除,并將它們?cè)谝?guī)則信息表中的數(shù)據(jù)一并刪除。

      5 結(jié)束語(yǔ)

      針對(duì)時(shí)態(tài)RDF數(shù)據(jù)存儲(chǔ)研究相對(duì)缺失的現(xiàn)狀,提出了一種時(shí)態(tài)RDF數(shù)據(jù)存儲(chǔ)系統(tǒng)的設(shè)計(jì)方案。針對(duì)TRDF-Storage存儲(chǔ)系統(tǒng)中最重要的推理引擎進(jìn)行了詳細(xì)闡述,針對(duì)不同的時(shí)間區(qū)間關(guān)系,將插入操作和刪除操作分類討論,就每種區(qū)間關(guān)系的操作實(shí)現(xiàn)提供了算法。最后通過一個(gè)公司的模擬時(shí)態(tài)RDF數(shù)據(jù),對(duì)存儲(chǔ)系統(tǒng)的使用進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)可以完成時(shí)態(tài)RDF本體信息和實(shí)例信息的分別存儲(chǔ),且推理機(jī)制可以得到正確的推理結(jié)果并對(duì)事態(tài)RDF數(shù)據(jù)進(jìn)行存儲(chǔ)或刪除,維護(hù)了時(shí)態(tài)RDF數(shù)據(jù)庫(kù)的一致性。但該研究?jī)?nèi)容也有一些不足之處,例如存儲(chǔ)所涉及的時(shí)態(tài)RDF模型沒有針對(duì)匿名時(shí)間點(diǎn)的處理以及對(duì)于海量時(shí)態(tài)RDF數(shù)據(jù)的處理還未能進(jìn)行有效驗(yàn)證,這些都有待進(jìn)一步的研究與改進(jìn)。

      猜你喜歡
      三元組時(shí)態(tài)區(qū)間
      基于語(yǔ)義增強(qiáng)雙編碼器的方面情感三元組提取
      軟件工程(2024年12期)2024-12-28 00:00:00
      基于帶噪聲數(shù)據(jù)集的強(qiáng)魯棒性隱含三元組質(zhì)檢算法*
      解兩類含參數(shù)的復(fù)合不等式有解與恒成立問題
      你學(xué)會(huì)“區(qū)間測(cè)速”了嗎
      超高清的完成時(shí)態(tài)即將到來 探討8K超高清系統(tǒng)構(gòu)建難點(diǎn)
      過去完成時(shí)態(tài)的判定依據(jù)
      關(guān)于余撓三元組的periodic-模
      區(qū)間對(duì)象族的可鎮(zhèn)定性分析
      三元組輻射場(chǎng)的建模與仿真
      現(xiàn)在進(jìn)行時(shí)
      绵阳市| 安新县| 安徽省| 丰顺县| 玉门市| 新郑市| 佛教| 博客| 凌源市| 西丰县| 吕梁市| 屯门区| 达孜县| 莲花县| 湖北省| 丹东市| 东城区| 双牌县| 镇江市| 紫阳县| 武汉市| 合山市| 永顺县| 文化| 衡阳县| 宜昌市| 龙江县| 枣庄市| 宿松县| 内乡县| 湟源县| 襄汾县| 汉沽区| 铜陵市| 漳州市| 自治县| 凤阳县| 阿图什市| 青冈县| 梅河口市| 长丰县|