亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于語(yǔ)義的資源描述框架RDF圖劃分方法與流程

文檔序號(hào):12666342閱讀:319來(lái)源:國(guó)知局
基于語(yǔ)義的資源描述框架RDF圖劃分方法與流程

本發(fā)明涉及RDF(資源描述框架)圖數(shù)據(jù)劃分領(lǐng)域,具體來(lái)說(shuō),涉及面向大規(guī)模RDF三元組數(shù)據(jù)的語(yǔ)義劃分領(lǐng)域。



背景技術(shù):

作為下一代的Web技術(shù),語(yǔ)義Web要在現(xiàn)有Web的基礎(chǔ)上實(shí)現(xiàn)機(jī)器可讀懂?dāng)?shù)據(jù),并為人類(lèi)提供自動(dòng)服務(wù)。由Tim Berners-Lee發(fā)起的關(guān)聯(lián)數(shù)據(jù)(Linked Data)運(yùn)動(dòng)的持續(xù)推進(jìn),使目前RDF三元組數(shù)據(jù)已超過(guò)520億并且仍在不斷增長(zhǎng)。由于資源描述框架(Resource Description Framework,簡(jiǎn)稱(chēng)RDF)的數(shù)據(jù)模型在各領(lǐng)域的可控制性、高度靈活性和擴(kuò)展性,使得它在處理大規(guī)模數(shù)據(jù)領(lǐng)域方面尤其重要,如在Web語(yǔ)義、政府機(jī)構(gòu)、生物信息及社交網(wǎng)絡(luò)方面等。RDF是用于描述網(wǎng)絡(luò)資源的W3C(萬(wàn)維網(wǎng)聯(lián)盟)標(biāo)準(zhǔn),其格式為(主語(yǔ),謂語(yǔ),賓語(yǔ)),即(s,o,p),其中s表示主語(yǔ),p表示謂語(yǔ),o表示賓語(yǔ)。一個(gè)三元組中的賓語(yǔ)可作為另一個(gè)三元組中的主語(yǔ),于是RDF語(yǔ)義數(shù)據(jù)形成了一種有向圖結(jié)構(gòu)。

全球范圍的RDF圖數(shù)據(jù)庫(kù)正在形成,但規(guī)模龐大加之發(fā)布的數(shù)據(jù)分散度高,使得單個(gè)計(jì)算節(jié)點(diǎn)已無(wú)法容納海量RDF圖數(shù)據(jù)。面對(duì)海量RDF圖數(shù)據(jù)分布式存儲(chǔ)已勢(shì)在必行,其核心技術(shù)圖劃分方法對(duì)研究RDF圖算法意義重大。大規(guī)模RDF圖上的數(shù)據(jù)查詢(xún)代價(jià)往往很昂貴,分布式集群中劃分?jǐn)?shù)據(jù)不合理,跨站點(diǎn)的邊數(shù)目較大,會(huì)導(dǎo)致數(shù)據(jù)查詢(xún)(如,連接操作)的通信量激增,降低數(shù)據(jù)查詢(xún)處理性能。目前大量的研究工作關(guān)注一般無(wú)向圖或有向圖的劃分,針對(duì)RDF圖的劃分可以分為兩類(lèi),一是簡(jiǎn)單的哈希劃分,目前大量RDF引擎,如4store,YARS2都采用哈希算法進(jìn)行圖劃分,在主語(yǔ)或賓語(yǔ)上建立key(鍵),通過(guò)對(duì)key取哈希值隨機(jī)地劃分三元組,沒(méi)有進(jìn)一步的處理。二是以傳統(tǒng)的圖劃分為基礎(chǔ),增加部分優(yōu)化,其關(guān)注點(diǎn)都在圖的結(jié)構(gòu)。部分研究通過(guò)經(jīng)典的圖劃分方法METIS對(duì)RDF圖進(jìn)行劃分,并在此基礎(chǔ)上進(jìn)行n-跳延伸,對(duì)于每個(gè)計(jì)算節(jié)點(diǎn)的邊界頂點(diǎn),通過(guò)復(fù)制它的n跳距離內(nèi)的點(diǎn)到該節(jié)點(diǎn),以減少跨越站點(diǎn)的邊數(shù)目,優(yōu)化數(shù)據(jù)查詢(xún)。此外,也有研究以路徑為劃分單元將RDF圖劃分到不同的計(jì)算節(jié)點(diǎn),優(yōu)化RDF圖上的SPARQL(Simple Protocol and RDF Query Language,是為RDF開(kāi)發(fā)的一種查詢(xún)語(yǔ)言和數(shù)據(jù)獲取協(xié)議)查詢(xún)。

