一:neo4j优势

作为非关系型数据库中的图数据库,neo4j的使用较为广泛,neo4j有如下优势

1:其底层结构由点(Vertex),边(Edge)构成,点和边上都可以放属性。可以通过某一个已知的点,根据指定关系(边)迅速找到关联的多层数据。(当我们要用关系型数据库,如mysql做这一操作时,若关联维度较多,三层,四层乃至更多,或者表数据较多时,Join操作的性能会很低)

2:非结构化数据存储方式,可以根据实际场景即时设计新的实体和关系,对原来的结构无影响

3:支持事物

4:数据备份,数据恢复导入安全

5:安装操作简单,其查询cypher语句设计易懂

二:neo4j安装

(注:neo4j依赖jdk1.8版本及以上,若没有对应环境请先安装)

下载neo4j安装包

下载安装包,neo4j-community-3.5.0-unix.tar.gz,上传至linux目录下

解压,tar -zxvf  neo4j-community-3.5.0-unix.tar.gz

安装包解压后如下

linux上停mysql_linux停止neo4j数据库

进入对应的根目录下

linux上停mysql_安装包_02

bin目录:neo4j的基本执行程序,如应用的开启与关闭,cypher语句的操作等等

conf目录:neo4j的配置文件

data目录:数据的管理

import目录:文件导入目录。如将该目录下的对应csv文件导入neo4j数据库

进入conf目录修改配置文件

vim neo4j.conf

找到#dbms.connectors.default_listen_address=0.0.0.0,将注释去掉(该操作为允许http接口远程访问neo4j服务器)

进入bin目录,启动服务

./neo4j start

./neo4j status 查看neo4j允许状态

linux上停mysql_安装包_03

该状态下则为neo4j正常运行中

打开浏览器,访问 ip:7474端口

linux上停mysql_安装包_04

默认用户名密码 neo4j/neo4j,登陆后需要修改密码,否则不能远程访问

(linux无浏览器初始化密码方法,Bin目录下 ./cypher-shell登录 neo4j/neo4j,CALL dbms.changePassword('新密码');

三:基础点边创建

1:创建节点

linux上停mysql_配置文件_05

语法:CREATE (:)

其中为该语句中点的别名,可随意取,为标签类型,表示该节点为emp类型,一个节点可以有多个标签。标签后为该节点的属性,可根据实际做映射

create (n:emp{id:"e001",name:"张三"})

create (n:dept{id:"d001",name:"技术部"})

以上两个语句,分别创建了 emp “张三” 和  dept "技术部"

2:创建关系

linux上停mysql_远程访问_06

语法:

CREATE (:)-[(:)]->(:)

关系基于节点,先有节点才能创建对应关系,执行语句

match (n:emp{id:"e001"}),(m:dept{id:"d001"}) create (n)-[r:serving{job:"leader",date:"2008-10-10"}]->(m)

以上语句,先match(查询匹配)到 id为 “e001”的 emp类型节点和 id为 “d001”的dept节点,再创建两节点之间的关系类型serving,该关系有属性 job和date

3:查询

match (n:emp{id:"e001"}),(m:dept{id:"d001"}) return n,m

以上语句,先match(查询匹配)到 id为 “e001”的 emp类型节点和 id为 “d001”的dept节点,再将查询节点展示出来(neo4j官方界面中,只要查出了节点,节点间的关系也会自动展示出来)

linux上停mysql_linux停止neo4j数据库_07