neo4j圖資料庫入門
一、安裝及啟動
1、安裝 Java SDK
1) 地址:http://www.oracle.com/technetwork/java/javase/downloads
2) 下載:jdk-8u92-windows-x64.exe
3) 執行:jdk-8u92-windows-x64.exe
2、安裝 Neo4j 社群版
1) 地址:https://neo4j.com/download
http://www.we-yun.com/index.php/blog/releases-56.html
2) 下載:neo4j-community-3.1.2-windows.zip
3) 展開:將 zip 檔案展開到某目錄,如 c:\neo4j-community-3.1.2
3、啟動
1) ”命令提示符(管理員)(A)”
2) cd c:\neo4j-community-3.1.2\bin
3) 檢視可用命令: neo4j.bat
console: 啟動(控制檯)
install-service: 安裝服務
start: 啟動服務
stop: 停止服務
uninstall-service: 解除安裝服務
4) 啟動: neo4j.bat console
二、建立資料及查詢
1、進入瀏覽器介面
http://localhost:7474
Username: neo4j
Password: neo4j
2、建立資料(明星關係圖)
1) 建立索引
CREATE INDEX ON :明星(名稱) |
2) 建立物件及關係
CREATE (陳冠希:明星 {名稱: "陳冠希"}), (王菲:明星 {名稱: "王菲"}), (李亞鵬:明星 {名稱: "李亞鵬"}), (瞿穎:明星 {名稱: "瞿穎"}), (張柏芝:明星 {名稱: "張柏芝"}), (謝霆鋒:明星 {名稱: "謝霆鋒"}), (周迅:明星 {名稱: "周迅"}), (張亞東:明星 {名稱: "張亞東"}), (竇唯:明星 {名稱: "竇唯"}), (竇鵬:明星 {名稱: "竇鵬"}), (李大齊:明星 {名稱: "李大齊"}), (朴樹:明星 {名稱: "朴樹"}), (竇穎:明星 {名稱: "竇穎"}), (梁朝偉:明星 {名稱: "梁朝偉"}), (劉嘉玲:明星 {名稱: "劉嘉玲"}), (周迅)-[:舊愛]->(竇鵬), (周迅)-[:舊愛]->(李大齊), (周迅)-[:舊愛]->(朴樹), (周迅)-[:舊愛]->(李亞鵬), (周迅)-[:緋聞]->(梁朝偉), (周迅)-[:緋聞]->(謝霆鋒), (王菲)-[:離異]->(李亞鵬), (王菲)-[:舊愛]->(謝霆鋒), (王菲)-[:離異]->(竇唯), (謝霆鋒)-[:舊友]->(陳冠希), (謝霆鋒)-[:離異]->(張柏芝), (張亞東)-[:製作人]->(朴樹), (張亞東)-[:離異]->(竇穎), (張亞東)-[:製作人]->(王菲), (李亞鵬)-[:舊愛]->(瞿穎), (陳冠希)-[:舊愛]->(張柏芝), (瞿穎)-[:舊愛]->(張亞東), (竇唯)-[:堂兄弟]->(竇鵬), (竇唯)-[:兄妹]->(竇穎), (梁朝偉)-[:夫妻]->(劉嘉玲), (王菲)-[:好友]->(劉嘉玲) |
3、查詢
1) 查明星關係圖:
MATCH (n:明星) RETURN n |
2) 查詢直接關係:
MATCH m=(:明星 {名稱:"周迅"})-[*..1]-() RETURN m |
3) 查詢最短路徑:
MATCH p = AllShortestPaths( (周迅:明星 {名稱:"周迅"})-[*..6]-(王菲:明星 {名稱:"王菲"}) ) RETURN p |
三、備份及恢復
1、備份
1) 停止服務
2) 轉到目錄C:\neo4j-community-3.1.2\data\databases
3) 將 graph.db 壓縮為 graph.db.zip
4) 啟動服務
2、恢復
1) 停止服務
2) 轉到目錄C:\neo4j-community-3.1.2\data\databases
3) 刪除目錄 graph.db
4) 將 graph.db.zip 解壓為 graph.db
5) 啟動服務
3、清空資料庫
1) 停止服務
2) 轉到目錄C:\neo4j-community-3.1.2\data\databases
3) 刪除目錄 graph.db
4) 啟動服務
四、使用簡體中文版
1、下載
2、安裝
jdk-8u92-windows-x64.exe(“以管理員身份執行(A)”)
3、進入瀏覽器介面
http://localhost:7070
4、停止服務
neo4j-stop.cmd(“以管理員身份執行(A)”)
5、啟動服務
neo4j-start.cmd(“以管理員身份執行(A)”)