文章来源:拉勾教育Java高薪训练营第3期,程道老师
1、图论
1.1、图论的起源-柯尼斯堡(Konigsberg)七桥问题
图论起源于一个非常经典的问题
——
柯尼斯堡(
Konigsberg
)七桥问题。
1738
年,瑞典数
学家欧拉
( Leornhard Euler)
解决了柯尼斯堡七桥问题。由此图论诞生,欧拉也成为图论的创始人。
欧拉把问题的实质归于
"
一笔画
"
问题,即判断一个图是否能够遍历完所有的边
(Edge)
而没有重复,而柯
尼斯堡七桥问题则是一笔画问题的一个具体情境。欧拉证明这个问题不成立。
满足一笔画的图满足两个条件
:
- 图必须是一个完整图
- 有零个或二个奇数点
1.2、图 和 节点
图是一组节点和连接这些节点的关系组成。图形数据存储在节点和关系所在的属性上。属性是键值对表
示的数据。
在图形理论中,我们可以使用圆表示一个节点
并且可以向里面添加键值对形式的数据。
1.3、节点关系表达
简单关系表达
此处在两个节点之间创建关系名称
“
跟随
”
。 这意味着
Profifile1
跟随
Profifile2
。
复杂关系表达
这里节点用关系连接。 关系是单向或双向的。
- 从XYZ到PQR的关系是单向关系。
- 从ABC到XYZ的关系是双向关系。
1.4、属性图模型规则
- 图表示节点,关系和属性中的数据
- 节点和关系都包含属性
- 关系连接节点
- 属性是键值对
- 节点用圆圈表示,关系用方向键表示。
- 关系具有方向:单向和双向。
- 每个关系包含“开始节点”或“从节点” 和 “到节点”或“结束节点”
2、知识图谱和图库
2.1 知识图谱
一种基于图的数据结构,由节点
(Node)
和边
(Edge)
组成。其中节点即实体,由一个全局唯一的
ID
标示,
边就是关系用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息(
Heterogeneous
Information
)连接在一起而得到的一个关系网络。知识图谱提供了从
“
关系
”
的角度去分析问题的能力。