Neo4j介紹
Neo4j不同于傳統(tǒng)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),Neo4j是一個(gè)無架構(gòu)的數(shù)據(jù)庫。在開始添加數(shù)據(jù)之前,你并不需要定義表和關(guān)系。一個(gè)節(jié)點(diǎn)可以具有你喜歡的任何屬性,任何界定啊都可以與其他任何節(jié)點(diǎn)建立關(guān)系。Neo4j數(shù)據(jù)庫中的數(shù)據(jù)模型隱含在它的儲(chǔ)存的數(shù)據(jù)中,而不是明確的將數(shù)據(jù)模型定義為數(shù)據(jù)庫本身的一個(gè)部分。它是對你象牙存入數(shù)據(jù)庫的數(shù)據(jù)的一個(gè)描述,而不是數(shù)據(jù)庫的一系列方法來限制將要存儲(chǔ)的內(nèi)容。
Neo4j因其嵌入式、高性能、輕量級(jí)等優(yōu)勢,越來越受到關(guān)注。
數(shù)據(jù)結(jié)構(gòu)
在圖數(shù)據(jù)結(jié)構(gòu)中,只有兩種基本的數(shù)據(jù)類型 即節(jié)點(diǎn)(Node)和關(guān)系(Relationship),節(jié)點(diǎn)(Node)可以擁有屬性,關(guān)系(Relationship)也可以擁有屬性 ,屬性都是以鍵值對的方式存儲(chǔ),節(jié)點(diǎn)(Node)與節(jié)點(diǎn)(Node)的聯(lián)系通過關(guān)系(Relationship)進(jìn)行建立,他們建立的關(guān)系是有方向的。
如下圖所示:

如上圖所示,節(jié)點(diǎn)1通過關(guān)系(PROCESS_IN)指向節(jié)點(diǎn)2和節(jié)點(diǎn)3,節(jié)點(diǎn)1則為startNode,而節(jié)點(diǎn)2和節(jié)點(diǎn)3則為endNode.