neo4j使用文档

  1. neo4j简介

neo4j是一种图形数据库。Neo4j 使用数据结构中图(graph)的概念来进行建模。Neo4j 中两个最基本的概念是节点和边。节点表示实体,边则表示实体之间的关系。节点和边都可以有自己的属性。不同实体通过各种不同的关系关联起来,形成复杂的对象图。

  1. neo4j 安装

官网:https://neo4j.com/

window下neo4j有两种安装办法:安装server或安装neo4j Desktop

安装server:

  1. 下载neo4j server
  2. 安装jdk8
  3. 配置neo4j的环境变量:NEO4J_HOME —>neo4j server的解压路径
  4. 使用bin目录下的neo4j.bat 安装和启动neo4j服务
  5. 浏览器中打开:http://localhost:7474
  6. 初始用户名/密码:neo4j/neo4j

安装neo4j Desktop:下载安装包,安装即可。

desktop的基本使用:

在这里插入图片描述

点击projects中的project(没有则新建)

点击Graph(没有则新建)中的start,然后点击Manage

在这里插入图片描述

点击Open Browser,便可以看见一个与neo4j server在浏览器打开的页面相同的界面。

3.Neo4j 基本概念

Neo4j是一个图形数据库,相较于其他数据库,它可以以图的方式来展示数据。如下图:
在这里插入图片描述

图中,圆圈代表节点,节点可以有不同标签(标签不同节点显示颜色不同),节点之间的箭头表示节点之间的关系。

节点:节点是图表的基本单位。 它包含具有键值对的属性

关系:关系是图形数据库的另一个主要构建块。 它连接两个节点

属性:属性是用于描述图节点和关系的键值对

标签:Label将一个公共名称与一组节点或关系相关联。 节点或关系可以包含一个或多个标签。

4.Neo4j 基本操作

创建节点:

Neo4j中创建节点或关系使用create命令。

创建节点的命令语法如下:

Create (node-name:label-name{ key:value,key2:value2})

Node-name: 节点的临时名称(这个名称不会存储到数据库中)

Label-name: 标签的名称(标签可以有多个以:隔开)

{…… }: 节点的属性的k-v值,多个以,隔开

查询:

查询使用match命令,但match命令不能单独使用,一般配合return一起使用。

Match与return语法如下:

Match(node-name:label-name)return node-name. property1-name

Node-name: 为查询出的数据赋予的临时名称

Label-name: 需要查询的数据的标签名称

property1-name: 查询数据的属性名(多个以,隔开)

上述查询出的结果是对应标签的下的所有的节点。想要查询特定的节点可以使用属性或where语句。

使用属性:

Match(node-name:label-name{key:value})return node-name. property1-name

使用where(where与sql语句中的where相同):

Match(node-name:label-name) where node-name.key = value return node-name. property1-name

创建关系:

因为关系是存在于两个节点之间,所以根据节点的状态(已创建或未创建)不同,创建的方法也不同。当节点已创建时,需要先将节点查询出来,再进行创建;若节点没有创建,则一起创建。

创建关系的语法如下:

有节点:

Match (node1:label-name),(node2:label-name)
Create (node1)—[relationship-name:relationship-label-name{keys:values}]>(node2)

无节点:

Create (node1:lable-name{keys:values})—[relationship-name:relationship-label-name {keys:values}]>(node2:lable-name{keys:values}

查询关系:

Match (lable-name)—[relationship-name:relationship-label-name {keys:values}]>(lable-name)

删除节点或关系:

Match (node1:label-name) delete node1

删除节点或关系使用delete命令,删除前需要查询出需要删除的节点或关系

删除标签:

Match (node1:label-name) remove node1:label-name

删除属性:

Match (node1:label-name) remove node1.key

Set命令与limit命令

Set命名用于修改节点的属性:

Match (node1:label-name)set node1.key=value

Limit命令与mysql中的一样:

Match (node1:label-name)return node1 limit x
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值