以上技術(shù)僅利用傳統(tǒng)的圖劃分方法對(duì)RDF圖進(jìn)行劃分并做出部分優(yōu)化,但均未考慮RDF圖內(nèi)含的豐富語(yǔ)義,它們主要存在如下問(wèn)題:

1)僅考慮一般圖自身的結(jié)構(gòu),包括以點(diǎn)、邊、或者路徑為基本單元進(jìn)行圖劃分,而沒(méi)有考慮RDF圖中的RDF模式(RDF schema)信息;

2)以一般圖劃分方法為基礎(chǔ)進(jìn)行優(yōu)化,仍具有傳統(tǒng)圖劃分方法的特性,如通過(guò)METIS劃分進(jìn)行n-跳延伸會(huì)導(dǎo)致RDF數(shù)據(jù)劃分不均勻,成為并行計(jì)算的瓶頸;

3)哈希圖劃分方法沒(méi)有考慮RDF圖的任何結(jié)構(gòu)及語(yǔ)義,劃分結(jié)果中跨越節(jié)點(diǎn)的邊的數(shù)目較多,數(shù)據(jù)查詢(xún)性能較差,對(duì)分布式的RDF圖進(jìn)行處理時(shí)性能較低;

4)RDF圖描述真實(shí)世界中Web上的資源信息,具有豐富語(yǔ)義,不僅僅是單獨(dú)的點(diǎn)、邊、或路徑,傳統(tǒng)圖劃分方法忽略了這些語(yǔ)義,使得劃分結(jié)果沒(méi)有實(shí)際意義。

針對(duì)以上問(wèn)題,有必要在劃分大規(guī)模RDF圖時(shí)考慮RDF內(nèi)含的豐富語(yǔ)義,充分利用三元組中謂語(yǔ)為rdf:type(如(s,rdf:type,C)三元組用rdf:type聲明主語(yǔ)s的類(lèi)為C)的類(lèi)信息進(jìn)行RDF圖劃分,以減少跨越站點(diǎn)的邊數(shù)目,提高數(shù)據(jù)查詢(xún)及處理的性能?;谡Z(yǔ)義的劃分依據(jù)現(xiàn)實(shí)世界中Web資源的類(lèi)信息進(jìn)行劃分,具有實(shí)際意義。



技術(shù)實(shí)現(xiàn)要素:

為克服現(xiàn)有技術(shù)的不足,本發(fā)明旨在提出一種基于語(yǔ)義的RDF圖的劃分方法,能夠基于語(yǔ)義對(duì)大規(guī)模的RDF圖進(jìn)行劃分,實(shí)現(xiàn)分布式存儲(chǔ)RDF圖數(shù)據(jù),在不犧牲時(shí)間效率的情況下減少跨越節(jié)點(diǎn)的邊的數(shù)目,提高數(shù)據(jù)查詢(xún)處理的性能,利于大規(guī)模RDF圖數(shù)據(jù)的并行化操作。為此,本發(fā)明采用的技術(shù)方案是,基于語(yǔ)義的資源描述框架RDF圖劃分方法,步驟如下:

1)根據(jù)RDF數(shù)據(jù)中(s,rdf:type,C)形式的三元組,得到主語(yǔ)s所屬的類(lèi)C,將主語(yǔ)s加入類(lèi)C集合,主語(yǔ)s可能不止屬于一個(gè)類(lèi),由此得到主語(yǔ)s的類(lèi)集合;

2)對(duì)主語(yǔ)s的類(lèi)集合取交集,生成s的直接類(lèi),直接類(lèi)是包含多個(gè)主語(yǔ)的集合,各個(gè)主語(yǔ)的直接類(lèi)生成類(lèi)系統(tǒng);

3)根據(jù)2)中的類(lèi)系統(tǒng)生成與RDF圖G對(duì)應(yīng)的RDF模式圖GS,模式圖中的點(diǎn)表示RDF直接類(lèi),邊為三元組中的謂語(yǔ);

4)計(jì)算RDF模式圖GS中直接類(lèi)之間謂語(yǔ)的比率;

5)計(jì)算RDF模式圖GS中直接類(lèi)之間謂語(yǔ)的基數(shù)因子;

6)為RDF模式圖GS中的直接類(lèi)賦初始rank值,該值為模式圖中頂點(diǎn)個(gè)數(shù)的倒數(shù),rank值用來(lái)為直接類(lèi)排序,RDF模式圖中所有直接類(lèi)的rank值和為1;

7)設(shè)置迭代次數(shù),對(duì)RDF模式圖GS中的直接類(lèi)的rank值進(jìn)行排序;

