Neo4j介紹及實現(xiàn)原理_第1頁
Neo4j介紹及實現(xiàn)原理_第2頁
Neo4j介紹及實現(xiàn)原理_第3頁
Neo4j介紹及實現(xiàn)原理_第4頁
Neo4j介紹及實現(xiàn)原理_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

淺談Neo4j02NEO4J介紹目錄

CONTENT01圖數(shù)據(jù)庫介紹03環(huán)境搭建04CQL介紹05SpringBoot整合Neo4j02NEO4J介紹目錄

CONTENT01圖數(shù)據(jù)庫介紹03環(huán)境搭建04CQL介紹05SpringBoot整合Neo4j圖數(shù)據(jù)庫介紹社交領域:臉書,推特,領英都用它來管理社交關系,實則好友推薦。零售領域:沃爾瑪,電商網站實現(xiàn)商品實時推薦,賣家獲得更好的體驗。金融領域:花旗、瑞銀用圖數(shù)據(jù)庫實現(xiàn)風控處理。汽車制造領域:豐田、沃爾沃、戴姆勒汽車制造商依靠它,推動創(chuàng)新制造解決方案。電信領域:Verizon,Orange,AT&T依靠圖數(shù)據(jù)庫管理網絡,訪問并支持客戶360。

圖數(shù)據(jù)庫應用什么是圖數(shù)據(jù)庫?隨著社交、電商、物聯(lián)網行業(yè)的快速發(fā)展,現(xiàn)實社會織起了一張龐大而復雜的關系網,傳統(tǒng)數(shù)據(jù)庫很難處理關系運算。大數(shù)據(jù)行業(yè)需要處理數(shù)據(jù)之間的關系隨數(shù)據(jù)量呈現(xiàn)幾何級數(shù)增長,急需一種支持海量復雜數(shù)據(jù)關系運算的數(shù)據(jù)庫,圖數(shù)據(jù)庫應運而生,它是基于圖論實現(xiàn)的一種NoSQL數(shù)據(jù)庫,存儲和查詢基于圖論,存儲更多的連接數(shù)據(jù)。對比關系型數(shù)據(jù)庫

在一個社交網絡里找到最大深度為5的朋友的朋友,他們的數(shù)據(jù)集包括100萬人,每人約有50個朋友。在關系型數(shù)據(jù)庫中,Person和Department表之間用外鍵表示關系在圖數(shù)據(jù)庫中,無論何時運行類似JOIN的操作,數(shù)據(jù)庫都會使用此列表并直接訪問連接的節(jié)點,而無需進行昂貴的搜索和匹配計算。02NEO4J介紹目錄

CONTENT01圖數(shù)據(jù)庫介紹03環(huán)境搭建04CQL介紹05SpringBoot整合Neo4j

是世界上最先進的圖數(shù)據(jù)庫之一,提供原生的圖數(shù)據(jù)存儲,檢索和處理;采用屬性圖模型(Propertygraphmodel),極大的完善和豐富圖數(shù)據(jù)模型;專屬查詢語言Cypher,直觀,高效;Neo4j是一個開源的NoSQL圖形數(shù)據(jù)庫,2003年開始開發(fā),使用scala和java語言,2007年開始發(fā)布。Neo4j介紹

