精华 Neo4j官方教程:第19节, 图数据建模是什么
发布于 21 天前 作者 pangguoming 143 次浏览 来自 分享

教程目录 引自:https://neo4j.com/docs/getting-started/data-modeling

图数据建模是什么?

数据建模是一种定义查询逻辑和存储数据结构的实践。一个设计良好的模型是充分利用图数据库优势的关键,因为它可以提高查询性能、支持灵活查询并优化存储。


如何创建图数据模型

要将数据组织成数据模型,首先需要思考你想回答哪些问题。

例如,假设你为一家零售公司工作,并希望了解客户购买了哪些产品。为此,你需要:

  1. 拥有关于已售产品和购买它们的客户的数据:这个过程称为“实体提取”。
  2. 理解这些实体之间的关系
  3. 思考需要提供哪些其他细节,即需要为这些实体添加哪些属性(例如客户姓名)。
  4. 可选:在创建模型之前,使用无代码数据建模工具可视化模型
  5. 如果满意,可以开始将数据写入数据库

在这个虚构的场景中,你可以通过以下方式将信息添加到图中:

CREATE (c:Customer {name: "John"})
CREATE (p:Product {name: "Camera"})
CREATE (c)-[:BUYS]->(p)

然后,你可以通过查询测试这个模型(例如,John 买了什么):

MATCH (c:Customer {name: "John"})-[b:BUYS]->(p)
RETURN p

请记住,图数据建模是一个迭代的过程。你的初始图数据模型只是一个起点。随着你对用例的深入了解或用例的变化,模型需要进行调整。

此外,你可能会发现,尤其是在图规模扩大时,需要重构模型以确保它与业务需求保持一致。


总结

创建数据模型的过程包括以下步骤:

  1. 理解领域并为应用程序定义具体的用例(问题)
  2. 通过提取实体并决定它们之间的关系,开发初始图数据模型
  3. 根据初始数据模型测试用例
  4. 使用 Cypher® 创建包含测试数据的图
  5. 测试用例,包括图的性能
  6. 由于关键用例的变化或性能原因,重构图数据模型

持续学习

如果想要更深入地学习数据建模,可以尝试以下资源:

  • GraphAcademy: 数据建模基础:注册一个交互式课程。
  • 从关系型到图模型:学习如何将关系型数据转换为图数据模型。
  • 数据建模工具:查看可用于创建数据模型的工具列表。
  • 数据建模技巧:查看如何提高数据建模技能的建议。
  • 建模设计:查看可用于项目策略的数据建模设计示例。
  • Neo4j GraphGists:查找 Neo4j 社区分享的图数据建模示例。
回到顶部