本文主要是介绍《图数据库》(人民邮电出版社)读书笔记三,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第三章 使用图进行数据建模
图建模与其他建模技术的不同之处在于其逻辑模型和物理模型之间有更加密切的关系。
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允许用标签和属性组合来创建索引。对特定的属性值,可以制定约束条件来保证它的唯一性。
信息交流模式分析是一个经典的图问题,它涉及用图去发现领域专家、关键影响力以及信息传播的通信通道。
这篇关于《图数据库》(人民邮电出版社)读书笔记三的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!