Neo4j屬性圖模型簡(jiǎn)單介紹

本文主要是對(duì)Neo4j屬性圖模型簡(jiǎn)單的介紹。

Neo4j是什么?

Neo4j是一款是由java語(yǔ)言實(shí)現(xiàn)的圖數(shù)據(jù)庫(kù),圖形數(shù)據(jù)庫(kù)將數(shù)據(jù)以圖的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)和管理,并且能夠以高度可問(wèn)的方式優(yōu)雅地表示任何種類(lèi)的數(shù)據(jù),而Neo4j是基于屬性圖模型(Property Graph Model)的數(shù)據(jù)庫(kù)。

屬性圖模型定義

在屬性圖中存在如下元素:

1、 實(shí)體(Entity)
????a) 節(jié)點(diǎn)(Node)
????b) 關(guān)系(Relationship)
??2、 邊/路徑(Path)
??3、 記號(hào)(Token)
????a) 標(biāo)簽(Label)
????b) 關(guān)系類(lèi)型(Relationship Type)
????c) 屬性key(Property Key)
??4、 屬性(Property)

1.實(shí)體

1、每一個(gè)Neo4j圖數(shù)據(jù)庫(kù)中的實(shí)體都擁有一個(gè)用于區(qū)分實(shí)體與實(shí)體之間是否相等的唯一標(biāo)識(shí);
2、每一個(gè)Neo4j圖數(shù)據(jù)中的實(shí)體都可以分配一組屬性key以及對(duì)應(yīng)的屬值(value),同一個(gè)實(shí)體中的屬性key都是唯一的,并且不能為空的以及空字符串;

1.1.節(jié)點(diǎn)

1、Neo4j圖數(shù)據(jù)庫(kù)中節(jié)點(diǎn)都是建立在實(shí)體的之上的一種抽象,擁有屬性和屬性值;
2、一個(gè)節(jié)點(diǎn)可以被分配一組唯一的標(biāo)簽;
3、一個(gè)節(jié)點(diǎn)可以有0個(gè)或者多個(gè)向外或向內(nèi)(邊/路徑的指向,分為向外和向內(nèi)兩種)的關(guān)系;

1.1.1.節(jié)點(diǎn)例子1、

有一個(gè)圖他只有一個(gè)節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)只有一個(gè)屬性name如下圖所示:

單節(jié)點(diǎn)例子
1.1.2.節(jié)點(diǎn)例子2

有一個(gè)圖有三個(gè)節(jié)點(diǎn),如下圖所示:

節(jié)點(diǎn)例子2

1.2.關(guān)系

1、關(guān)系是一個(gè)建立兩個(gè)節(jié)點(diǎn)之間關(guān)系,由源節(jié)點(diǎn)指向目標(biāo)節(jié)點(diǎn)的實(shí)體;
2、一個(gè)向外的關(guān)系,是源節(jié)點(diǎn)由自身關(guān)聯(lián)目標(biāo)節(jié)點(diǎn)的一種關(guān)系;
3 一個(gè)向內(nèi)的關(guān)系,是源端節(jié)點(diǎn)自身被關(guān)聯(lián)的一種關(guān)系;
4、每一個(gè)關(guān)系都必須分配一個(gè)且唯一的關(guān)系類(lèi)型;
5、關(guān)系也是實(shí)體,可以擁有屬性和屬性值;

1.2.1.關(guān)系例子1

有如下圖關(guān)系:

關(guān)系例子1

圖中的的關(guān)系有Student和Teacher兩種關(guān)系類(lèi)型, Teacher這種關(guān)系類(lèi)型有一個(gè)roles屬性,它的類(lèi)型為數(shù)組類(lèi)型,而Student這個(gè)關(guān)系類(lèi)型中的Class屬性的數(shù)據(jù)類(lèi)型為String。

1.2.2.關(guān)系例子2

自關(guān)聯(lián)關(guān)系

自關(guān)聯(lián)關(guān)系

2.邊/路徑

1、 邊/路徑表示一個(gè)屬性圖的關(guān)系,由一系列交替的節(jié)點(diǎn)和關(guān)系組成;
2、 一個(gè)邊/路徑總是由開(kāi)始于節(jié)點(diǎn),終止于節(jié)點(diǎn)(成也蕭何,敗也蕭何);
3、 最小的邊/路徑只包含單個(gè)節(jié)點(diǎn),這類(lèi)型的邊叫做空邊/空路徑;
4、 邊/路徑有一個(gè)長(zhǎng)度(深度),它是大于或等于0的整數(shù),等于路徑中的關(guān)系數(shù);

2.2.1.邊/路徑例子1

圖數(shù)據(jù)庫(kù)中邊/路徑的長(zhǎng)度等于0,如下圖:

邊/路徑例子1
2.2.2.邊/路徑例子2

圖中邊/路徑的長(zhǎng)度等于1,如下圖:

邊/路徑例子2.1
邊/路徑例子2.2

3.記號(hào)

記號(hào)是一個(gè)非空的Unicode字符串。

3.1.標(biāo)簽

標(biāo)簽是一個(gè)分配給節(jié)點(diǎn)的一個(gè)唯一的記號(hào)。

標(biāo)簽

3.2.關(guān)系類(lèi)型

關(guān)系類(lèi)型是被分配給關(guān)系的一個(gè)唯一的記號(hào)

3.3.屬性key

屬性key是一個(gè)存在于實(shí)體中的唯一屬性字段,類(lèi)似于Json對(duì)象中的key。

3.3.屬性

屬性由一對(duì)屬性key和屬性值組成,類(lèi)似于Json字符串中的key:value。

到這里就結(jié)束了對(duì)Neo4j屬性圖模型的基本介紹了,祝大家生活愉快!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,553評(píng)論 19 139
  • [TOC] 系統(tǒng)信息 圖數(shù)據(jù)庫(kù)版本信息 OS&庫(kù)信息 OS:Ubuntu 16.04 虛擬機(jī)VM12 python...
    YOTOY閱讀 25,158評(píng)論 7 35
  • 對(duì)于一個(gè)很長(zhǎng)時(shí)間沒(méi)有動(dòng)手動(dòng)腳習(xí)慣打掃衛(wèi)生的人來(lái)說(shuō),下定決心把家里大掃除一番的決定來(lái)的有那么一點(diǎn)心血來(lái)潮。 雖然聽(tīng)過(guò)...
    西閣月閱讀 215評(píng)論 0 0
  • 一: 我叫帕雷塞克?蒙特斯,來(lái)自距離地球25萬(wàn)光年的賽丁泉星系?,F(xiàn)在擔(dān)任賽丁泉星系駐地球高級(jí)軍事代表團(tuán)團(tuán)長(zhǎng)。225...
    高級(jí)黑第一名閱讀 561評(píng)論 0 0
  • 與歡樂(lè)韶華同歸 而消逝者又將現(xiàn)出來(lái)向我重演 左右而言一切 眼見(jiàn)暗淡而悠遠(yuǎn) 劇場(chǎng)經(jīng)理-劇作者-丑角 我浪費(fèi)的珍惜被收...
    祎啊祎啊祎啊祎閱讀 188評(píng)論 0 0

友情鏈接更多精彩內(nèi)容