neo4j的安装使用
- 第一步 了解neo4j
- 第二步 下载安装运行
- 1. 首先是下载,官网上分了很多种,但是我们刚接触肯定是使用windows的网站版本,当然也可以选择桌面端~
- 2.安装及运行:
- Neo4j 使用教程
- create 创建一个节点或关系
- match 查询
- 添加关系
- delete 删除节点或关系
- remove 移除节点或关系的属性
第一步 了解neo4j
- 目前最流行的高性能的NoSQL图形数据库,结构化数据存储在网络上而不是在表中,完全由java开发
- 支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性。
- Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准
- 自行百度吧
第二步 下载安装运行
其实最好的文档就是官方文档的中文版了
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的安装运行:
解压下载下来的安装包,
其中主要目录结构有
1、bin目录:用于存储Neo4j的可执行程序;
2、conf目录:用于控制Neo4j启动的配置文件;
3、data目录:用于存储核心数据库文件;
4、plugins目录:用于存储Neo4j的插件;
Neo4j环境变量配置(还是原始的味道,如jdk、maven等)
用户变量、系统变量都行,有什么区别,自行百度~
接下来就是运行:
cmd (以管理员的身份运行)
到解压安装目录下
在cmd中,输入neo4j.bat console并回车
现在可以通过浏览器输入 http://localhost:8089/(这里我把端口改了,原始地址http://localhost:7474/) ,访问服务器。初始的用户名和密码均是neo4j,输入密码,点击connect, 初次使用系统还会要求你改密码,到时候输入新密码即可。
(改端口也很简单,在conf目录下的neo4j.conf,
)
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