Neo4j 图形数据库

目录

Neo4j 基础

什么是Neo4j

Neo4j 模块构建

Neo4j的主要应用场景

Neo4j 环境搭建

Docker 安装Neo4j

Neo4j数据浏览器

 Neo4j CQL

CQL简介

Neo4j CQL高级

CQL 函数

CQL多深度关系节点

事务

索引

约束

Neo4j之Admin管理员操作

Neo4j - 数据库备份和恢复

调优思路

 Neo4j 程序访问

SpringBoot 整合Neo4j


Neo4j 基础

什么是Neo4j

Neo4j是一个开源的 无Shcema的 基于java开发的 图形数据库,它将结构化数据存储在图中而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎。程序数据是在一个面向对象的、灵活的网络结构下,而不是严格、静态的表中,但可以享受到具备完全的事务特性、企业级的数据库的所有好处。

https://db-engines.com/en/ranking

Neo4j 模块构建

Neo4j 主要构建块

  • 节点
  • 属性
  • 关系
  • 标签
  • 数据浏览器

节点

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

属性

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

Key =值

其中Key是一个字符串

值可以通过使用任何Neo4j数据类型来表示

关系

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

 这里Emp和Dept是两个不同的节点。 “WORKS_FOR”是Emp和Dept节点之间的关系。

因为它表示从Emp到Dept的箭头标记,那么这种关系描述的一样

Emp WORKS_FOR Dept

每个关系包含一个起始节点和一个结束节点。

这里“Emp”是一个起始节点。

“Dept”是端节点。

由于该关系箭头标记表示从“Emp”节点到“Dept”节点的关系,该关系被称为“进入关系”到“Dept”节点。

并且“外向关系”到“Emp”节点。

像节点一样,关系也可以包含属性作为键值对。

标签

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

有节点或关系创建新标签。 我们可以从现有节点或关系中删除现有标签。

从前面的图中,我们可以观察到有两个节点。

左侧节点都有一个标签:“EMP”,而右侧节点都有一个标签:“Dept”。

这两个节点之间的关系,也有一个标签:“WORKS_FOR”

: -Neo4j将数据存储在节点或关系的属性中。

Neo4j的主要应用场景

社交媒体和社交网络

当使用图形数据库为社交网络应用程序提供动力时,可以轻松利用社交关系或根据活动推断关系。

查询社区聚类分析,朋友的朋友推荐,影响者分析,共享和协作关系分析等

推荐引擎和产品推荐系统

图形驱动的推荐引擎通过实时利用多种连接,帮助公司个性化产品,内容和服务。

内容和媒体推荐,图形辅助搜索引擎,产品推荐,专业网络,社会推荐。

身份和访问管理

使用图形数据库进行身份和访问管理时,可以快速有效地跟踪用户,资产,关系和授权。

查询访问管理,资产来源,数据所有权,身份管理,互连组织,主数据,资源授权

金融反欺诈多维关联分析场景

通过图分析可以清楚地知道洗钱网络及相关嫌疑,例如对用户所使用的帐号、发生交易时的IP地址、MAC地址、手机IMEI号等进行关联分析。

Neo4j 环境搭建

Neo4j环境Linux下搭建

(1).切换到Linux下 到安装目录neo4j 上传安装包 或者 下载安装包

使用 ftp 工具上传neo4j-community-3.5.17.tar 到 liunx 下

或者 wget https://neo4j.com/artifact.php?name=neo4j-community-3.5.17-unix.tar.gz

(2). 解压

tar -xvf neo4j-community-3.5.17.tar

(3). 修改配置文件 neo4j.conf

vi conf/neo4j.conf

主要是修改 允许远程访问的地址 把对应的注释打开即可

dbms.connectors.default_listen_address=0.0.0.0

(4).开放对应的访问端口 默认要开放7474 和 7687

fifirewall-cmd --zone=public --add-port=7474/tcp --permanent

fifirewall-cmd --zone=public --add-port=7687/tcp --permanent

systemctl reload fifirewalld

(5).启动

./bin/neo4j start

(6).使用浏览器 访问服务器上的 neo4j

http://192.168.8.128:7474

默认的账号是 neo4j 密码 neo4j 这里第一次登录的话会要求修改密码

Docker 安装Neo4j

1.拉取Neo4j镜像

docker pull neo4j

2. 简单运行Neo4j

docker run -d --name neo4j  -p 7474:7474 -p 7687:7687  neo4j

3.查看日志是否启动成功

docker logs -f neo4j 

4.访问数据浏览器查看是否成功

http://192.168.8.128:7474/browser

如需挂载目录:

  • data——数据存放的文件夹
  • logs——运行的日志文件夹
  • conf——数据库配置文件夹(在配置文件neo4j.conf中配置包括开放远程连接、设置默认激活的数据库)
  • import——为了大批量导入csv来构建数据库,需要导入的节点文件nodes.csv和关系文件rel.csv需要放到这个文件夹下)
docker run -d --name container_name \  //-d表示容器后台运行 --name指定容器名字
	-p 7474:7474 -p 7687:7687 \  //映射容器的端口号到宿主机的端口号
	-v /home/neo4j/data:/data \  //把容器内的数据目录挂载到宿主机的对应目录下
	-v /home/neo4j/logs:/logs \  //挂载日志目录
	-v /home/neo4j/conf:/var/lib/neo4j/conf   //挂载配置目录
	-v /home/neo4j/import:/var/lib/neo4j/import \  //挂载数据导入目录
	--env NEO4J_AUTH=neo4j/password \  //设定数据库的名字的访问密码
	neo4j //指定使用的镜像

Neo4j数据浏览器

数据浏览器访问

一旦我们安装Neo4j,我们可以访问Neo4j数据浏览器使用以下URL

http:// localhost:7474/browser/

 Neo4j数据浏览器用于执行CQL命令并查看输出输出。

这里我们需要在美元提示符处执行所有CQL命令:“$” 如 CREATE(cc:CreditCard)在美元符号后键入命令,然后单击“执行”按钮运行命令。

它与Neo4j数据库服务器交互,检索和显示下面的结果到那个美元提示。

使用“VI视图”按钮以图形格式查看结果。 上图以“UI视图”格式显示结果。

导出 CSV 或者 JSON

单击“导出CSV”按钮以csv文件格式导出结果

 Neo4j CQL

CQL简介

CQL代表Cypher查询语言。 像关系型数据库具有查询语言SQL,Neo4j使用CQL作为查询语言。

Neo4j CQL

  • 它是Neo4j图形数据库的查询语言。
  • 它是一种声明性模式匹配语言。
  • 它遵循SQL语法。
  • 它的语法是非常简单且人性化、可读的格式。

常用的Neo4j CQL命令/条款如下:

S.No. 

CQL命令/条 

作用

1

CREATE 创建 

创建节点,关系和属性

2

MATCH 匹配 

检索有关节点,关系和属性数据

3

RETURN 返回

返回查询结果
4

WHERE 条件

提供条件过滤检索MATCH数据
5

DELETE 删除

删除节点和关系
6

REMOVE 移除

删除节点和关系的属性
7

SET 设置

添加或更新标签
8

ORDER BY 排序

对结果排序
9

SKIP LI

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值