neo4j入门——neo4j安装和简易操作

什么是neo4j,其优点是什么?有什么用。

neo4j是一个图形数据库,它的优点是:

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

neo4j可以很容易在众多关系中查询到指定两者间的关系,并且将其可视化,直观快速地找到其之间关系的所有内容。

1. 安装Java

在安装neo4j之前,需要先确定你的电脑是否已经安装Java程序,如果没有,你可以参考这个安装教程。https://blog.csdn.net/Good_zwn/article/details/87906599

2. neo4j下载

neo4j下载地址: https://neo4j.com/download-center/#releases

选择community Server, 选择windows版本。
下载到你指定的路径去。
在这里插入图片描述

3. 解压文件

然后解压文件到指定的目录下,我解压文件到我的电脑F盘,之后为了方便我辨认,我将它的文件夹名称改成neo4j_execise,你也可以写成其他名字,但是以英文字母命名(不要出现中文)。解压后的文件夹neo4j_execise里面的内容如下图:

在这里插入图片描述

4. 更改文件设置

因为我们以后可能电脑里面会存取多个neo4j数据库,所以这里我们就不去设置环境变量了,而是改动文件里面的一些设置。来达到我们可以开启neo4j的目的。

下面更改F:\neo4j_execise\bin\neo4j.ps1文件的一些设置:
查找
Import-Module "$PSScriptRoot\Neo4j-Management.psd1
改为:
Import-Module "F:\June28\GREG\bin\Neo4j-Management.psd1

如果你存放的路径不同,记得在这里要改变成相应的路径。

5. 启动neo4j

快捷键win+ R ,输入cmd,运行,
在这里插入图片描述
进入到命令行界面,切换目录到F:\neo4j_execise\bin,然后输入neo4j.bat console, 或者输入neo4j console也可以运行neo4j。
在这里插入图片描述
然后打开浏览器,输入网址:
http://localhost:7474/browser/
首次登录界面如下:
在这里插入图片描述
默认密码是·neo4j·,之后更改成你自己的密码。
在这里插入图片描述
之后的界面如下图:
在这里插入图片描述
在这里插入图片描述

6. neo4j简单代码入门

在命令行输入的位置输入::play write-code,或者点击write code
之后用快捷键Ctrl+Enter进行运行,或者点击最右边的运行命令。

neo4j就会出现一些例子给你选择学习了。

neo4j使用的是Cypher语言进行操作的,最主要的是CREATE、MATCH、RETURN、where等语句,下面展示的是这几个的基本用法。

6.1 创建——CREATE

6.1.1 创建节点

创建节点使用create命令。

语法格式

CREATE (
   <node-name>:<label-name>
   { 	
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)

语法说明
在这里插入图片描述

创建节点

create(:person{name:'小黄'})
create(:person{name:'老黄'})
create(:person{name:'小黄哥'})
create(:person{name:'小黄姐'})
create(:person{name:'小黄妹'})
create(:person{name:'小黄弟'})
create(:person{name:'小肖'})
create(:person{name:'小黄妈'})

这里我们围绕小黄同学的家庭设立节点。 person是label,name是属性(property)。小黄等是属性值(property key)

6.1.2 创建关系

因为我们已经创建了节点,为了避免节点重复,我们先要找到对应的节点,然后建立关系。
找到对应的节点用的是MATCH语句。关于MATCH语法请看后面

创建关系

match(n:person{name:'小黄'}),(m:person{name:'小黄哥'})
create (n)-[r:home {relationship:'兄弟'}]->(m)
match(n:person {name:'小黄'}),
          (dad:person {name:'老黄'}),
          (sister1:person {name:'小黄姐'}),
		(sister2:person {name:'小黄妹'}),
		(bro:person {name:'小黄弟'}),
		(girlfriend:person {name:'小肖'}),
		(mam:person {name:'小黄妈'})
create (n)-[:home {relationship:'父母'}]->(mam),
	(n)-[:home {relationship:'父母'}]->(dad),
	(n)-[:home {relationship:'姐姐'}]->(sister1),
	(n)-[:home {relationship:'妹妹'}]->(sister2),
	(n)-[:home {relationship:'弟弟'}]->(bro),
	(n)-[:friend {relationship:'女朋友'}]->(girlfriend)

6.2 查找——MATCH

6.2.1 MATCH 语法
MATCH 
(
   <node-name>:<label-name>
)

语法说明
在这里插入图片描述

6.2.2 查找节点

查找小黄

MATCH (n:person{name:'小黄'})
RETURN n

在这里插入图片描述
查找小黄小黄哥

MATCH (n:person{name:'小黄'}),(m:person {name:'小黄哥'})
RETURN n,m
6.2.3 查找关系

查找小黄小肖的关系

MATCH p = (n:person{name:'小黄'})-[]->(m:person {name:'小肖'})
RETURN p

在这里插入图片描述
查找小黄和所有人的关系

MATCH p = (n:person{name:'小黄'})-[]->()
RETURN p

在这里插入图片描述

6.3 筛选——where

where语句是用来筛选节点或关系的。

6.3.1 筛选节点

查找小黄
命令1

match (n)
where n.name='小黄'
return n

命令2

match (n:person)
where n.name='小黄'
return n

命令1是遍历所有之后,才根据条件name='小黄’筛选出来的,当节点过多的时候,建议采用命令2去查找,有label这个设定之后,遍历的节点范围会有所缩小,速度会更快一些,所占用内存空间也会减少。

在这里插入图片描述
查找小黄小黄哥

match (n:person)
where n.name='小黄' or n.name='小黄哥'
return n

注意额:我用的是or,用and 就找不到结果咯额。
在这里插入图片描述

6.3.2 筛选关系

查找关系是女朋友的节点

match p= (n:person)-[r]->(m:person)
where r.relationship='女朋友'
return p

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值