8)按照rank值的大小選取前k個(gè)直接類(lèi),得到top-k集合,劃分rank值最大的類(lèi)C中的主語(yǔ),對(duì)該類(lèi)中的主語(yǔ)分別取哈希值,依據(jù)哈希值的不同劃分到不同的計(jì)算節(jié)點(diǎn),劃分過(guò)程中將主語(yǔ)相同的三元組劃分到相同的計(jì)算節(jié)點(diǎn);

9)依次搜索8)中直接類(lèi)C的鄰居直接類(lèi)C',如果直接類(lèi)C和它的鄰居直接類(lèi)C'之間謂語(yǔ)的基數(shù)因子大于給定閾值并且鄰居類(lèi)中的主語(yǔ)沒(méi)有被劃分過(guò),將直接類(lèi)C'中與直接類(lèi)C中主語(yǔ)s有三元組關(guān)系的主語(yǔ)s'劃分到與主語(yǔ)s相同的計(jì)算節(jié)點(diǎn);

10)重復(fù)步驟8)和步驟9)直到top-k中的直接類(lèi)被劃分完為止;

11)對(duì)8)到10)步中未劃分完的三元組分三種情況進(jìn)行后處理。

上述的步驟1)把RDF圖T中主語(yǔ)為si的所有三元組稱(chēng)為實(shí)體si,用來(lái)表示,假定對(duì)于任意主語(yǔ)s在RDF圖中都至少存在一個(gè)三元組(s,rdf:type,C)∈Ent(s)指明主語(yǔ)s屬于類(lèi)C,用s∈C表示,由此得到s的類(lèi)集合rdf:subClassOf聲明類(lèi)C'是類(lèi)C的子類(lèi)。

上述的步驟2)根據(jù)1)中的類(lèi)系統(tǒng)C(s)計(jì)算s的直接類(lèi),具體計(jì)算過(guò)程為C(s)=∩Ci∈C(s)Ci,RDF數(shù)據(jù)中所有三元組的主語(yǔ)的直接類(lèi)組成的集合就是RDF圖T的類(lèi)系統(tǒng),即C(T)={C(s)|s∈S(T)};此外,RDF允許一個(gè)三元組的主語(yǔ)作為另一個(gè)三元組的賓語(yǔ),同樣也允許一個(gè)三元組的賓語(yǔ)作為其它三元組的主語(yǔ)。即,任何主語(yǔ)都可以扮演賓語(yǔ)的角色。

上述步驟3)將2)中生成的直接類(lèi)作為頂點(diǎn),兩個(gè)直接類(lèi)的主語(yǔ)存在三元組關(guān)系,添加一條無(wú)向邊,生成的無(wú)向圖即為RDF模式圖,定義如下:

給定RDF圖T,其模式圖是一個(gè)帶標(biāo)簽的無(wú)向圖,用GS(T)=(VS,ES,lS)表示,其中(1)VS=C(T)表示點(diǎn)的有限集合;(2)表示邊的有限集合;(3)lS:ES→P(T)是表示函數(shù),該函數(shù)為邊分配謂語(yǔ);(4)對(duì)于邊e=(C1,C2)∈ES,存在一個(gè)三元組(s,p,o)∈T使得C1=C(s),C2=C(o),并且lS(e)=p,p表示謂語(yǔ),o表示賓語(yǔ)。

上述步驟4)需定義以下符號(hào)。

4.1 T(Ci,Cj)={(s,p,o)∈T|C(s)=Ci∧C(o)=Cj}表示所有主語(yǔ)直接類(lèi)為Ci,賓語(yǔ)直接類(lèi)為Cj,且Ci,Cj∈VS的三元組的集合;

4.2 T(Ci,Cj,pk)={(s,pk,o)∈T|C(s)=Ci∧C(o)=Cj}表示原RDF三元組中主語(yǔ)所屬的直接類(lèi)為Ci,賓語(yǔ)所屬的直接類(lèi)為Cj,謂語(yǔ)為pk,且Ci,Cj∈VS的三元組的集合;

4.3具體計(jì)算方法,對(duì)RDF模式圖中的任意兩個(gè)直接類(lèi)Ci,Cj∈VS,若它們之間存在一條邊e,且lS(e)=pk,統(tǒng)計(jì)4.2中三元組的個(gè)數(shù),統(tǒng)計(jì)RDF圖中總?cè)M的個(gè)數(shù),計(jì)算這兩個(gè)直接類(lèi)之間謂語(yǔ)pk比率,計(jì)算公式為:

上述步驟5)分兩步計(jì)算。

