一文了解知識(shí)圖譜常見(jiàn)的知識(shí)表示泽裳,圖譜存儲(chǔ)和查詢方法

對(duì)于知識(shí)圖譜構(gòu)建瞒斩,有兩個(gè)問(wèn)題是永遠(yuǎn)繞不掉的。一個(gè)是知識(shí)圖譜的知識(shí)表示涮总,一個(gè)是知識(shí)圖譜的存儲(chǔ)方式胸囱。這兩個(gè)問(wèn)題大家也比較關(guān)注,而且知識(shí)圖譜的表示跟知識(shí)圖譜的存儲(chǔ)還是有一定的相關(guān)性瀑梗。知識(shí)表示烹笔,可以理解為知識(shí)圖譜邏輯層面的表示,即數(shù)據(jù)模型抛丽。從人的角度對(duì)知識(shí)圖譜數(shù)據(jù)進(jìn)行描述谤职。物理層面的存儲(chǔ):從計(jì)算機(jī)的角度對(duì)數(shù)據(jù)進(jìn)行組織,兩者密切相關(guān)铺纽。所以就把兩者放在一起做個(gè)總結(jié)柬帕。知識(shí)圖譜有多種表示方式,我們只在此討論圖譜的圖模型表示法和三元組表示狡门。

image

<figcaption style="margin-top: 0.66667em; padding: 0px 1em; font-size: 0.9em; line-height: 1.5; text-align: center; color: rgb(153, 153, 153);">知識(shí)圖譜邏輯層與數(shù)據(jù)層關(guān)系</figcaption>

一 知識(shí)表示

1.知識(shí)圖譜三元組表示法

經(jīng)典三元組模型比較簡(jiǎn)單陷寝,只討論了二元關(guān)系,在實(shí)際應(yīng)用中要基于三元組拓展時(shí)空知識(shí)表達(dá)能力其馏,多模態(tài)等凤跑。需要將其拓展成四元組,五元組

1)RDF

image

RDF就是資源描述框架叛复,可以理解成一種資源表示的模板仔引,就是一種知識(shí)表達(dá)形式。就是只有實(shí)體及關(guān)系沒(méi)有概念(domain和range).形式上也就是大家最常見(jiàn)的<實(shí)體-關(guān)系/屬性-實(shí)體/屬性值>三元組褐奥。

RDF是一種邏輯模型咖耘,要進(jìn)行存儲(chǔ)還要進(jìn)行序列化。RDF的序列化方式有N-Triples撬码,Turtle儿倒,JSON-LD等形式。

但是RDF本身有其問(wèn)題:Rdf只能表示實(shí)體與實(shí)體之間的關(guān)系呜笑,屬性夫否。但是沒(méi)法定義實(shí)體的概念,概念具有的屬性叫胁。但是不論是在智能的概念上凰慈,還是在現(xiàn)實(shí)的應(yīng)用當(dāng)中,概念都是相當(dāng)重要的驼鹅;也是知識(shí)圖譜本身十分強(qiáng)調(diào)的微谓。

2)RDFs

RDFschema就是為了解決RDF表示法森篷,無(wú)法表示概念的缺陷的。RDFschema像是在RDF上層加了個(gè)外衣堰酿。定義了概念疾宏,概念的屬性,屬性值触创,概念與概念之間的關(guān)系以及約束關(guān)系坎藐。具體定義的schema的存在也讓圖譜具備了一些基于本體的推理能力。

3)OWL

OWL哼绑,即“Web Ontology Language”岩馍。是對(duì)RDFs的一個(gè)擴(kuò)展,添加了額外的預(yù)定義詞匯抖韩。使其具備更強(qiáng)的推理能力蛀恩。

復(fù)雜關(guān)系表示:經(jīng)典三元組模型只能對(duì)于一些復(fù)雜的知

1)多元關(guān)系

比如典型的事件描述場(chǎng)景

2)時(shí)空知識(shí)表示

需要五元組來(lái)表示。例如:公元前407年柏拉圖在雅典跟隨蘇格拉底學(xué)習(xí)茂浮。為了表達(dá)這個(gè)双谆,把三元組拓展成5元組<亞里士多德,導(dǎo)師席揽,柏拉圖>顽馋。被拓展成<亞里士多德,導(dǎo)師幌羞,柏拉圖寸谜,(北緯38,東經(jīng)23)属桦,公元前407年>的五元組熊痴。

3)多模態(tài)的表示

2.圖模型

1.有向圖

