Neo4j-1-Window-Install

Neo4j 第一篇:在Windows环境中安装 Neo4j

转载:https://www.cnblogs.com/ljhdo/p/5521577.html

图形数据库(Graph Database)是 NoSQL 数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性。Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准。
关系型数据库只对单个Join操作进行优化查询,而多重Join操作查询的性能显著下降。图形数据库适合查询关系数据,由于图形遍历的局部性,不管图形中由多少节点和关系,根据遍历规则,Neo4j只访问与遍历相关的节点,不受到总数据集大小的影响,从而保持期待的性能;相应地,遍历的节点越多,遍历速度越慢,但是变慢是线性的,这使得图形数据库不适合做海量数据统计分析。对与存在大量丰富关系的数据,遍历的性能不受图形数据量大小的影响,这使得Neo4j成为解决图形问题的理想数据库。

一 安装 Neo4j

在安装 neo4j 之前,需要安装 Java JRE,并配置 Java 开发环境,然后安装 neo4j 服务。

1 安装Java JRE

Neo4j 是基于 Java 运行环境的图形数据库,因此,必须向系统中安装 JAVA SE(Standard Editon)的JRE。从Oracle官方网站下载 Java SE JRE,当前的版本是JRE 8。

JDK 和 JRE是有区别的,JDK(Java Development Kit) 是包括 Java 运行环境(JRE)和 Java 开发工具;而JRE(Java Runtime Environment)是运行Java程序时必须安装的环境。如果只是运行 Java 程序,那么只需要安装JRE即可;如果希望开发 Java 程序,那么必须安装 JDK。

配置Java的环境变量,Windows系统有系统环境变量和用户环境变量,都配置,配置环境变量分两步进行:

第一步,新建 JAVA_HOME 变量,变量值填写 jdk 的安装目录,默认的安装目录是:C:\Program Files\Java\jre1.8.0_211

第二步,编辑 Path 变量,在 Path 变量值的最后输入: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

检查配置是否成功,运行 cmd,输入 java -version,如果显示 java 的版本信息,说明 Java 的安装和配置成功。

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 的环境变量

创建主目录环境变量 NEO4J_HOME,并把主目录设置为变量值。

二 Neo4j 的配置

配置文档存储在conf目录下,Neo4j通过配置文件neo4j.conf控制服务器的工作。默认情况下,不需要进行任何配置,就可以启动和运行服务器。

1 核心数据文件的位置

例如,核心数据文件存储的位置,默认是在data/graph.db目录中,要改变默认的存储目录,可以更新配置选项:

1
2
3
4
5
# The name of the database to mount
#dbms.active_database=graph.db

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

2 安全验证,默认是启用的

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

3 配置 JAVA 堆内存的大小

1
2
3
4
# 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

三 网络连接配置

neo4j 支持三种网络协议,默认情况下,不需要配置就可以在本地直接运行。

1 Neo4j 支持三种网络协议(Protocol)

Neo4j支持三种网络协议(Protocol),分别是 Bolt,HTTP 和 HTTPS,默认的连接器配置有三种, 为了使用这三个端口,需要在 Windows 防火墙中创建 Inbound Rules, 允许通过端口 7687, 7474 和 7473 访问本机。

2 连接器的可选属性

1
listen_address:设置Neo4j监听的链接,由两部分组成:IP地址和端口号(Port)组成,格式是:<ip-address>:<port-number>

3 设置默认的监听地址

设置默认的网络监听的IP地址,该默认地址用于设置三个网络协议(Bolt,HTTP和HTTPs)的监听地址,即设置网络协议的属性:listen_address地址。在默认情况下,Neo4j只允许本地主机(localhost)访问,要想通过网络远程访问Neo4j数据库,需要修改监听地址为 0.0.0.0,这样设置之后,就能允许远程主机的访问。

1
2
3
# 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 防火墙中允许远程主机访问这些端口号。

1
2
3
4
5
6
7
8
9
10
11
12
# 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程序

点击组合键:Windows+R,输入 cmd,启动 DOS 命令行窗口,切换到主目录,以管理员身份运行命令

1 通过控制台启动 Neo4j 程序

以管理员权限启用 DOS 命令行窗口,输入以下命令,通过控制台启用 neo4j 程序

1
neo4j.bat console

如果看到以下消息,说明 neo4j 已经开始运行:

2 把Neo4j安装为服务(Windows Services)

安装和卸载服务:

1
2
bin\neo4j install-service
bin\neo4j uninstall-service

启动服务,停止服务,重启服务和查询服务的状态:

1
2
3
4
bin\neo4j start
bin\neo4j stop
bin\neo4j restart
bin\neo4j status

五 Neo4j 集成的浏览器

Neo4j 服务器具有一个集成的浏览器,在启动 neo4j 服务之后,可以使用 neo4j 集成的浏览器管理图数据库。
在一个运行 neo4j 服务器主机上访问 “http://localhost:7474/" ,显示以下的界面:

默认的host是bolt://localhost:7687,默认的用户是neo4j,默认的密码是:neo4j,第一次成功connect到Neo4j服务器之后,需要重置密码。

访问 Graph Database 需要输入身份验证,Host 是 Bolt 协议标识的主机。

六,在 Neo4j 浏览器中创建节点和关系

下面我通过一个示例,演示如何通过 Cypher 命令,创建两个节点和两个关系。

1
2
3
4
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;

1 创建第一个节点

在 $ 命令行中,编写 Cypher 脚本代码,点击 Play 按钮,在图数据库中创建第一个节点:

在节点创建之后,在Graph模式下,能够看到创建的图形,继续执行Cypher脚本,创建其他节点

2 创建节点之间的关系

创建节点之间的边和创建节点的操作相同,例如,创建 Person 节点之间(Vic-> Andres 之间的 Friend 关系),由于 Friend 关系是双向的,可以继续创建 Andres 和 Vic 之间的 Friend 关系:

3 查看节点之间的关系

在创建完两个节点和关系之后,查看数据库中的图形:

后续,我会继续分享我学习 Neo4j 图形数据库、Cypher 脚本和相应的驱动程序的笔记,敬请期待。

Contents
  1. 1. Neo4j 第一篇:在Windows环境中安装 Neo4j
    1. 1.1. 一 安装 Neo4j
      1. 1.1.1. 1 安装Java JRE
      2. 1.1.2. 2 下载 Neo4j 安装文件
      3. 1.1.3. 3 创建 Neo4j 的环境变量
    2. 1.2. 二 Neo4j 的配置
      1. 1.2.1. 1 核心数据文件的位置
      2. 1.2.2. 2 安全验证,默认是启用的
      3. 1.2.3. 3 配置 JAVA 堆内存的大小
    3. 1.3. 三 网络连接配置
      1. 1.3.1. 1 Neo4j 支持三种网络协议(Protocol)
      2. 1.3.2. 2 连接器的可选属性
      3. 1.3.3. 3 设置默认的监听地址
      4. 1.3.4. 4 分别设置各个网络协议的监听地址和端口
    4. 1.4. 四 启动Neo4j程序
      1. 1.4.1. 1 通过控制台启动 Neo4j 程序
      2. 1.4.2. 2 把Neo4j安装为服务(Windows Services)
    5. 1.5. 五 Neo4j 集成的浏览器
    6. 1.6. 六,在 Neo4j 浏览器中创建节点和关系
      1. 1.6.1. 1 创建第一个节点
      2. 1.6.2. 2 创建节点之间的关系
      3. 1.6.3. 3 查看节点之间的关系
|