5.1先計(jì)算兩個(gè)直接類(lèi)之間謂語(yǔ)的基數(shù)card(Ci,Cj,pk)=(m,n),統(tǒng)計(jì)Ci中的主語(yǔ)個(gè)數(shù)x,統(tǒng)計(jì)Ci和Cj之間謂語(yǔ)為pk的三元組的個(gè)數(shù)y,n=y(tǒng)/x,同樣統(tǒng)計(jì)Cj中的主語(yǔ)個(gè)數(shù)x',n=y(tǒng)/x';

5.2對(duì)RDF模式圖中的任意兩個(gè)直接類(lèi)Ci,Cj∈VS,若它們之間存在一條邊e,根據(jù)以下公式計(jì)算RDF模式圖GS中直接類(lèi)之間謂語(yǔ)的基數(shù)因子:

上述步驟7),采用本發(fā)明中的ClassRank算法對(duì)RDF模式圖中的頂點(diǎn)進(jìn)行排序,該算法設(shè)計(jì)思想源于網(wǎng)頁(yè)排名PageRank算法,在PageRank算法的基礎(chǔ)上進(jìn)行修改,具體如下:

7.1 PageRank算法每輪迭代中,各網(wǎng)頁(yè)將自身rank值平均分配到與它相連的網(wǎng)頁(yè)中,而ClassRank算法中rank值并不是平均分配,用步驟4)中的因子pr表示流經(jīng)不同謂語(yǔ)的邊時(shí)分配的rank值比例不同,即pr值越大,比例越高;

7.2 PageRank算法每輪迭代中,各網(wǎng)頁(yè)將經(jīng)上輪迭代后自身所含的全部rank值流向鄰居網(wǎng)頁(yè),接受本輪與之相連的網(wǎng)頁(yè)傳來(lái)的rank值,ClassRank算法中,并不是所有的類(lèi)都會(huì)流出rank值,根據(jù)步驟5)中的因子cf值得大小決定rank值的流向,即不同的直接類(lèi)中主語(yǔ)間的關(guān)系有一對(duì)一,一對(duì)多和多對(duì)多,rank值由多的一方流到少的一方;

7.3ClassRank算法設(shè)置nowRk值統(tǒng)計(jì)每次迭代中直接類(lèi)的rank值變化,用該直接類(lèi)的rank值和本次迭代中nowRk值得變化計(jì)算經(jīng)過(guò)一次迭代后該直接類(lèi)的rank值。

上述步驟8)到10)建立在步驟7)的基礎(chǔ)上,得到rank值較高的前k個(gè)直接類(lèi)top-k后,從rank值最高的直接類(lèi)開(kāi)始劃分,每個(gè)直接類(lèi)中的各個(gè)主語(yǔ)根據(jù)哈希值將它們的實(shí)體劃分到不同的計(jì)算節(jié)點(diǎn),在語(yǔ)義劃分階段,對(duì)top-k中的每個(gè)類(lèi)中的主語(yǔ)劃分完成后,會(huì)遍歷該類(lèi)的鄰居直接類(lèi),根據(jù)這兩個(gè)直接類(lèi)之間謂語(yǔ)基數(shù)因子cf與閾值的大小關(guān)系決定是否劃分鄰居直接類(lèi)中的主語(yǔ),若cf大于閾值,且鄰居直接類(lèi)中的主語(yǔ)未被劃分過(guò),進(jìn)一步根據(jù)三元組劃分鄰居類(lèi)中主語(yǔ),將同一個(gè)三元組中的主語(yǔ)劃分到相同的計(jì)算節(jié)點(diǎn)。

上述步驟11)針對(duì)8)到10)步未劃分過(guò)的所有三元組分三種情況進(jìn)行劃分,a)對(duì)主語(yǔ)已經(jīng)劃分過(guò)但賓語(yǔ)未劃分過(guò)得三元組,將賓語(yǔ)的實(shí)體劃分到與主語(yǔ)實(shí)體相同的計(jì)算節(jié)點(diǎn);b)對(duì)主語(yǔ)未劃分但賓語(yǔ)已經(jīng)劃分過(guò)得三元組,將主語(yǔ)的實(shí)體劃分到與賓語(yǔ)實(shí)體相同的計(jì)算節(jié)點(diǎn);c)對(duì)主語(yǔ)和賓語(yǔ)都沒(méi)有劃分過(guò)得三元組,若主語(yǔ)和賓語(yǔ)所屬的直接類(lèi)之間的謂語(yǔ)基數(shù)因子cf大于閾值,則取主語(yǔ)的哈希值將主語(yǔ)實(shí)體劃分到特定計(jì)算節(jié)點(diǎn),否則,取賓語(yǔ)的哈希值。

本發(fā)明的特點(diǎn)及有益效果是:

