Neo4j 介绍
Neo4j 是一个世界领先的开源的基于图数据库(noSQL),它是使用Java语言完全开发的。
数据模型
Neo4j 图数据库遵循属性图模型来存储和管理其数据。属性图模型就是:
在属性图模型中,每一个顶点包括:
- 唯一标识符
- 出边的集合、入边的集合
- 属性的集合(键值对)
每一个边(关系)包括:
- 唯一标识符
- 边开始的顶点、边结束的顶点
- 表述两个顶点之间关系类型的标签
- 属性的集合(键值对)
在 Neo4j 中,关系应该是有方向性的。如果我们尝试创建没有方向的关系,那么 Neo4j 会抛出一个错误消息。
构建模块
Neo4j 数据库主要由以下模块构成:
- 节点
- 属性
- 关系
- 标签
节点
节点是图表的基本单位。 它包含具有键值对的属性:
关系
关系是图形数据库的另一个主要构建块,它连接两个节点:
属性
属性是用于描述图节点和关系的键值对:key = value,key 是一个字符串,value 可以通过使用任何 Neo4j 数据类型来表示。
标签
标签将一组节点和关系相关联,节点或关系可以包含一个或多个标签。
标签可以看作是关系型数据库中的表名,或者说是一个类别。