一、图数据库的优势
当我们要判断两个数据之间有什么关系时,如果使用传统的关系型数据库如MySQL,就会使用很多的left join之类,想要查询得到结果所需要耗费大量的资源,查询很多次,执行效率低。为了提高效率,图数据库就应运而生。
图数据库是基于图论实现的一种新型nosql数据库,其数据库存储结构和数据的查询方式都是以图论为基础的。图论中图的基本元素为节点和边,在图数据库中对应的就是节点和关系。
图论是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。
图数据库的应用如天眼查、陌陌等,主要是描述人之间的关系,事物之间的关系,抽取知识图谱和事理图谱等。
二、Neo4j图数据模型
属性图模型规则
表示节点,关系和属性中的数据
节点和关系都包含属性
关系连接节点
属性是键值对
节点用圆圈表示,关系用方向键表示。
关系具有方向:单向和双向。
每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”
在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息。
在Neo4j中,关系也应该是有方向性的。如果我们尝试创建没有方向的关系,那么Neo4j会抛出一个错误消息,“关系应该是方向性的”。
Neo4j图数据库将其所有数据存储在节点和关系中。我们不需要任何额外的RDBMS数据库或无SQL数据库来存储Neo4j数据库数据。它以图形的形式存储其数据的本机格式。
Neo4j使用本机GPE(图形处理引擎)引擎来使用它的本机图存储格式。
图形数据库数据模型的主要构建块是:
节点
关系
属性