本發(fā)明針對(duì)大規(guī)模的RDF圖數(shù)據(jù),提供了一種基于語(yǔ)義的劃分方法,從而依據(jù)現(xiàn)實(shí)世界中Web資源的類(lèi)信息對(duì)RDF圖數(shù)據(jù)進(jìn)行劃分,使得劃分結(jié)果按類(lèi)劃分具有實(shí)際意義,同時(shí)在不犧牲時(shí)間效率的情況下減少跨越節(jié)點(diǎn)的邊的數(shù)目,提高數(shù)據(jù)查詢(xún)處理的性能。

附圖說(shuō)明:

圖1是本發(fā)明基于語(yǔ)義劃分RDF圖方法的整體流程圖。

圖2是本發(fā)明步驟7)中對(duì)RDF模式圖GS中的直接類(lèi)的rank值進(jìn)行排序的ClassRank算法的流程圖。

圖3是本發(fā)明步驟8)到11)語(yǔ)義劃分RDF圖的核心部分(semPartition算法)的流程圖。

圖4是利用本發(fā)明和目前經(jīng)典的圖劃分方法METIS及哈希劃分方法對(duì)標(biāo)準(zhǔn)合成數(shù)據(jù)集LUBM進(jìn)行劃分的結(jié)果。

圖5是利用本發(fā)明和METIS及哈希劃分方法對(duì)真實(shí)數(shù)據(jù)集DBpedia-2015-10進(jìn)行劃分的結(jié)果。

具體實(shí)施方式

為達(dá)到本發(fā)明目的,本發(fā)明采用的技術(shù)方案是:

1)根據(jù)RDF數(shù)據(jù)中(s,rdf:type,C)形式的三元組,得到主語(yǔ)s所屬的類(lèi)C,將主語(yǔ)s加入類(lèi)C集合,主語(yǔ)s可能不止屬于一個(gè)類(lèi),由此得到主語(yǔ)s的類(lèi)集合;

2)對(duì)主語(yǔ)s的類(lèi)集合取交集,生成s的直接類(lèi),直接類(lèi)是包含多個(gè)主語(yǔ)的集合,各個(gè)主語(yǔ)的直接類(lèi)生成類(lèi)系統(tǒng);

3)根據(jù)2)中的類(lèi)系統(tǒng)生成與RDF圖G對(duì)應(yīng)的RDF模式圖GS,模式圖中的點(diǎn)表示RDF直接類(lèi),邊為三元組中的謂語(yǔ);

4)計(jì)算RDF模式圖GS中直接類(lèi)之間謂語(yǔ)的比率;

5)計(jì)算RDF模式圖GS中直接類(lèi)之間謂語(yǔ)的基數(shù)因子;

6)為RDF模式圖GS中的直接類(lèi)賦初始rank值,該值為模式圖中頂點(diǎn)個(gè)數(shù)的倒數(shù);

7)設(shè)置迭代次數(shù),對(duì)RDF模式圖GS中的直接類(lèi)的rank值進(jìn)行排序;

8)按照rank值的大小選取前k個(gè)直接類(lèi),得到top-k集合,劃分rank值最大的類(lèi)C中的主語(yǔ),對(duì)該類(lèi)中的主語(yǔ)分別取哈希值,依據(jù)哈希值的不同劃分到不同的計(jì)算節(jié)點(diǎn),劃分過(guò)程中將主語(yǔ)相同的三元組劃分到相同的計(jì)算節(jié)點(diǎn);

9)依次搜索8)中直接類(lèi)C的鄰居直接類(lèi)C',如果直接類(lèi)C和它的鄰居直接類(lèi)C'之間謂語(yǔ)的基數(shù)因子大于給定閾值并且鄰居類(lèi)中的主語(yǔ)沒(méi)有被劃分過(guò),將直接類(lèi)C'中與直接類(lèi)C中主語(yǔ)s有三元組關(guān)系的主語(yǔ)s'劃分到與主語(yǔ)s相同的計(jì)算節(jié)點(diǎn);

10)重復(fù)步驟8)和步驟9)直到top-k中的直接類(lèi)被劃分完為止;

11)對(duì)8)到10)步中未劃分完的三元組分三種情況進(jìn)行后處理。

上述的步驟1)把RDF圖T中主語(yǔ)為si的所有三元組稱(chēng)為實(shí)體si,用來(lái)表示,假定對(duì)于任意s在RDF圖中都至少存在一個(gè)三元組(s,rdf:type,C)∈Ent(s)指明s屬于類(lèi)C,用s∈C表示。由此得到s的類(lèi)集合

