GraphGists 图数据示例

Gentics Mesh 领域模型

引言

本图数据示例用于记录 Gentics Mesh 的图数据库结构。图中包含了身份验证处理、版本控制以及用户/角色/组管理的概念。

根树

MeshRootImpl 顶点是 Mesh 图数据结构的根。整个图中只存在一个 MeshRootImpl。各种聚合顶点连接到 Mesh 根顶点。

节点根

存在多个节点根顶点。一个连接到中央 Mesh 根,每个项目也有自己的节点根顶点。

标签根

存在多个标签根顶点。一个中央标签根连接到 Mesh 根顶点 (MeshRootImpl),每个标签族也创建额外的标签根。

标签族根

存在多个标签族根顶点。一个中央标签族根连接到 Mesh 根顶点,每个项目也创建额外的标签族根顶点。

标签与其他元素(节点、项目)的关系

项目根

项目根顶点用于聚合所有项目顶点。

用户/组/角色根

每种元素类型(用户、角色、组)都有自己的根聚合顶点。用户被分配到组,角色被分配到组。额外的 ASSIGNED_TO_ROLE 边是一个快捷边,可以提高性能。

用户节点引用

用户可以引用单个节点以构建 nodeReference 信息。

权限

Gentics Mesh 使用基于文档的权限系统。权限在角色和 Mesh 元素之间创建,如标签、项目、节点、标签族。

模式根

变更日志根

变更日志根聚合顶点用于列出所有已应用的变更日志条目。每个连接的变更顶点包含有关已执行的图变更日志操作的信息。通过这种方式,Mesh 安装可以确定哪些变更已执行。

带有字段的节点

一个节点可以有多个图字段容器。图字段容器代表节点在特定语言、发布版本和版本下的内容。HAS_FIELD_CONTAINER 边包含附加信息,用于识别字段容器的语言、发布版本和类型。字段容器可以代表最新的草稿版本、当前发布的版本或图字段容器的任何旧版本。

  • HAS_FIELD_CONTAINER: edgeType, releaseUuid, languageTag

节点关系

标签与其他元素(节点、项目)的关系

节点字段

Mesh 中有三种类型的字段元素。

  1. 基本字段类型,例如

    • StringFieldImpl

    • DateFieldImpl

    • NumberFieldImpl

    • BooleanFieldImpl

    • HtmlFieldImpl

这些字段类型映射到字段容器的属性,因此不需要额外的顶点和边。

  1. 引用型字段类型,例如

    • MicronodeField

    • NodeField

这些字段类型会创建指向被引用元素的边(例如:NodeImpl 顶点或 MicronodeImpl)。

  1. 复杂字段类型,例如

    • 各种列表

这些字段类型需要额外的顶点来存储信息。

模式版本

  • SchemaContainerVersionImpl: version

发布版本

发布版本是特定模式容器版本顶点的集合。

节点版本控制

显示的节点有两个字段容器。一个代表节点内容的最新版本,另一个代表先前版本。其中一个字段容器连接到两个字段顶点。这意味着旧字段 (DateGraphFieldListImpl) 在先前的修订版本中没有改变,因此被重用了。如果在两个版本之间的字段内容中检测到修改,则该日期列表字段将不会被重用。

节点层级

项目节点树结构使用 HAS_PARENT_NODE 关系构建。

© . All rights reserved.