image

RDF模型可以天然的轉(zhuǎn)化成有向圖模型。所以基于RDF模型的圖譜聂宾,也可以通過(guò)轉(zhuǎn)化果善,存到圖數(shù)據(jù)庫(kù)中。

2.屬性圖

屬性圖示目前被圖數(shù)據(jù)庫(kù)業(yè)界采納最廣的一種圖數(shù)據(jù)模型系谐。屬性圖由節(jié)點(diǎn)集和邊集組成岭埠,且滿足如下性質(zhì):

1)每個(gè)節(jié)點(diǎn)具有唯一的id

2)每個(gè)節(jié)點(diǎn)具有一組屬性,每個(gè)屬性是一個(gè)鍵值對(duì)蔚鸥;

3)每條邊具有唯一的id

4)每條邊具有一個(gè)標(biāo)簽,表示聯(lián)系

5)每條邊具有一組屬性许赃,每個(gè)屬性是一個(gè)鍵值對(duì)

二 知識(shí)圖譜存儲(chǔ)

1.關(guān)系表方式存儲(chǔ)

可以選擇的數(shù)據(jù)庫(kù)有傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)止喷,noSql數(shù)據(jù)庫(kù)例如mongoDB。優(yōu)點(diǎn):簡(jiǎn)單混聊,方便弹谁。缺點(diǎn):需要做多次自連接,對(duì)于查詢復(fù)雜的關(guān)系,效率會(huì)比較低预愤。

2.圖數(shù)據(jù)庫(kù)

目前業(yè)界主要利用屬性圖模型來(lái)構(gòu)建的沟于。基于圖的存儲(chǔ)方式通常會(huì)構(gòu)建基于圖結(jié)構(gòu)的索引植康。這類(lèi)索引編碼了圖上的結(jié)構(gòu)信息旷太,因此對(duì)于復(fù)雜查詢(特別是表達(dá)復(fù)雜的子圖的查詢)來(lái)說(shuō)十分高效。但是在簡(jiǎn)單查詢?nèi)缰苯硬樵兡硞€(gè)實(shí)體的特定屬性值方面性能優(yōu)勢(shì)并不明顯销睁,對(duì)于屬性值多的節(jié)點(diǎn)供璧,可能還比較慢。當(dāng)然也有一些優(yōu)化方法冻记,比如把屬性存儲(chǔ)在mongoDB睡毒。查屬性時(shí)通過(guò)mongoDB去查。

3.分布式存儲(chǔ)

在進(jìn)行分布式知識(shí)圖譜管理時(shí)冗栗,不同的應(yīng)用有著不同的需求演顾,有些應(yīng)用要求較高的可擴(kuò)展性,但是對(duì)查詢效率要求不高隅居,對(duì)于這類(lèi)應(yīng)用钠至,可以基于已有的云計(jì)算平臺(tái)來(lái)搭建分布式知識(shí)圖譜存儲(chǔ)系統(tǒng)。而有些應(yīng)用對(duì)查詢效率要求很高军浆,在這種情況下棕洋,系統(tǒng)往往需要自行劃分?jǐn)?shù)據(jù),并依據(jù)劃分結(jié)果將知識(shí)圖譜數(shù)據(jù)分布到不同的機(jī)器上乒融。具體的掰盘,大家可以去具體調(diào)查一下相關(guān)廠商的解決方案。

三 圖譜查詢語(yǔ)言

1.SPARQL

是專(zhuān)門(mén)針對(duì)RDF模式表示的圖譜的查詢語(yǔ)言赞季。是一種類(lèi)SQL的語(yǔ)言愧捕。SPARQL 能夠讓我們通過(guò)選擇、抽取等方式從被表示為 RDF 的知識(shí)中獲取特定的部分申钩。使用sparkql需要將三元組存儲(chǔ)于三元組存儲(chǔ)庫(kù)(triple store)次绘。當(dāng)數(shù)據(jù)被加載進(jìn)三元組存儲(chǔ)庫(kù)之后,就可以使用 SPARQL 協(xié)議來(lái)發(fā)送 SPARQL 查詢?nèi)ゲ樵儭?/p>

2.Cypher

Cypher 是一個(gè)描述性的圖形查詢語(yǔ)言撒遣,允許不必編寫(xiě)圖形結(jié)構(gòu)的遍歷代碼對(duì)圖形存儲(chǔ)有表現(xiàn)力和效率的查詢邮偎,和 SQL 很相似。大家熟悉的neo4j的語(yǔ)言就是cypher义黎。

