一、Neo4j简介

Neo4j是一种流行的基于Java语言编写的图形数据库。图是一组节点和连接这些节点的关系。图形数据库也被称为图形数据库管理系统GDBMS, 其他的图形数据库是Oracle NoSQL数据库OrientDBHypherGraphDBGraphBaseInfiniteGraphAllegroGraph

二、Neo4j - 特点和优势

1.Neo4j的特点

 - SQL就像简单的查询语言Neo4j CQL
 - 遵循属性图数据模型
 - 通过使用Apache Lucence支持索引
 - 支持UNIQUE约束
 - 包含一个用于执行CQL命令的UI:Neo4j数据浏览器
 - 支持完整的ACID(原子性,一致性,隔离性和持久性)规则
 - 采用原生图形库与本地GPE(图形处理引擎)
 - 支持查询的数据导出到JSON和XLS格式
 - 提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问
 - 提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本
 - 支持两种Java API:Cypher API和Native Java API来开发Java应用程序

2.Neo4j的优点

 - 很容易表示连接的数据
 - 检索/遍历/导航更多的连接数据是非常容易和快速的
 - 非常容易地表示半结构化数据
 - Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习
 - 使用简单而强大的数据模型
 - 不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

3.Neo4j的缺点或限制

 - AS的Neo4j 2.1.3最新版本,具有支持节点数,关系和属性的限制
 - 不支持Sharding

三、Neo4j - 数据模型

Neo4j图数据库遵循属性图模型来存储和管理其数据。

属性图模型规则

 - 表示节点,关系和属性中的数据
 - 节点和关系都包含属性
 - 关系连接节点
 - 属性是键值对
 - 节点用圆圈表示,关系用方向键表示
 - 关系具有方向:单向和双向
 - 每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”
  • 在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息。
  • 在Neo4j中,关系也应该是有方向性的。如果我们尝试创建没有方向的关系,那么Neo4j会抛出一个错误消息,“关系应该是方向性的”。
  • Neo4j图数据库将其所有数据存储在节点和关系中。我们不需要任何额外的RDBMS数据库或无SQL数据库来存储Neo4j数据库数据。它以图形的形式存储其数据的本机格式。
  • Neo4j使用本机GPE(图形处理引擎)引擎来使用它的本机图存储格式。
  • 图形数据库数据模型的主要构建块是:
 - 节点
 - 关系
 - 属性
  • 简单的属性图的例子
    在这里插入图片描述
    这里我们使用圆圈表示节点。 使用箭头的关系。 关系是有方向性的。 我们可以用Properties(键值对)来表示Node的数据。 在这个例子中,我们在Node的Circle中表示了每个Node的Id属性。

四、Neo4j安装及配置

本人的环境是win10,因此下文介绍Neo4j在win10上的安装。

1.安装Java JDK

neo4j是用Java语言编写的图形数据库,运行时需要启动JVM进程,因此需安装JAVA运行环境,推荐使用JDK-11版本。(附:JAVA环境变量配置

2.下载安装Neo4j

官网下载最新版 Neo4j 社区版(Community)
下载好后解压到自己想放的盘里,例如:D:\Program Files (x86)\neo4j-community-3.4.0
Neo4j应用程序有如下主要的目录结构:

 - bin目录:用于存储Neo4j的可执行程序;
 
 - conf目录:用于控制Neo4j启动的配置文件;
 
 - data目录:用于存储核心数据库文件;

 - plugins目录:用于存储Neo4j的插件;

3.创建系统环境变量

计算机-属性中创建系统环境变量NEO4J_HOME,并把主目录(D:\Program Files (x86)\neo4j-community-3.4.0)设置为变量值。再在path中添加变量%NEO4J_HOME%\bin

NEO4J_HOME=D:\Program Files (x86)\neo4j-community-3.4.0

最快方法:直接在path目录下添加变量 D:\Program Files (x86)\neo4j-community-3.4.0\bin

4.Neo4j的启动和停止

法一:通过控制台启动Neo4j程序

WIN+R 键运行 cmd 进入命令提示符 ,接着输入
> neo4j.bat console
> (注意:使用此方法运行后的窗口不要关闭,否则服务器端口也会自动关闭)

法二:把Neo4j安装为服务
安装和卸载服务:

neo4j install-service    #安装服务
neo4j uninstall-service  #卸载服务

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

neo4j start		#启动服务
neo4j stop		#停止服务
neo4j restart	#重启服务
neo4j status	#查询服务状态

在浏览器中打开 http://localhost:7474 默认跳转到 http://localhost:7474/browser,出现Neo4j界面,则安装成功。
初始用户名密码均为 neo4j,首次登录会直接进入修改密码界面,按提示设置新密码即可。

如果 neo4j stop不能停止 neo4j, kill -s 9 强制杀掉进程即可。

5.切换数据库

每次启动neo4j,它只能读取一个数据库。默认情况下的Graph.db数据库。
法一:修改配置文件
使用Neo3.x创建新数据库而不删除现有数据库,所以只需在$NEO4J_HOME\conf的目录编辑neo4j.conf。搜寻dbms.active_database=,其默认值应为 graph.db。用其他名称替换它,然后再次启动neo4j。现在,将在该目录名下创建一个新数据库。若要切换回以前的 db,请重复这些步骤,只需在配置文件中将新值替换为 graph.db 即可。

注意:如果在neo4j启动的时候修改了配置文件,则需要重新启动一次,浏览器页面才会更新。

法二:建立软连接(linux环境)
首次修改:

cd $NEO4j_HOME/data/databases/		#请将$NEO4j_HOME改为你的neo4j的安装路径
mv graph.db graph1.db		# 保存原来数据库
ln -s graph2.db graph.db	#建立指向新数据库的软件接
cd $NEO4j_HOME/bin
./neo4j restart				#重启neo4j

再次修改(访问 graph3):

ln -s graph3.db graph.db	#建立指向新数据库的软件接
cd $NEO4j_HOME/bin
./neo4j restart				#重启neo4j

五、Neo4j的CQL操作

参考网址:
W3Cschool-neo4j教程
Neo4j官方教程

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