簡單了解neo4j圖形數(shù)據(jù)庫

Neo4j的設計動機是為了更好地,更高效地描述實體之間的關系。在現(xiàn)實生活中,每一個實體都于周圍的其他實體有著千絲萬縷的關系,這些關系里面所存儲的信息甚至要大于身體本身的屬性。然后傳統(tǒng)的關系型數(shù)據(jù)庫更注重刻畫實體內(nèi)部的屬性,實體與實體之間的關系通常都是利用外鍵來實現(xiàn)。所以在求解關系的時候通常需要join操作,而join操作通常又是耗時的。圖數(shù)據(jù)庫為重點描述數(shù)據(jù)之間關系的數(shù)據(jù)庫應運而生,成為了NoSQL中非常重要的一部分。而Neo4j正是圖數(shù)據(jù)庫中最為優(yōu)秀的之一。

特點:

Neo4j支持索引,其內(nèi)部實際上通過Lucene實現(xiàn)。

Neo4j完整支持事務,即滿足ACID性質(zhì)。

免索引鄰接,用來保證關系查詢的速度。

圖算法。Neo4j實現(xiàn)的三種圖算法:最短路徑(最少數(shù)目的關系)、Dijkstra算法(解決有向圖中任意兩個頂點之間的最短路徑問題)以及A*算法(是解決靜態(tài)路網(wǎng)中求解最短路最有效的方法)。

多個Neo4J結(jié)點可以組成neo4j的Master-Slave集群

兩個基本元素,節(jié)點和關系。節(jié)點有標簽和任意多個屬性。關系,又叫圖論里面的邊,有類型和屬性。Neo4j關系被分為兩種主要類型,單向關系和雙向關系。


Neo4j使用

一.基本的增刪改查

創(chuàng)建一個節(jié)點:CREATE (n:Person{name:'Andres'});

創(chuàng)建一個邊:CREATE(a)-[r:Follow]->(b);

查詢最短路徑:MATCH(ms:Person{name:'Node A'}),(cs:Person{name:'Node B'}),p=shortestPath((ms)-[r:Follow]-(cs))RETURNp;

查詢兩個節(jié)點之間的關系:MATCH (a:Person{name:'Node A'})-[r]->(b:Person{name:'Node B'})? ? ?RETURNtype(r);

創(chuàng)建索引的語法:create index on : customer (name)

二.常用的Neo4j CQL命令如下:

S.No.CQL命令/條用法

1.CREATE 創(chuàng)建創(chuàng)建節(jié)點,關系和屬性

2.MATCH 匹配檢索有關節(jié)點,關系和屬性數(shù)據(jù)

3.RETURN 返回返回查詢結(jié)果

4.WHERE 哪里提供條件過濾檢索數(shù)據(jù)

5.DELETE 刪除刪除節(jié)點和關系

6.REMOVE 移除刪除節(jié)點和關系的屬性

7.ORDER BY以…排序排序檢索數(shù)據(jù)

8.SET 組添加或更新標簽


三.以下是常用的Neo4j CQL函數(shù):

S.No.定制列表功能用法

1.String 字符串它們用于使用String字面量。

2.Aggregation 聚合它們用于對CQL查詢結(jié)果執(zhí)行一些聚合操作。

3.Relationship 關系他們用于獲取關系的細節(jié),如startnode,endnode等。


參考鏈接,侵刪:

https://blog.csdn.net/weixin_34314962/article/details/89655551

https://blog.csdn.net/qq_41977838/article/details/123563005

https://blog.csdn.net/Dream_bin/article/details/104470275/

https://zhuanlan.zhihu.com/p/88745411?utm_source=wechat_session

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

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

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