GraphGists

Gentics Mesh 领域模型

简介

此图 gist 用于记录 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:版本

发布

发布是特定模式容器版本顶点的捆绑。

节点版本控制

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

节点层次结构

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