上述的步驟2)根據(jù)1)中的類(lèi)系統(tǒng)C(s)計(jì)算s的直接類(lèi),具體計(jì)算過(guò)程為C(s)=∩Ci∈C(s)Ci。RDF數(shù)據(jù)中所有三元組的主語(yǔ)的直接類(lèi)組成的集合就是RDF圖T的類(lèi)系統(tǒng),即C(T)={C(s)|s∈S(T)}。此外,RDF允許一個(gè)三元組的主語(yǔ)作為另一個(gè)三元組的賓語(yǔ),同樣也允許一個(gè)三元組的賓語(yǔ)作為其它三元組的主語(yǔ)。即,任何主語(yǔ)都可以扮演賓語(yǔ)的角色。

上述步驟3)將2)中生成的直接類(lèi)作為頂點(diǎn),兩個(gè)直接類(lèi)的主語(yǔ)存在三元組關(guān)系,添加一條無(wú)向邊,生成的無(wú)向圖即為RDF模式圖。本發(fā)明提出RDF模式圖概念,定義如下:

給定RDF圖T,其模式圖是一個(gè)帶標(biāo)簽的無(wú)向圖,用GS(T)=(VS,ES,lS)表示,其中(1)VS=C(T)表示點(diǎn)的有限集合;(2)表示邊的有限集合;(3)lS:ES→P(T)是表示函數(shù),該函數(shù)為邊分配謂語(yǔ);(4)對(duì)于邊e=(C1,C2)∈ES,存在一個(gè)三元組(s,p,o)∈T使得C1=C(s),C2=C(o),并且lS(e)=p。

上述步驟4)需定義以下符號(hào)。

4.1 T(Ci,Cj)={(s,p,o)∈T|C(s)=Ci∧C(o)=Cj}表示所有主語(yǔ)直接類(lèi)為Ci,賓語(yǔ)直接類(lèi)為Cj,且Ci,Cj∈VS的三元組的集合。

4.2 T(Ci,Cj,pk)={(s,pk,o)∈T|C(s)=Ci∧C(o)=Cj}表示原RDF三元組中主語(yǔ)所屬的直接類(lèi)為Ci,賓語(yǔ)所屬的直接類(lèi)為Cj,謂語(yǔ)為pk,且Ci,Cj∈VS的三元組的集合。

4.3具體計(jì)算方法,對(duì)RDF模式圖中的任意兩個(gè)直接類(lèi)Ci,Cj∈VS,若它們之間存在一條邊e,且lS(e)=pk,統(tǒng)計(jì)4.2中三元組的個(gè)數(shù),統(tǒng)計(jì)RDF圖中總?cè)M的個(gè)數(shù),計(jì)算這兩個(gè)直接類(lèi)之間謂語(yǔ)pk比率,計(jì)算公式為:

上述步驟5)分兩步計(jì)算。

5.1先計(jì)算兩個(gè)直接類(lèi)之間謂語(yǔ)的基數(shù)card(Ci,Cj,pk)=(m,n),統(tǒng)計(jì)Ci中的主語(yǔ)個(gè)數(shù)x,統(tǒng)計(jì)Ci和Cj之間謂語(yǔ)為pk的三元組的個(gè)數(shù)y,n=y(tǒng)/x,同樣統(tǒng)計(jì)Cj中的主語(yǔ)個(gè)數(shù)x',n=y(tǒng)/x'。

5.2對(duì)RDF模式圖中的任意兩個(gè)直接類(lèi)Ci,Cj∈VS,若它們之間存在一條邊e,根據(jù)以下公式計(jì)算RDF模式圖GS中直接類(lèi)之間謂語(yǔ)的基數(shù)因子:

上述步驟7),本發(fā)明設(shè)計(jì)了ClassRank算法對(duì)RDF模式圖中的頂點(diǎn)進(jìn)行排序,借鑒PageRank算法思想,但有幾個(gè)重要的不同點(diǎn),具體如下:

7.1 PageRank算法每輪迭代中,各網(wǎng)頁(yè)將自身rank值平均分配到與它相連的網(wǎng)頁(yè)中,而ClassRank算法中rank值并不是平均分配,用步驟4)中的因子pr表示流經(jīng)不同謂語(yǔ)的邊時(shí)分配的rank值比例不同,即pr值越大,比例越高。

7.2 PageRank算法每輪迭代中,各網(wǎng)頁(yè)將經(jīng)上輪迭代后自身所含的全部rank值流向鄰居網(wǎng)頁(yè),接受本輪與之相連的網(wǎng)頁(yè)傳來(lái)的rank值。ClassRank算法中,并不是所有的類(lèi)都會(huì)流出rank值,根據(jù)步驟5)中的因子cf值得大小決定rank值的流向,即不同的直接類(lèi)中主語(yǔ)間的關(guān)系有一對(duì)一,一對(duì)多和多對(duì)多,rank值由多的一方流到少的一方。

