今天來說一下圖形資料庫——Neo4j。它由Neo Technology開發的開源圖資料庫,該公司從2000年起就開始研發圖資料庫,目前Neo4j已經成為領先的圖資料庫產品。思科、惠普、德意志等跨國企業均成為其客戶。知識圖譜系列的文章都將收錄在我的個人專欄《知識圖譜系列》中,歡迎大家關注~
目錄
Neo4j是一個高效能的,NOSQL圖形資料庫,它將結構化資料儲存在網路上而不是表中。它是一個嵌入式的、基於磁碟的、具備完全的事務特性的Java持久化引擎,但是它將結構化資料儲存在網路(從數學角度叫做圖)上而不是表中。Neo4j也可以被看作是一個高效能的圖引擎,該引擎具有成熟資料庫的所有特性。程式設計師工作在一個物件導向的、靈活的網路結構下而不是嚴格、靜態的表中——但是他們可以享受到具備完全的事務特性、企業級的資料庫的所有好處。 ——摘自《百度百科》
Neo4j的特點:1、直觀的圖模型儲存。2、完全支援ACID事務。3、基於磁碟的持久儲存。4、支援海量資料,比如數十億節點/關係/屬性級別的資料。5、高可用的分散式叢集。6、高度優化,迅速的圖查詢(Cypher圖查詢語言)。7、可以嵌入(只需幾個小jar檔案),支援REST API。
在一個圖中包含兩種基本的資料型別:Nodes(節點) 和 Relationships(關係)。Nodes 和 Relationships 包含key/value形式的屬性。Nodes通過Relationships所定義的關係相連起來,形成關係型網路結構。
Neo4j的安裝對硬體、系統都有一些要求的。關於Memory,最低要求是2GB。關於CPU,最低要求是Itel Core i3 推薦使用Intel Core i7 或 IBM POWER 8 Memory。Java必須安裝OpenJDK 8 或 Oracle Java 8 Operation Sytem。
小編的jdk是1.8的,如果jdk還沒有裝的鐵子們自行安裝就可以了,這個比較簡單,在這裡就不多說了。
還沒有下載的朋友們請點選這裡進行下載,我們使用社群版的就行了,商業版的有點奢侈。
[root@cdh-master software]# tar -zxvf neo4j-community-4.1.3-unix.tar.gz -C ../modules/
在modules目錄下的名稱太長了,所以改個名字吧:
[root@cdh-master modules]# mv neo4j-community-4.1.3 neo4j
vim /etc/profile
在文章末尾新增如下程式碼:
儲存退出後,執行:
source /etc/profile
開啟neo4j.conf這個檔案:
設定dbms.connectors.default_advertised_address為伺服器的ip地址:
哦吼~完蛋……沒想到辛苦了這麼久,竟然版本不匹配,哎重新來一遍吧,於是重新下載了低版本的。
再次測試,這下可以了,這裡需要注意的是:neo4j console是在控制前臺中執行而neo4j start 是作為後臺程式執行。
初始使用者名稱和密碼均為neo4j,登入之後可以自行修改。
最後,放上一張官方的安裝步驟圖片吧:
個人感覺Windows下安裝跟Linux下安裝大同小異啊,突然就不想寫了,也是下載、解壓、設定環境變數。這裡說一下不太一樣的地方吧。Windows下通過neo4j console正常啟動,如下圖所示。通過neo4j install-service 安裝服務,通過neo4j start 啟動服務。
1、建立兩個節點和兩個關係
CREATE (n:Person { name: 'xzw', title: 'KG' }) return n;
CREATE (n:Person { name: 'Eric', title: 'KG' }) return n;
match(n:Person{name:"Eric"}),(m:Person{name:"xzw"}) create (n)-[r:Friend]->(m) return r;
match(n:Person{name:"Eric"}),(m:Person{name:"xzw"}) create (n)<-[r:Friend]-(m) return r;
2、檢視資料庫圖形
match(n) return n
本文到此已經接近尾聲了,本文主要講述Neo4j的安裝,至於操作部分留待以後吧,推薦一個教學,有興趣的可以看看,請戳這裡。你們在此過程中遇到了什麼問題,歡迎留言,讓我看看你們都遇到了什麼問題~