《图数据库》(人民邮电出版社)读书笔记三

2023-10-29 20:48

本文主要是介绍《图数据库》(人民邮电出版社)读书笔记三,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第三章 使用图进行数据建模

图建模与其他建模技术的不同之处在于其逻辑模型和物理模型之间有更加密切的关系。


Cypher是一种言简意赅的图数据库查询语言,它现在还是Neo4j特有的语言,ASCII字符画模式是其根基。


实际的图中的锚点和模式中的哪一部分绑定,是Cypher根据查询中的标签和属性断言决定的。


每个匹配的节点都在用户遍历结果的时候才延迟绑定到标识符上的。


Cypher子句:
START:通过索引查找或者元素的ID值获取的图中的起始点(一个或多个),可以是节点,也可以是联系。(不推荐使用,推荐使用在MATCH子句中指定锚点。)


MATCH:图的匹配模式


WHERE:提供过滤模式匹配结果的条件


RETURN:返回所需的结果


CREATE和CREATE UNIQUE:创建节点和联系


DELETE:删除节点、联系或者属性


SET:设置属性的值


FOREACH:对list中的每个元素执行更新操作


UNION:合并两个或更多查询的结果


WITH:链式查询,前一个查询的结果作为后一个查询的条件。和Unix的管道命令很相似。


MERGE:保证给出的模式在图中一定存在,要么复用已经存在的与断言匹配的节点和联系,要么创建新的节点和联系


DISTINCT:保证没有重复数据


WITH可以用来将只读子句从以写入为中心的SET操作中分离出来。一般来说,WITH通过让我们把复杂的查询分解成多个简单的模式,将复杂的查询分而治之。


关系建模流程:概念模型(示意图)、逻辑模型(E-R图)、规范化模型(映射成表和关系)、反规范化和迁移


为了让关系型数据库在处理常规应用请求时表现良好,我们不得不抹去领域真正的样子,而去接受我们修改用户数据模型是为了适应数据库引擎而不是用户这个现实。这种技术叫反规范化(denormalization)


将结构变化引入到数据库的技术机制叫迁移(migration)


图建模流程:示意图、添加属性,标签和联系


为了支持快速查找节点,Cypher允许用标签和属性组合来创建索引。对特定的属性值,可以制定约束条件来保证它的唯一性。


信息交流模式分析是一个经典的图问题,它涉及用图去发现领域专家、关键影响力以及信息传播的通信通道。

这篇关于《图数据库》(人民邮电出版社)读书笔记三的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/303260

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有

查看MySQL数据库版本的四种方法

《查看MySQL数据库版本的四种方法》查看MySQL数据库的版本信息可以通过多种方法实现,包括使用命令行工具、SQL查询语句和图形化管理工具等,以下是详细的步骤和示例代码,需要的朋友可以参考下... 目录方法一:使用命令行工具1. 使用 mysql 命令示例:方法二:使用 mysqladmin 命令示例:方