7.3 ClassRank算法設(shè)置nowRk值統(tǒng)計(jì)每次迭代中直接類(lèi)的rank值變化,用該直接類(lèi)的rank值和本次迭代中nowRk值得變化計(jì)算經(jīng)過(guò)一次迭代后該直接類(lèi)的rank值。

上述步驟8)到10)為本發(fā)明的關(guān)鍵,是語(yǔ)義劃分階段。該步驟建立在步驟7)的基礎(chǔ)上,得到rank值較高的前k個(gè)直接類(lèi)top-k后,從rank值最高的直接類(lèi)開(kāi)始劃分,每個(gè)直接類(lèi)中的各個(gè)主語(yǔ)根據(jù)哈希值將它們的實(shí)體劃分到不同的計(jì)算節(jié)點(diǎn),在語(yǔ)義劃分階段,對(duì)top-k中的每個(gè)類(lèi)中的主語(yǔ)劃分完成后,會(huì)遍歷該類(lèi)的鄰居直接類(lèi),根據(jù)這兩個(gè)直接類(lèi)之間謂語(yǔ)基數(shù)因子cf與閾值的大小關(guān)系決定是否劃分鄰居直接類(lèi)中的主語(yǔ)。若cf大于閾值,且鄰居直接類(lèi)中的主語(yǔ)未被劃分過(guò),進(jìn)一步根據(jù)三元組劃分鄰居類(lèi)中主語(yǔ),將同一個(gè)三元組中的主語(yǔ)劃分到相同的計(jì)算節(jié)點(diǎn)。

上述步驟11)是本發(fā)明的后處理階段。針對(duì)8)到10)步未劃分過(guò)的所有三元組分三種情況進(jìn)行劃分,a)對(duì)主語(yǔ)已經(jīng)劃分過(guò)但賓語(yǔ)未劃分過(guò)得三元組,將賓語(yǔ)的實(shí)體劃分到與主語(yǔ)實(shí)體相同的計(jì)算節(jié)點(diǎn);b)對(duì)主語(yǔ)未劃分但賓語(yǔ)已經(jīng)劃分過(guò)得三元組,將主語(yǔ)的實(shí)體劃分到與賓語(yǔ)實(shí)體相同的計(jì)算節(jié)點(diǎn);c)對(duì)主語(yǔ)和賓語(yǔ)都沒(méi)有劃分過(guò)得三元組,若主語(yǔ)和賓語(yǔ)所屬的直接類(lèi)之間的謂語(yǔ)基數(shù)因子cf大于閾值,則取主語(yǔ)的哈希值將主語(yǔ)實(shí)體劃分到特定計(jì)算節(jié)點(diǎn),否則,取賓語(yǔ)的哈希值。

下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。

參見(jiàn)圖1,本發(fā)明基于語(yǔ)義劃分RDF圖數(shù)據(jù)方法,需要以下步驟:

1)選取待劃分的RDF圖數(shù)據(jù),如標(biāo)準(zhǔn)合成數(shù)據(jù)集LUBM和從維基百科的詞條里取出的結(jié)構(gòu)化數(shù)據(jù)DBpedia數(shù)據(jù)集;

2)從RDF數(shù)據(jù)中篩選出(s,rdf:type,C)形式的三元組,得到RDF圖的直接類(lèi),進(jìn)而得到RDF圖的類(lèi)系統(tǒng);

3)RDF允許一個(gè)三元組的主語(yǔ)作為另一個(gè)三元組的賓語(yǔ),同樣也允許一個(gè)三元組的賓語(yǔ)作為其它三元組的主語(yǔ)。即,任何主語(yǔ)都可以扮演賓語(yǔ)的角色。根據(jù)三元組關(guān)系,構(gòu)建直接類(lèi)之間的邊,生成RDF模式圖;

4)根據(jù)圖2的流程圖對(duì)RDF模式圖中的直接類(lèi)也就是點(diǎn)進(jìn)行rank排序;

5)根據(jù)圖3的流程圖對(duì)RDF圖數(shù)據(jù)進(jìn)行劃分。

參見(jiàn)圖2,本發(fā)明中對(duì)RDF模式圖GS中的直接類(lèi)的rank值進(jìn)行排序的算法——ClassRank算法如下:

算法1:ClassRank

輸入:模式圖GS,迭代次數(shù)k

輸出:{Ci.rank|Ci∈VS}

