neo4j的安装使用

  • 第一步 了解neo4j
  • 第二步 下载安装运行
  • 1. 首先是下载,官网上分了很多种,但是我们刚接触肯定是使用windows的网站版本,当然也可以选择桌面端~
  • 2.安装及运行:
  • Neo4j 使用教程
  • create 创建一个节点或关系
  • match 查询
  • 添加关系
  • delete 删除节点或关系
  • remove 移除节点或关系的属性


第一步 了解neo4j

  1. 目前最流行的高性能的NoSQL图形数据库,结构化数据存储在网络上而不是在表中,完全由java开发
  2. 支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性。
  3. Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准
  4. 自行百度吧

第二步 下载安装运行

其实最好的文档就是官方文档的中文版

1. 首先是下载,官网上分了很多种,但是我们刚接触肯定是使用windows的网站版本,当然也可以选择桌面端~

下载地址:
社区版链接地址(Linux版)链接地址(Windows) (这里需要注意的是社区下载需要登录,最新的若安装Neo4j 4.x 版本,需使用 jdk11,链接内可以直接下载)

2.安装及运行:

首先是Linux版本的安装运行:

tar -xf neo4j-community-3.5.13-unix.tar.gz

cd neo4j-community-3.5.13/
## 取消54行注释
dbms.connectors.default_listen_address=0.0.0.0

./bin/neo4j console    # 以控制台应用运行
./bin/neo4j start      # 以后台进程运行

然后 window的安装运行:

解压下载下来的安装包,

neo4j schema 定义_neo4j

其中主要目录结构有
1、bin目录:用于存储Neo4j的可执行程序;
2、conf目录:用于控制Neo4j启动的配置文件;
3、data目录:用于存储核心数据库文件;
4、plugins目录:用于存储Neo4j的插件;

Neo4j环境变量配置(还是原始的味道,如jdk、maven等)

neo4j schema 定义_删除节点_02


neo4j schema 定义_官网_03


neo4j schema 定义_neo4j schema 定义_04


用户变量、系统变量都行,有什么区别,自行百度~

接下来就是运行:

cmd (以管理员的身份运行)

到解压安装目录下

在cmd中,输入neo4j.bat console并回车

neo4j schema 定义_neo4j schema 定义_05


现在可以通过浏览器输入 http://localhost:8089/(这里我把端口改了,原始地址http://localhost:7474/) ,访问服务器。初始的用户名和密码均是neo4j,输入密码,点击connect, 初次使用系统还会要求你改密码,到时候输入新密码即可。

(改端口也很简单,在conf目录下的neo4j.conf,

neo4j schema 定义_neo4j schema 定义_06



neo4j schema 定义_neo4j schema 定义_07

Neo4j 使用教程

neo4j的语法和sql的语法其实是很相似的,sql语法好的一定能看懂并熟悉使用,加油!

create 创建一个节点或关系
// 格式
create (node_name:lable_name
    {
        property_name1:property_value1
        name2:value2
        name3:value3
    });
// node_name 类型于关系型数据库的表的别名
// label_name 类似于表明一样,表明一类实体

// 例子
create (movie:Movie{name:"Mission-Impossible",released:1996});
match 查询
// 查询节点的某个属性
match(node_name:node_label)
    where node_name.property_name1=property_value1
return node.name3 as name3

// 查询整个节点
match(node_name:node_label)
return node_name

// 例如
match (movie:Movie) where movie.name = 'Mission-Impossible' return movie
添加关系
match (a:A),(b:B)
where a.name1=name1 and b.name2=value2 or ...
create (a)-[r:R{name3:value3,name4:value4,...}]->(b)
// 这里的方括号[]即为关系。注意这里的箭头 -->是有方向的,表示是从a到b的关系。
// 新建节点的同时创建关系,甚至可以在后面追加return
create (a:A{...})-[r:R{...}]->(b:B{...}) return r
// 已创建节点的添加关系可以使用merge
merge (a:A{...})-[r:R{...}]->(b:B{...})

// 查询关系
match (a:A)-[r:R]->(b:B)
    where a.name1=value1 or r.name2=value2 and b.name3=value3
return r
delete 删除节点或关系
在删除节点前,必须先删除其相关关系
match (a:A) where a.name1=value1 delete a
match (a:A) where a.name1=value1 delete a.name1
match (a:A) delete a
// 删除所有A\B之间的R关系
match (a:A)-[r:R]->(b:B) delete r
// 同时删除关系和节点
match (a:A)-[r:R]->(b:B) where a.name1=value1 delete a,b,r
remove 移除节点或关系的属性
语法基本同delete
match (a:A) where ... remove a.p1 return ...
match (a:A)-[r:R]->(b:B)  where ... remove r.p2