Neo4j图数据库基础

  发布时间:2025-11-05 08:39:58   作者:玩站小弟   我要评论
在这个三篇系列文章的***篇文章中,我们将学习图数据库(graph database)的基础知识,它支持了这地球上***的一些数据池。对于海量的各种非结构化信息来说,图数据库已经成为帮助收集、管理和搜 。

在这个三篇系列文章的图数***篇文章中,我们将学习图数据库(graph database)的据库基础基础知识,它支持了这地球上***的图数一些数据池。

对于海量的据库基础各种非结构化信息来说,图数据库已经成为帮助收集、图数管理和搜索大量数据的据库基础技术。在这三篇系列文章中,图数我们将使用开源图数据库软件 Neo4j 来研究图数据库。据库基础

在本文中,图数我将向你展示图数据库的据库基础基础知识,帮助你快速了解概念模型。图数在第二篇中,据库基础我将向你展示如何启动 Neo4j 数据库,图数并使用内置的据库基础浏览器工具填充一些数据。而且,图数在本系列的***一篇文章中,我们将探讨一些在开发工作中使用的 Neo4j 编程库。

掌握图数据库的概念模型是有用的,所以我们从那里开始。图数据库中只存储两种数据:节点node和边edge。

节点是实体:诸如人物、b2b供应网发票、电影、书籍或其他具体事物。这些有些等同于关系数据库中的记录或行。 边名关系:连接节点的概念、事件或事物。在关系数据库中,这些关系通常存储在具有链接字段的数据库行中。在图数据库中,它们本身就是有用的,是可以以其自己的权限搜索的对象。

节点和边都可以拥有可搜索的属性。例如,如果你的节点代表人,他们可能拥有名字、性别、出生日期、身高等属性。而边的属性可能描述了两个人之间的关系何时建立,见面的情况或关系的亿华云计算性质。

这是一个帮助你可视化的图表:

Graph database image 1

在这张图中,你知道 Jane Doe 有一个新的丈夫 John;一个女儿(来自她以前的夫妻关系)Mary Smith 和朋友 Robert 和 Rhonda Roe。Roes 有一个儿子 Ryan,他正在与 Mary Smith 约会。

看看它怎么工作?每个节点代表一个独立于其他节点的人。你需要找到关于那个人的一切都可以存储在节点的属性中。边描述了人们之间的关系,这与你在程序中需要的一样多。

关系是单向的,且不能是无向的,但这没有问题。由于数据库可以以相同的速度遍历两个方向,并且方向可以忽略,你只需要定义一次此关系。如果你的程序需要定向关系,则可以自由使用它们,但如果双向性是WordPress模板暗含的,则不需要。

另外需要注意的是,图数据库本质上是无 schema 的。这与关系数据库不同,关系数据库每行都有一组列表,并且添加新的字段会给开发和升级带来很多工作。

每个节点都可以拥有一个标签label;对于大多数程序你需要“输入”这个标签,是对典型的关系数据库中的表名的模拟。标签可以让你区分不同的节点类型。如果你需要添加新的标签或属性,修改程序来用它就行!

使用图数据库,你可以直接开始使用新的属性和标签,节点将在创建或编辑时获取它们。不需要转换东西;只需在你的代码中使用它们即可。在这里的例子中,你可以看到,我们知道 Jane 和 Mary 最喜欢的颜色和 Mary 的出生日期,但是别人没有(这些属性)。这个系统不需要知道它;用户可以在正常使用程序的过程中访问节点时为其添加信息(属性)。

作为一名开发人员,这是一个有用的特性。你可以将新的标签或属性添加到由节点处理的表单中并开始使用它,而不必进行数据库 schema 的修改。对于没有该属性的节点,将不显示任何内容。你可以使用任何一种类型的数据库来为表单进行编码,但是你可以放下在关系型数据库中要进行的许多后端工作了。

让我们添加一些新的信息:

Graph database image 2, defining a new type of node

这是一个新的节点类型,它代表一个位置,以及一些相关关系。现在我们看到 John Doe 出生在加利福尼亚州的 Petaluma,而他的妻子 Jane 则出生在德克萨斯州的 Grand Prairie。 他们现在住在得克萨斯州的赛普拉斯,因为 Jane 在附近的休斯顿工作。Ryan Roe 缺乏城市关系对数据库来说没有什么大不了的事情,我们不知道那些信息而已。当用户输入更多数据时,数据库可以轻松获取新数据并添加新数据,并根据需要创建新的节点和关系。

了解节点和边应该足以让你开始使用图形数据库。如果你像我一样,已经在考虑如何在一个图中重组你的程序。在本系列的下一篇文章中,我将向你展示如何安装 Neo4j、插入数据,并进行一些基本的搜索。 

  • Tag:

相关文章

  • 电脑QQ错误代码大全解析(了解电脑QQ常见错误代码,解决通信困扰)

    摘要:电脑QQ作为一款常用的即时通信软件,在日常使用中可能会遇到各种错误代码的提示,这些错误代码可能导致我们无法正常使用或者通信受阻。本文将带你逐一解析电脑QQ常见错误代码,帮助你快速解...
    2025-11-05
  • 聊聊Nginx前端到底用来做啥

    这篇文章是收集我在工作中经常会用到的nginx相关知识点,本文并不是基础知识的讲解更多的是一些方案中的简单实现。location的匹配规则= 表示精确匹配。只有请求的url路径与后面的字符串完全相等时
    2025-11-05
  • 解DBA之惑:数据库承载能力评估及其优化手段

    作者介绍韩锋,宜信技术研发中心数据库架构师。精通多种关系型数据库,曾任职于当当网、TOM在线等公司,曾任多家公司***DBA、数据库架构师等职,多年一线数据库架构、设计、开发经验。著有《SQL优化**
    2025-11-05
  • sail.js学习 - 安装篇

    导言:最近在学习sails.js(http://sailsjs.org/),因为用的人不多,资料较少,故写些自己的学习过程。因自己也是初学node.js,有问题大家指出.介绍:sails.js的目的是
    2025-11-05
  • 尼康200.500镜头评测(探究尼康200.500镜头的特点和优势)

    摘要:尼康200.500镜头作为一款广受好评的镜头,其拍摄效果备受期待。本文将从多个角度对尼康200.500镜头进行评测,以揭示其特点和优势。标题和1.尼康200.500镜头...
    2025-11-05
  • 开源第一弹:什么是HBASE?

    在数据研究人员的工具集上有着大量的工具可以使用,这对于大数据技术,既是一件好事也是一件坏事。当我们谈论从事大数据工作所使用的工具时,绝大部分讨论的会是Hadoop,Apache基金会关于Map Red
    2025-11-05

最新评论