利用本發(fā)明的方法對(duì)LUBM3、LUBM50、LUBM100和DBpedia-2015-10中的數(shù)據(jù)進(jìn)行處理,其中LUBM100中包含13.9M條三元組,DBpedia-2015-10中包含23M條三元組。生成的RDF模式圖分別包括14和314個(gè)直接類(lèi),排序結(jié)果見(jiàn)下表1和表2.

表1 LUBM100數(shù)據(jù)集rank排序結(jié)果(前14)

表2 DBpedia-2015-10數(shù)據(jù)集rank排序結(jié)果(前16)

參見(jiàn)圖3,本發(fā)明對(duì)RDF圖數(shù)據(jù)語(yǔ)義劃分的關(guān)鍵,semPartition算法如下:

算法2:semPartition

輸入:rank排序前k個(gè)類(lèi)Top-k,RDF圖T,分片個(gè)數(shù)n,閾值threshold

輸出:RDF圖T的一個(gè)劃分

//主要?jiǎng)澐蛛A段

簡(jiǎn)要介紹圖4和圖5中的實(shí)驗(yàn)環(huán)境。硬件配置;惠普臺(tái)式機(jī)一臺(tái),8核CPU,頻率為3.20GHz,內(nèi)存8GB,磁盤(pán)容量500GB。軟件配置,操作系統(tǒng)為Ubuntu 14.04,本發(fā)明實(shí)現(xiàn)語(yǔ)言為Python。對(duì)比方法METIS實(shí)現(xiàn)語(yǔ)言為C,下載現(xiàn)有軟件metis-5.1.0.tar.gz測(cè)試(http://glaros.dtc.umn.edu/gkhome/metis/metis/download);哈希劃分同樣用Python語(yǔ)言實(shí)現(xiàn)。

參見(jiàn)圖4,本發(fā)明對(duì)標(biāo)準(zhǔn)合成數(shù)據(jù)集LUBM中的LUBM3,LUBM50和LUBM100進(jìn)行劃分。圖4從數(shù)據(jù)集規(guī)模,計(jì)算節(jié)點(diǎn)數(shù),算法運(yùn)行時(shí)間,和計(jì)算節(jié)點(diǎn)三元組數(shù)目百分比四個(gè)方面來(lái)描繪LUBM數(shù)據(jù)集的劃分結(jié)果。從左上角的子圖可以看出本發(fā)明隨著數(shù)據(jù)集規(guī)模增大跨越節(jié)點(diǎn)的邊數(shù)目比其他兩種方法少;從右上角的子圖可以看出隨著計(jì)算節(jié)點(diǎn)數(shù)目增多,本發(fā)明的劃分結(jié)果中跨越計(jì)算節(jié)點(diǎn)的數(shù)目少且增幅較慢;從左下角的子圖可以看出本算法在合成數(shù)據(jù)集上的運(yùn)行時(shí)間與METIS在同一個(gè)數(shù)量級(jí)上;從右下角的子圖可以看出本發(fā)明可以將LUBM數(shù)據(jù)近似平均的劃分到各計(jì)算節(jié)點(diǎn)。

參見(jiàn)圖5,本發(fā)明對(duì)DBpedia-2015-10進(jìn)行劃分,該數(shù)據(jù)集從維基百科的詞條里取出的結(jié)構(gòu)化數(shù)據(jù),圖5從跨越計(jì)算機(jī)節(jié)點(diǎn)的邊數(shù)目,計(jì)算機(jī)節(jié)點(diǎn)數(shù),算法運(yùn)行時(shí)間和計(jì)算節(jié)點(diǎn)三元組數(shù)目百分比四個(gè)方面來(lái)描繪DBpedia數(shù)據(jù)集的劃分結(jié)果。左上角的子圖是計(jì)算節(jié)點(diǎn)數(shù)目為20時(shí),本發(fā)明與其它兩種劃分方法的劃分結(jié)果中跨越站點(diǎn)的邊數(shù)目;從右上角的子圖可以看出,隨著計(jì)算節(jié)點(diǎn)數(shù)目增多本發(fā)明的劃分結(jié)果中跨越站點(diǎn)的邊數(shù)目增長(zhǎng)較慢,在計(jì)算節(jié)點(diǎn)數(shù)目大于20后劃分結(jié)果跨越計(jì)算節(jié)點(diǎn)的數(shù)目少于METIS劃分;從左下角的子圖可以看出本算法在真實(shí)數(shù)據(jù)集上的運(yùn)行時(shí)間與METIS在同一個(gè)數(shù)量級(jí)上;從右下角的子圖可以看出本發(fā)明可以將DBpedia數(shù)據(jù)近似平均的劃分到各計(jì)算節(jié)點(diǎn)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1