Neo4j 基础教程

Neo4j CQL

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/neo4j-definition.html

Neo4j 图形数据库基础概念及知识点详解


本篇主要从图(Graph)的概念、图形数据库的基本概念、Neo4j 与关系型数据库管理系统(RDBMS)对比以及和 NoSQL 之间的比较等方面详细介绍。

什么是图(Graph)

图是由一对链接(links)连接对象的图形表示。

一个图包含两个元素:

  1. 节点(顶点,英文称 vertices);
  2. 关系(边,英文称 edge)。

什么是图形数据库(Graph database)

图形数据库是用图的形式对数据进行建模的数据库。Neo4j 图形数据库由以下四个部分组成:

  1. 节点(Nodes);
  2. 关系(Relationships);
  3. 属性(Properties);
  4. 标签(Labels)。

节点(Nodes):节点是图形数据库中的记录数据。数据以多个属性形式存储,属性是简单的键值对。

节点可以通过标签(Label)进行分组,一个节点可以有 0 到多个标签,标签没有任何属性。

关系(Relationships):关系用于连接节点,并且它会指定节点的关联方式:

  • 关系总是有方向的;
  • 关系总是有其类型;
  • 关系形成数据的模式。

属性(Properties):属性是命令的数据值。

标签(Labels):标签将通用名称与一组节点或关系相关联。一个节点或关系可以包含 0 到多个标签。我们可以为现有节点或关系创建新标签,也可以从现有节点或关系中删除现有标签。

与关系型数据库对比

下面是 neo4j 图形数据库与关系型数据库(RDBMS)之间不同层面上的比较:

层面 图形数据库 关系型数据库
表(table)层面 数据以图(graph)的形式存储 数据存储在各个表(table)中
行(row)层面 每条数据对应一个节点(node) 每天数据都是表(table)中的一行(row),从属于表
字段(field)层面 数据内容以属性(property)形式,存储键值对 数据以字段(column)的形式,存储不同的内容
关系(relationship)层面 通过定义的关系(relationship)连接不同的节点(nodes) 通过约束(constraints)形式关联数据,如外键
关联查询(query)层面 通过图形的遍历(traversal)进行关联查询 通过联表(join)的形式进行关联查询

 

 

Neo4j 是 Neo4j, Inc. 开发的图形数据库(Graph Database)管理系统,根据 DB-Engines Ranking ...
Java 是一门面向对象的语言,其语法结构包括了类、对象等概念。 ...
Pandas 的 DataFrame 是由多种类型的列构成的二维标签数据结构。可以把它想象成一个 Excel 表格或 SQL 表,或者 Se ...
Neo4j 导入数据有多种形式,支持 csv、json 等格式的数据文件导入,也支持 api 接口导入数据,还可以将 rdbms 关系型数据 ...
ES数据库(Elasticsearch)和SQL数据库(StructuredQueryLanguage)是两种不同类型的数据库,各自适用于不 ...