3.Gremlin

Gremlin是 Apache ThinkerPop 框架下的圖遍歷語(yǔ)言禾进。Gremlin 可以是聲明性的也可以是命令性的。雖然 Gremlin 是基于 Groovy 的廉涕,但具有許多語(yǔ)言變體泻云,允許開(kāi)發(fā)人員以 Java艇拍、JavaScript、Python宠纯、Scala卸夕、Clojure 和 Groovy 等許多現(xiàn)代編程語(yǔ)言生編寫(xiě) Gremlin 查詢。

查詢語(yǔ)言并不是最關(guān)鍵的部分婆瓜,其實(shí)只要選用跟對(duì)應(yīng)數(shù)據(jù)庫(kù)相關(guān)的語(yǔ)言就行快集。寫(xiě)起來(lái)簡(jiǎn)單好用當(dāng)然更好,但是并不對(duì)上層應(yīng)用起什么實(shí)質(zhì)的影響勃救。

四 圖數(shù)據(jù)庫(kù)與圖引擎

圖數(shù)據(jù)庫(kù)與圖計(jì)算引擎是不同的概念不同碍讨。圖數(shù)據(jù)庫(kù),關(guān)注點(diǎn)在于怎么存儲(chǔ)蒙秒,而圖引擎勃黍,關(guān)注點(diǎn)在怎么用這些數(shù)據(jù),針對(duì)這些數(shù)據(jù)進(jìn)行查詢晕讲、分析的應(yīng)用覆获。廣泛應(yīng)用于互聯(lián)網(wǎng)應(yīng)用、社交網(wǎng)絡(luò)瓢省,知識(shí)圖譜應(yīng)用弄息、金融風(fēng)控應(yīng)用等。

五 數(shù)據(jù)庫(kù)的選擇

圖譜數(shù)據(jù)的數(shù)據(jù)庫(kù)選擇主要考慮圖譜操作的復(fù)雜度勤婚。圖譜上的操作越是復(fù)雜摹量,圖數(shù)據(jù)庫(kù)的必要性越是明顯。圖譜上的全局計(jì)算(比如平均最短路徑的計(jì)算)馒胆,圖譜上的復(fù)雜遍歷缨称,圖譜上的復(fù)雜子圖查詢等等都涉及圖上的多步遍歷。圖上的多步遍歷操作如果是在關(guān)系數(shù)據(jù)庫(kù)上實(shí)現(xiàn)需要多個(gè)聯(lián)結(jié)(Join)操作祝迂。多個(gè)聯(lián)結(jié)操作的優(yōu)化一直以來(lái)是關(guān)系數(shù)據(jù)庫(kù)的難題睦尽。圖數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)時(shí)針對(duì)多步遍歷做了大量?jī)?yōu)化,能夠?qū)崿F(xiàn)高效圖遍歷操作型雳。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末当凡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子纠俭,更是在濱河造成了極大的恐慌沿量,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冤荆,死亡現(xiàn)場(chǎng)離奇詭異朴则,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)匙赞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)佛掖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人涌庭,你說(shuō)我怎么就攤上這事芥被。” “怎么了坐榆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵拴魄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我席镀,道長(zhǎng)匹中,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任豪诲,我火速辦了婚禮顶捷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屎篱。我一直安慰自己服赎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布交播。 她就那樣靜靜地躺著重虑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秦士。 梳的紋絲不亂的頭發(fā)上缺厉,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音隧土,去河邊找鬼提针。 笑死,一個(gè)胖子當(dāng)著我的面吹牛次洼,可吹牛的內(nèi)容都是我干的关贵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼卖毁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼揖曾!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起亥啦,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤炭剪,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后翔脱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體奴拦,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年届吁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了错妖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绿鸣。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖暂氯,靈堂內(nèi)的尸體忽然破棺而出潮模,到底是詐尸還是另有隱情,我是刑警寧澤痴施,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布擎厢,位于F島的核電站,受9級(jí)特大地震影響辣吃,放射性物質(zhì)發(fā)生泄漏动遭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一神得、第九天 我趴在偏房一處隱蔽的房頂上張望厘惦。 院中可真熱鬧,春花似錦循头、人聲如沸绵估。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)国裳。三九已至,卻和暖如春全跨,著一層夾襖步出監(jiān)牢的瞬間缝左,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工浓若, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渺杉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓挪钓,卻偏偏與公主長(zhǎng)得像是越,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碌上,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353