Neo4j 第一篇:在Windows環境中安裝Neo4j

来源:http://www.cnblogs.com/ljhdo/archive/2017/05/19/5521577.html
-Advertisement-
Play Games

圖形資料庫(Graph Database)是NoSQL資料庫家族中特殊的存在,用於存儲豐富的關係數據,Neo4j 是目前最流行的圖形資料庫,支持完整的事務,在屬性圖中,圖是由頂點(Vertex),邊(Edge)和屬性(Property)組成的,頂點和邊都可以設置屬性,頂點也稱作節點,邊也稱作關係,每 ...


圖形資料庫(Graph Database)是NoSQL資料庫家族中特殊的存在,用於存儲豐富的關係數據,Neo4j 是目前最流行的圖形資料庫,支持完整的事務,在屬性圖中,圖是由頂點(Vertex),邊(Edge)和屬性(Property)組成的,頂點和邊都可以設置屬性,頂點也稱作節點,邊也稱作關係,每個節點和關係都可以由一個或多個屬性。Neo4j創建的圖是用頂點和邊構建一個有向圖,其查詢語言cypher已經成為事實上的標準。

關係型資料庫只對單個Join操作進行優化查詢,而多重Join操作查詢的性能顯著下降。圖形資料庫適合查詢關係數據,由於圖形遍歷的局部性,不管圖形中由多少節點和關係,根據遍歷規則,Neo4j只訪問與遍歷相關的節點,不受到總數據集大小的影響,從而保持期待的性能;相應地,遍歷的節點越多,遍歷速度越慢,但是變慢是線性的,這使得圖形資料庫不適合做海量數據統計分析。對與存在大量豐富關係的數據,遍歷的性能不受圖形數據量大小的影響,這使得Neo4j成為解決圖形問題的理想資料庫。

一,下載和安裝Neo4j

1,安裝Java JDK

Neo4j是基於Java的圖形資料庫,運行Neo4j需要啟動JVM進程,因此必須安裝JAVA SE的JDK。從Oracle官方網站下載 Java SE JDK,當前的版本是JDK8。

2,下載Neo4j安裝文件

從Neo4j官網下載最新版本Neo4j 3.2 社區(Community)版本 “neo4j-community-3.2.0-windows。zip”,解壓到主目錄,“D:\Program Files\neo4j-community-3.2.”。

Neo4j應用程式有如下主要的目錄結構:

  • bin目錄:用於存儲Neo4j的可執行程式;
  • conf目錄:用於控制Neo4j啟動的配置文件;
  • data目錄:用於存儲核心資料庫文件;
  • plugins目錄:用於存儲Neo4j的插件;

3,創建系統環境變數

創建主目錄環境變數NEO4J_HOME,並把主目錄設置為變數值。

二,Neo4j的配置

配置文檔存儲在conf目錄下,Neo4j通過配置文件neo4j.conf控制伺服器的工作。預設情況下,不需要進行任意配置,就可以啟動伺服器。

1,核心數據文件的位置

例如,核心數據文件存儲的位置,預設是在data/graph.db目錄中,要改變預設的存儲目錄,可以更新配置選項:

# The name of the database to mount
#dbms.active_database=graph.db

# Paths of directories in the installation.
#dbms.directories.data=data

2,安全驗證,預設是啟用的

# Whether requests to Neo4j are authenticated.
# To disable authentication, uncomment this line
#dbms.security.auth_enabled=false

3,配置JAVA 堆記憶體的大小

# Java Heap Size: by default the Java heap size is dynamically calculated based on available system resources.
# Uncomment these lines to set specific initial and maximum heap size.
#dbms.memory.heap.initial_size=512m
#dbms.memory.heap.max_size=512m

三,網路連接配置

1,Neo4j支持三種網路協議(Protocol)

Neo4j支持三種網路協議(Protocol),分別是Bolt,HTTP和HTTPS,預設的連接器配置有三種,為了使用這三個埠,需要在Windows防火牆中創建Inbound Rules,允許通過埠7687,7474和7473訪問本機。

2,連接器的可選屬性

listen_address:設置Neo4j監聽的鏈接,由兩部分組成:IP地址和埠號(Port)組成,格式是:<ip-address>:<port-number>

3,設置預設的監聽地址

設置預設的網路監聽的IP地址,該預設地址用於設置三個網路協議(Bolt,HTTP和HTTPs)的監聽地址,即設置網路協議的屬性:listen_address地址。在預設情況下,Neo4j只允許本地主機(localhost)訪問,要想通過網路遠程訪問Neo4j資料庫,需要修改監聽地址為 0.0.0.0,這樣設置之後,就能允許遠程主機的訪問。

# With default configuration Neo4j only accepts local connections.
# To accept non-local connections, uncomment this line:
dbms.connectors.default_listen_address=0.0.0.0

4,分別設置各個網路協議的監聽地址和埠

HTTP鏈接器預設的埠號是7474,Bolt鏈接器預設的埠號是7687,必須在Windows 防火牆中允許遠程主機訪問這些埠號。

# Bolt connector
dbms.connector.bolt.enabled=true
#dbms.connector.bolt.tls_level=OPTIONAL
#dbms.connector.bolt.listen_address=0.0.0.0:7687