Neo4j優(yōu)勢查詢語言Neo4jCQL類似SQL它遵循屬性圖數(shù)據(jù)模型它支持UNIQUE約束它包含一個用于執(zhí)行CQL命令的UI:Neo4j數(shù)據(jù)瀏覽器它支持完整的ACID(原子性,一致性,隔離性和持久性)規(guī)則它支持查詢的數(shù)據(jù)導出到JSON和XLS格式它提供了RESTAPI,可以被任何編程語言(如Java,Spring,Scala等)訪問它支持兩種JavaAPI:CypherAPI和NativeJavaAPI來開發(fā)Java應用程序它很容易表示連接的數(shù)據(jù)檢索/遍歷/導航更多的連接數(shù)據(jù)是非常容易和快速的它非常容易地表示半結構化數(shù)據(jù)Neo4jCQL查詢語言命令是人性化的可讀格式,非常容易學習使用簡單而強大的數(shù)據(jù)模型它不需要復雜的連接來檢索連接的/相關的數(shù)據(jù),因為它很容易檢索它的相鄰節(jié)點或關系細節(jié)沒有連接或索引特性優(yōu)點Neo4j的構建元素節(jié)點:圖數(shù)據(jù)庫中的一個基本元素,用來表示一個實體記錄,就像關系數(shù)據(jù)庫中的一條記錄一樣。屬性:描述圖節(jié)點和關系的鍵值對,其中Key是一個字符串,值可以通過使用任何數(shù)據(jù)類型來表示。關系:圖數(shù)據(jù)庫基本元素。連接節(jié)點構成圖,關系不能指向空,也不能從空發(fā)起,具有方向性。標簽:將一個公共名稱與一組節(jié)點或關系相關聯(lián),節(jié)點或關系可以包含一個或多個標簽。02NEO4J介紹目錄

CONTENT01圖數(shù)據(jù)庫介紹03環(huán)境搭建04CQL介紹05SpringBoot整合Neo4j環(huán)境搭建桌面版社區(qū)版企業(yè)版安裝方式環(huán)境搭建1.拉取鏡像2.運行鏡像3.瀏覽器訪問Docker安裝社區(qū)版02NEO4J介紹目錄

CONTENT01圖數(shù)據(jù)庫介紹03環(huán)境搭建04CQL介紹05SpringBoot整合Neo4jCQL介紹

Neo4j的Cypher語言是為處理圖而構建的,CQL代表Cypher查詢語言。像Oracle數(shù)據(jù)庫具有查詢語言SQL,Neo4j具有CQL作為查詢圖形數(shù)據(jù)語言。是Neo4j圖形數(shù)據(jù)庫的查詢語言。是一種聲明性模式匹配語言遵循SQL語法。簡單且人性化、可讀的格式。CQL介紹

樣例:三個朋友的社交圈,如何使用CQL語言描述呢?使用cypher語言來描述關系:(fox)<-[:knows]-(周瑜)-[:knows]->(諸葛)-[:knows]->(fox)

CQL常用命令-CREATE

create語句是創(chuàng)建模型語句用來創(chuàng)建數(shù)據(jù)模型創(chuàng)建節(jié)點創(chuàng)建簡單節(jié)點:create(n)創(chuàng)建多個節(jié)點:create(n),(m)創(chuàng)建帶標簽和屬性的節(jié)點并返回節(jié)點:create(n:person{name:'如來'})returnn創(chuàng)建關系使用新節(jié)點創(chuàng)建關系:

CREATE(n:person{name:'楊戩'})-[r:師傅]->(m:person{name:'玉鼎真人'})returnr使用已知節(jié)點創(chuàng)建帶屬性關系:match(n:person{name:'沙僧'}),(m:person{name:'唐僧’})create(n)-[r:`師傅`{relation:'師傅'}]->(m)returnr常用命令-MATCH查詢|Return返回

MATCH查詢Neo4jCQLMATCH命令用于:從數(shù)據(jù)庫獲取有關節(jié)點和屬性的數(shù)據(jù)從數(shù)據(jù)庫獲取有關節(jié)點,關系和屬性的數(shù)據(jù)RETURN返回MATCH(n:`西游`)RETURNnLIMIT25Neo4jCQLRETURN命令用于:檢索節(jié)點的部分或者全部屬性檢索節(jié)點和關聯(lián)關系的部分或者全部屬性MATCH(n:`西游`)RETURNid(n),,n.tail,n.relation02NEO4J介紹目錄

CONTENT01圖數(shù)據(jù)庫介紹03環(huán)境搭建04CQL介紹05SpringBoot

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論