- Neo4j 基础知识
- Neo4j 图论的发明者 莱昂哈德·欧拉 (Leonhard Euler )
- Neo4j 是一个原生的图形数据库,这意味着从数据存储到查询语言的一切都是专门为遍历而设计的。
- 原生的图形数据库 Neo4j
- Index-free adjacency (IFA) 无索引邻接
- Neo4j 图形数据库实现了 IFA 不同于 RDBMS 的关键特性
- Neo4j 存储借助 IFA ,将节点和关系存储为通过指针相互链接的对象
- 与 RDBMS 相比优势
- 更少的索引查找
- 没有表扫描
- 减少重复数据
- Index-free adjacency (IFA) 无索引邻接
- 图元素
- 节点 也称为顶点
- 节点用圆圈来表示,代表事物
- 通常为对象、实体或仅仅是开路事物
- 节点具有许多属性,将用于每个属性的数据类型
- 关系 也称为边
- 通常是动词
- 用于连接节点,描述节点如何相互连接
- 节点 也称为顶点
- 图结构
- 图特点
- 无向图
- 关系被认为是双向的或对称的
- 有向图
- 额外的信息维度,具有相同类型但方向相反的关系有不同的意义
- 加权图
- 节点之间的关系带有表示各种度量的值,如成本、时间、距离或优先级
- 末加权图
- 无向图
- 图遍历
- 遍历意味着在图中遵循关系,图论中有不同类型的遍历会影响应用程序性能。
- Neo4j 的 Cypher 语句语言针对节点遍历进行了优化,因此关系不会被多次遍历
- 图特点
- Graphs are Everywhere
- 电子商务和实时推荐
- 新闻领域
- 网络和IT运营
- 运输和物流
- 属性图
- 节点(Nodes)
- 节点属性
- 通过向节点添加属性来使其具体化。
- 属性是键值对,可以根据需要在节点中添加或删除
- 属性值可以是单个值或符合Cypher类型系统的值列表。
- 对于且有特定标签的每个节点,不需要存在属性。
- 如果节点的属性不存在,则将其视为 null 值
- 节点属性
- 属性(Properties/特性)
- 标签(Labels)
- 通过向节点添加标签,属于节点的子集。
- 标签在 Neo4j 中很重要,因它们为Cypher语句提供了起点。
- 在 Neo4j 中,一个节点可以有零个、一个或多个标签。
- 关系(Relationships)
- 两个节点之间的连接
- 关系方向
- 每个关系图中必须有一个方向,可以在任意一方查询关系,或在查询时忽略。
- 在源节点和目标节点创建关系,所以创关系前,节点必须存在。
- 关系类型
- 每个关系必须有一个类型
- 关系属性
- 指加权图中的成本或距离,或者只是为关系提供额外的上下文
- 节点(Nodes)
Neo4j:基础知识
于 2023-02-10 15:06:07 首次发布