文章目录
图形数据库
1. 什么是图形数据库?
-
Graph database
是用来存储图结构的数据库。图形数据库是NoSQL
数据库的一种类型。应用图形理论存储实体之间的关系信息。常见例子:社会网络中人与人之间的关系。 -
应用场景:
- 社交领域:Facebook、Twitter用来管理社交关系,实现好友推荐;
- 零售领域:eBay、沃尔玛,用于实现商品实时推荐;
- 金融领域:摩根大通、花旗等银行用来做风控处理;
- 电信领域:依靠图数据库管理网络;
- 酒店领域:万豪、雅高酒店等公司使用图数据库来管理复杂且快速变化的库存。
2. neo4j 应用
2.1 概念介绍
- 节点:表示一个实体记录,相当于关系型数据库中的一条记录
- 关系:用于将节点关联起来构建图,简称为图论的边
- 属性:节点和关系可以有多个属性,属性是有键值对组成,相当于Python中的字典
- 标签:表示一组拥有相同属性的节点,相当于关系型数据库的表
- 路径:图中任意两个节点存在关系组成的路径
2.2 Cypher
查询语言
Cypher
是一种声明式图数据库查询语言,类似于关系型数据库中的SQL。- MATCH:匹配图模式
- WHERE:过滤条件
- RETURN:定义返回的结果
基本语法
- 增(CREATE)
- 删(DELETE)
- 改(SET)
- 查(MATCH)
2.4 用法举例
# 创建基础节点
CREATE (:pig{name: "猪爷爷", age: 15}), (:pig{name: "猪奶奶", age: 13})
# 基于已存在节点创建关系
MATCH (a:pig{name: "猪爷爷"})