# HTTP Connector. There must be exactly one HTTP connector.
dbms.connector.http.enabled=true
#dbms.connector.http.listen_address=0.0.0.0:7474

# HTTPS Connector. There can be zero or one HTTPS connectors.
#dbms.connector.https.enabled=true
#dbms.connector.https.listen_address=0.0.0.0:7473

啟動Neo4j程式

1,通過控制台啟動Neo4j程式

點擊組合鍵:Windows+R,輸入cmd,啟動DOS命令行視窗,切換到主目錄,以管理員身份運行命令:

neo4j.bat console

如果看到以下消息,說明neo4j已經開始運行:

2,把Neo4j安裝為服務(Windows Services)

安裝和卸載服務:

bin\neo4j install-service
bin\neo4j uninstall-service

啟動服務,停止服務,重啟服務和查詢服務的狀態:

bin\neo4j start
bin\neo4j stop
bin\neo4j restart
bin\neo4j status

五,打開Neo4j集成的瀏覽器

1,Neo4j瀏覽器

Neo4j伺服器具有一個集成的瀏覽器,在一個運行的伺服器實例上訪問 “http://localhost:7474/”,打開瀏覽器,顯示啟動頁面

預設的host是bolt://localhost:7687,預設的用戶是neo4j,其預設的密碼是:neo4j,第一次成功登陸到Neo4j伺服器之後,需要重置密碼。

訪問Graph Database需要輸入身份驗證,Host是Bolt協議標識的主機。

2,在Neo4j瀏覽器中創建節點和關係

示例,編寫Cypher命令,創建兩個節點和兩個關係:

CREATE (n:Person { name: 'Andres', title: 'Developer' }) return n;
CREATE (n:Person { name: 'Vic', title: 'Developer' }) return n;
match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)-[r:Friend]->(m) return r;
match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)<-[r:Friend]-(m) return r;

在$ 命令行中,編寫Cypher腳本代碼,點擊Play按鈕,點擊創建第一個節點,

在第一個節點創建之後,在Graph模式下,能夠看到創建的圖形,繼續編寫Cypher腳本,創建其他節點和關係

在創建完兩個節點和關係之後,查看資料庫中的圖形:

後續,我會繼續分享我學習Neo4j圖形資料庫、Cypher腳本和相應的驅動程式的筆記,敬請期待。

 

推薦書籍:《Neo4j實戰》,原著是《Neo4j in Action》

官方手冊:

 

參考文檔:

圖形資料庫、NOSQL和Neo4j

圖形資料庫Neo4J簡介

在選擇資料庫的路上,我們遇到過哪些坑?(一)

在選擇資料庫的路上,我們遇到過哪些坑?(二)

neo4j使用指南


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 目錄: do-catch 斷言 Swift中方法可以使用throws來拋出程式執行過程中的異常,外部可以使用 do...catch 來捕獲使用try限定的方法拋出的異常。 使用assert([條件表達式])全局方法在程式中判斷表達式返回值是否為true來決定是否終止程式。 ...
  • 使用 PMIC_RGS_VCDT_HV_DET 判斷 charger 是否有 ovp。 LV_VTH : 4.15V ...
  •   UITableView是我們最常用的控制項了,今天我就來介紹一些關於UITableView的黑科技和一些註意的地方。 1.修改左滑刪除按鈕的高度   左滑刪除這是iOS最先發明的,之後安卓開始模仿。有時候我們需要對他進行自定義,比如添加圖片啊,修改字體和大小 ...
  • 前言: 今日新聞:谷歌宣佈,將Kotlin語言作為安卓開發的一級編程語言。 Kotlin由JetBrains公司開發,與Java 100%互通,並具備諸多Java尚不支持的新特性。 谷歌稱還將與JetBrains公司合作,為Kotlin設立一個非盈利基金會。 一、簡介: Kotlin 是一個基於 J ...
  • 1. 下載openssl,在C盤創建openssl文件夾,解壓下載的zip到openssl文件夾。 2. 找到debug.keystore。 windows下在C:\Users\用戶名\.android,mac下在~/.android/(mac下可能看不見,cmd里cd進去ls可以看見)。 3. c ...
  • 本文完成:在hive里建管理表;註入部分數據;利用sqoop導入mysql中 期間:解決中文亂碼問題 飛行報告故障表 建表命令 查看表 人工灌入少量數據 Windows系統向Linux系統數據傳輸 解決中文亂碼問題 1)顯示終端xshell 屬性里修改為utf-8 編碼格式 2)源文本文件編輯為ut... ...
  • SQLyog-12.4.2版下載,SQLyog最新版下載,SQLyog官網下載,SQLyog Download >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年5月19日 http://www.cnblogs.com/fanshuyao/ 註 ...
  • 表中某列有時包含重覆值,需要取出此列中的所有不同值時,就可以使用DISTINCT關鍵字 用法:SELECT DISTINCT column_1,column_2 FROM table_name; 註意:1.DISTINCT只對column_1有效,其後的column_2即使有重覆值也無效 2.其它列 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...