目录

引言

一、低代码系统中知识图谱的实体分类与定义标准

二、实体间核心关系类型

1. 包含关系(Contain)

2. 依赖关系(Depend On)

3. 适配关系(Adapt To)

4. 触发关系(Trigger)

5. 关联关系(Associate With)

三、亮点案例:以 “表单页面” 为例构建知识图谱

1. 确定实体及属性

(1)页面实体:用户信息表单页面

(2)组件实体

(3)数据实体:用户信息数据实体

(4)规则实体

2. 确定实体间关系

3. 知识图谱片段可视化(文字描述)

4. 代码示例:知识图谱数据结构定义与关系映射

四、结论与未来展望

1. 全文总结

2. 未来展望


引言

在数字化转型加速推进的当下,企业对软件开发的效率和灵活性提出了更高要求,低代码系统应运而生。低代码系统通过可视化拖拽、预置组件等方式,大幅降低了软件开发的技术门槛,让非专业开发人员也能参与到应用构建中。然而,随着低代码平台上开发的应用数量增多、功能日益复杂,系统内部的组件、页面、流程等元素之间的关系变得愈发繁杂,传统的管理方式已难以应对。

此时,知识图谱(Knowledge Graph)的价值逐渐凸显。知识图谱是一种基于图的数据结构,由 “实体”(Entity)和 “关系”(Relationship)组成,能够清晰地描述事物之间的关联。在低代码系统中引入知识图谱,可将系统内分散的元素及其关系进行结构化梳理,实现资产的有效管理、需求的快速匹配以及问题的精准定位。

本文将聚焦低代码系统的特点,详细梳理知识图谱中核心实体的分类与定义标准、实体间的核心关系类型,并以 “表单页面” 为例提供具体的构建案例,为低代码系统知识图谱的搭建提供切实可行的指导。

一、低代码系统中知识图谱的实体分类与定义标准

在低代码系统的知识图谱中,实体指的是系统内具有明确含义和独立存在意义的基本单元,是构成知识图谱的基础。对实体进行科学分类并明确定义标准,是构建高质量知识图谱的首要任务。结合低代码系统的功能特性和开发流程,可将其中的实体分为以下几大类,各类别的定义标准及示例如下表所示:

实体类别

定义标准

示例

组件实体

具备独立功能、可被重复调用的最小功能单元,需满足功能完整性、可复用性和参数可配置性

按钮组件、输入框组件、下拉选择组件、图表组件

页面实体

由一个或多个组件按照特定布局组合而成,用于呈现特定业务场景下的信息和交互功能,需明确页面的业务场景、布局结构和交互逻辑

用户登录页面、商品列表页面、订单详情页面、数据统计页面

流程实体

描述业务操作的执行顺序和逻辑,包含多个步骤及步骤间的流转条件,需明确流程的触发条件、执行步骤、流转规则和结束条件

用户注册流程、订单审批流程、数据同步流程、请假申请流程

数据实体

用于存储业务数据的结构化单元,定义了数据的字段、数据类型和约束规则,需满足数据完整性、一致性和安全性要求

用户数据实体(包含用户 ID、姓名、手机号、邮箱等字段)、商品数据实体(包含商品 ID、名称、价格、库存等字段)

规则实体

用于约束和控制系统行为或数据校验的逻辑条件,需明确规则的适用范围、触发时机和执行结果

数据校验规则(如手机号格式校验、邮箱格式校验)、权限控制规则(如角色权限分配规则、数据访问权限规则)

角色实体

用于划分系统使用者的权限范围,关联特定的操作权限和数据访问权限,需明确角色的职责范围和权限集合

系统管理员角色、普通用户角色、审批员角色、数据分析师角色

在定义实体时,需遵循以下通用标准:

  1. 唯一性:每个实体在知识图谱中都应有唯一的标识,如唯一 ID,避免实体重复或混淆。
  2. 明确性:实体的名称和定义应清晰准确,能够准确反映其实质内容和功能,避免歧义。
  3. 完整性:实体的属性应完整覆盖其核心特征,确保能够全面描述该实体。
  4. 关联性:实体应能够与其他实体建立合理的关系,以体现系统内元素间的关联。

二、实体间核心关系类型

在低代码系统的知识图谱中,关系是连接不同实体的桥梁,用于描述实体之间的关联方式和相互作用。明确实体间的核心关系类型,是构建知识图谱、展现系统内元素关联的关键。结合低代码系统的业务逻辑和开发流程,实体间的核心关系类型主要包括以下几种:

1. 包含关系(Contain)

指一个实体内部包含其他多个实体,被包含的实体是包含实体的组成部分,依赖包含实体而存在。这种关系在低代码系统中十分常见,例如页面实体包含组件实体、流程实体包含步骤实体等。

示例:用户注册页面(页面实体)包含用户名输入框(组件实体)、密码输入框(组件实体)、验证码输入框(组件实体)和注册按钮(组件实体);订单审批流程(流程实体)包含提交订单步骤(步骤实体)、部门经理审批步骤(步骤实体)、总经理审批步骤(步骤实体)和订单确认步骤(步骤实体)。

2. 依赖关系(Depend On)

指一个实体的正常运行或功能实现需要依赖另一个实体,若被依赖的实体发生变化或无法正常使用,依赖实体的功能也会受到影响。

示例:数据统计页面(页面实体)依赖用户数据实体和订单数据实体,若用户数据实体或订单数据实体的数据结构发生改变,数据统计页面中的图表展示功能可能会出现异常;订单提交流程(流程实体)依赖订单数据实体和支付接口组件(组件实体),若支付接口组件无法正常调用,订单提交流程将无法完成。

3. 适配关系(Adapt To)

指一个实体为了与另一个实体协同工作,在参数配置、接口规范等方面进行调整,以满足对方的要求。这种关系多发生在组件与数据、组件与规则之间。

示例:下拉选择组件(组件实体)适配商品分类数据实体,需将组件的选项数据源配置为商品分类数据实体的字段;表单校验组件(组件实体)适配手机号校验规则实体,需在组件中引用该规则实体的校验逻辑。

4. 触发关系(Trigger)

指一个实体的某个操作或状态变化会引发另一个实体的执行或状态改变。这种关系在流程实体与其他实体的交互中较为常见。

示例:用户点击注册按钮(组件实体的操作)触发用户注册流程(流程实体)的执行;订单状态变更为 “已支付”(数据实体的状态变化)触发订单发货流程(流程实体)的启动。

5. 关联关系(Associate With)

指两个实体之间存在某种间接的、非强依赖的联系,一方的变化可能会对另一方产生一定影响,但不会直接导致另一方功能失效。

示例:用户角色实体(角色实体)与权限规则实体(规则实体)存在关联关系,一个用户角色会关联多个权限规则,当权限规则发生调整时,该角色对应的用户的操作权限会随之变化;商品列表页面(页面实体)与商品搜索组件(组件实体)存在关联关系,搜索组件的搜索结果会影响商品列表页面的展示内容。

三、亮点案例:以 “表单页面” 为例构建知识图谱

为更直观地理解低代码系统中知识图谱的构建过程,本节将以低代码系统中的 “用户信息表单页面” 为例,详细阐述如何确定该页面相关的实体、关系及属性,并构建对应的知识图谱片段。

1. 确定实体及属性

“用户信息表单页面” 主要用于收集和展示用户的基本信息,根据前文的实体分类标准,可确定该页面相关的实体包括页面实体、组件实体、数据实体和规则实体,各实体的属性如下:

(1)页面实体:用户信息表单页面
  • 基本属性:页面 ID(Page_001)、页面名称(用户信息表单页面)、页面描述(用于收集和编辑用户基本信息的表单页面)、创建时间(2024-05-10)、创建人(Dev_001)、页面状态(已发布)
  • 布局属性:页面布局类型(表单布局)、表单列数(2 列)、表单间距(15px)
(2)组件实体

该页面包含多个组件实体,各组件的属性如下:

  • 用户名输入框组件:组件 ID(Comp_001)、组件名称(用户名输入框)、组件类型(单行文本输入框)、占位提示(请输入用户名)、是否必填(是)、最大长度(20)
  • 手机号输入框组件:组件 ID(Comp_002)、组件名称(手机号输入框)、组件类型(单行文本输入框)、占位提示(请输入手机号)、是否必填(是)、输入格式限制(11 位数字)
  • 邮箱输入框组件:组件 ID(Comp_003)、组件名称(邮箱输入框)、组件类型(单行文本输入框)、占位提示(请输入邮箱)、是否必填(否)、输入格式限制(符合邮箱格式)
  • 性别下拉组件:组件 ID(Comp_004)、组件名称(性别下拉组件)、组件类型(下拉选择框)、是否必填(是)、选项列表(男、女、其他)
  • 提交按钮组件:组件 ID(Comp_005)、组件名称(提交按钮)、组件类型(按钮)、按钮文本(提交)、按钮样式(primary)、点击事件(触发表单提交流程)
  • 重置按钮组件:组件 ID(Comp_006)、组件名称(重置按钮)、组件类型(按钮)、按钮文本(重置)、按钮样式(default)、点击事件(清空表单输入内容)
(3)数据实体:用户信息数据实体
  • 基本属性:数据实体 ID(Data_001)、数据实体名称(用户信息数据实体)、数据实体描述(存储用户基本信息的数据单元)
  • 字段属性
    • 用户 ID(字段 ID:Field_001,数据类型:字符串,是否主键:是,是否自增:是)
    • 用户名(字段 ID:Field_002,数据类型:字符串,是否必填:是,最大长度:20)
    • 手机号(字段 ID:Field_003,数据类型:字符串,是否必填:是,格式要求:11 位数字)
    • 邮箱(字段 ID:Field_004,数据类型:字符串,是否必填:否,格式要求:符合邮箱格式)
    • 性别(字段 ID:Field_005,数据类型:字符串,是否必填:是,可选值:男、女、其他)
    • 创建时间(字段 ID:Field_006,数据类型:日期时间,是否必填:是,默认值:当前时间)
(4)规则实体
  • 手机号校验规则:规则 ID(Rule_001)、规则名称(手机号校验规则)、规则描述(校验输入的手机号是否为 11 位数字)、校验逻辑(正则表达式:^1 [3-9]\d {9}$)、适用范围(手机号输入框组件)
  • 邮箱校验规则:规则 ID(Rule_002)、规则名称(邮箱校验规则)、规则描述(校验输入的邮箱是否符合标准格式)、校验逻辑(正则表达式:^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$)、适用范围(邮箱输入框组件)
  • 表单必填项校验规则:规则 ID(Rule_003)、规则名称(表单必填项校验规则)、规则描述(校验表单中的必填项是否已填写)、校验逻辑(检查用户名、手机号、性别字段是否有输入值)、适用范围(用户信息表单页面)

2. 确定实体间关系

根据前文的核心关系类型,结合 “用户信息表单页面” 各实体的功能和关联,可梳理出以下实体间关系:

源实体

关系类型

目标实体

关系描述

用户信息表单页面(Page_001)

包含(Contain)

用户名输入框组件(Comp_001)

用户信息表单页面内部包含用户名输入框组件,该组件是页面的组成部分

用户信息表单页面(Page_001)

包含(Contain)

手机号输入框组件(Comp_002)

用户信息表单页面内部包含手机号输入框组件,该组件是页面的组成部分

用户信息表单页面(Page_001)

包含(Contain)

邮箱输入框组件(Comp_003)

用户信息表单页面内部包含邮箱输入框组件,该组件是页面的组成部分

用户信息表单页面(Page_001)

包含(Contain)

性别下拉组件(Comp_004)

用户信息表单页面内部包含性别下拉组件,该组件是页面的组成部分

用户信息表单页面(Page_001)

包含(Contain)

提交按钮组件(Comp_005)

用户信息表单页面内部包含提交按钮组件,该组件是页面的组成部分

用户信息表单页面(Page_001)

包含(Contain)

重置按钮组件(Comp_006)

用户信息表单页面内部包含重置按钮组件,该组件是页面的组成部分

用户名输入框组件(Comp_001)

依赖(Depend On)

用户信息数据实体(Data_001)的 “用户名” 字段(Field_002)

用户名输入框组件的输入值需存储到用户信息数据实体的 “用户名” 字段中,字段结构变化会影响组件功能

手机号输入框组件(Comp_002)

依赖(Depend On)

用户信息数据实体(Data_001)的 “手机号” 字段(Field_003)

手机号输入框组件的输入值需存储到用户信息数据实体的 “手机号” 字段中,字段结构变化会影响组件功能

手机号输入框组件(Comp_002)

适配(Adapt To)

手机号校验规则(Rule_001)

手机号输入框组件需引用手机号校验规则,以实现输入内容的格式校验

邮箱输入框组件(Comp_003)

依赖(Depend On)

用户信息数据实体(Data_001)的 “邮箱” 字段(Field_004)

邮箱输入框组件的输入值需存储到用户信息数据实体的 “邮箱” 字段中,字段结构变化会影响组件功能

邮箱输入框组件(Comp_003)

适配(Adapt To)

邮箱校验规则(Rule_002)

邮箱输入框组件需引用邮箱校验规则,以实现输入内容的格式校验

性别下拉组件(Comp_004)

依赖(Depend On)

用户信息数据实体(Data_001)的 “性别” 字段(Field_005)

性别下拉组件的选择值需存储到用户信息数据实体的 “性别” 字段中,字段结构变化会影响组件功能

提交按钮组件(Comp_005)

触发(Trigger)

表单必填项校验规则(Rule_003)

点击提交按钮组件时,会触发表单必填项校验规则的执行,检查必填项是否填写完整

提交按钮组件(Comp_005)

触发(Trigger)

表单提交流程(假设流程 ID:Flow_001)

若表单必填项校验通过,点击提交按钮组件会触发表单提交流程的执行,将表单数据保存到用户信息数据实体中

重置按钮组件(Comp_006)

触发(Trigger)

表单清空操作

点击重置按钮组件会触发表单清空操作,清除所有输入框和下拉组件中的已输入内容

用户信息表单页面(Page_001)

关联(Associate With)

用户信息数据实体(Data_001)

用户信息表单页面与用户信息数据实体存在关联,页面的表单数据最终需存储到该数据实体中,数据实体字段变化可能影响页面展示

3. 知识图谱片段可视化(文字描述)

以 “用户信息表单页面” 为核心,构建的知识图谱片段可描述为:中心节点是 “用户信息表单页面(Page_001)”,该节点通过 “包含” 关系连接到 “用户名输入框组件(Comp_001)”“手机号输入框组件(Comp_002)”“邮箱输入框组件(Comp_003)”“性别下拉组件(Comp_004)”“提交按钮组件(Comp_005)”“重置按钮组件(Comp_006)” 六个组件节点;各组件节点又通过 “依赖” 关系连接到 “用户信息数据实体(Data_001)” 的对应字段节点,其中 “手机号输入框组件(Comp_002)”“邮箱输入框组件(Comp_003)” 还通过 “适配” 关系分别连接到 “手机号校验规则(Rule_001)”“邮箱校验规则(Rule_002)” 节点;“提交按钮组件(Comp_005)” 通过 “触发” 关系连接到 “表单必填项校验规则(Rule_003)” 节点和 “表单提交流程(Flow_001)” 节点;“重置按钮组件(Comp_006)” 通过 “触发” 关系连接到 “表单清空操作” 节点;同时,“用户信息表单页面(Page_001)” 通过 “关联” 关系直接连接到 “用户信息数据实体(Data_001)” 节点,形成一个完整的、相互关联的知识图谱片段。

4. 代码示例:知识图谱数据结构定义与关系映射

为了让知识图谱的构建更具可操作性,下面将使用 JSON-LD(一种用于描述结构化数据的 JSON 格式)定义 “用户信息表单页面” 相关的实体、属性及关系数据结构,便于在低代码平台中进行存储和解析。

{

"@context": {

"entityType": "http://example.org/entityType",

"property": "http://example.org/property",

"relationship": "http://example.org/relationship",

"targetEntity": "http://example.org/targetEntity",

"description": "http://example.org/description"

},

"@graph": [

// 1. 页面实体

{

"@id": "Page_001",

"@type": "entityType:PageEntity",

"property:pageId": "Page_001",

"property:pageName": "用户信息表单页面",

"property:pageDescription": "用于收集和编辑用户基本信息的表单页面",

"property:createTime": "2024-05-10",

"property:creator": "Dev_001",

"property:pageStatus": "已发布",

"property:layoutType": "表单布局",

"property:formColumns": 2,

"property:formSpacing": "15px",

"relationship:contain": [

{

"targetEntity": "Comp_001",

"description": "页面包含用户名输入框组件"

},

{

"targetEntity": "Comp_002",

"description": "页面包含手机号输入框组件"

},

{

"targetEntity": "Comp_003",

"description": "页面包含邮箱输入框组件"

},

{

"targetEntity": "Comp_004",

"description": "页面包含性别下拉组件"

},

{

"targetEntity": "Comp_005",

"description": "页面包含提交按钮组件"

},

{

"targetEntity": "Comp_006",

"description": "页面包含重置按钮组件"

}

],

"relationship:associateWith": [

{

"targetEntity": "Data_001",

"description": "页面与用户信息数据实体关联,表单数据存储至该实体"

}

]

},

// 2. 组件实体:用户名输入框

{

"@id": "Comp_001",

"@type": "entityType:ComponentEntity",

"property:componentId": "Comp_001",

"property:componentName": "用户名输入框",

"property:componentType": "单行文本输入框",

"property:placeholder": "请输入用户名",

"property:isRequired": true,

"property:maxLength": 20,

"relationship:dependOn": [

{

"targetEntity": "Data_001.Field_002",

"description": "组件输入值存储至用户信息数据实体的用户名字段"

}

]

},

// 3. 组件实体:手机号输入框

{

"@id": "Comp_002",

"@type": "entityType:ComponentEntity",

"property:componentId": "Comp_002",

"property:componentName": "手机号输入框",

"property:componentType": "单行文本输入框",

"property:placeholder": "请输入手机号",

"property:isRequired": true,

"property:formatLimit": "11位数字",

"relationship:dependOn": [

{

"targetEntity": "Data_001.Field_003",

"description": "组件输入值存储至用户信息数据实体的手机号字段"

}

],

"relationship:adaptTo": [

{

"targetEntity": "Rule_001",

"description": "组件引用手机号校验规则实现格式校验"

}

]

},

// 4. 数据实体:用户信息数据实体

{

"@id": "Data_001",

"@type": "entityType:DataEntity",

"property:dataEntityId": "Data_001",

"property:dataEntityName": "用户信息数据实体",

"property:dataEntityDescription": "存储用户基本信息的数据单元",

"property:fields": [

{

"fieldId": "Field_001",

"fieldName": "用户ID",

"dataType": "字符串",

"isPrimaryKey": true,

"isAutoIncrement": true

},

{

"fieldId": "Field_002",

"fieldName": "用户名",

"dataType": "字符串",

"isRequired": true,

"maxLength": 20

},

{

"fieldId": "Field_003",

"fieldName": "手机号",

"dataType": "字符串",

"isRequired": true,

"formatRequirement": "11位数字"

}

]

},

// 5. 规则实体:手机号校验规则

{

"@id": "Rule_001",

"@type": "entityType:RuleEntity",

"property:ruleId": "Rule_001",

"property:ruleName": "手机号校验规则",

"property:ruleDescription": "校验输入的手机号是否为11位数字",

"property:validationLogic": "^1[3-9]\\d{9}$",

"property:applicableScope": "Comp_002"

}

]

}

上述代码示例中,通过@type明确实体类别,property字段定义实体属性,relationship字段描述实体间关系,可直接用于低代码平台的知识图谱存储与可视化展示。开发人员可基于此结构,扩展更多实体(如剩余组件、流程实体等)的定义,实现完整知识图谱的搭建。

四、结论与未来展望

1. 全文总结

本文围绕低代码系统知识图谱构建的关键要素展开,首先明确了知识图谱在低代码系统中的核心价值 —— 通过结构化梳理实体与关系,解决系统复杂度提升带来的管理难题;接着系统划分了低代码系统中知识图谱的实体类别,提出了实体定义的通用标准,并详细阐述了包含、依赖、适配、触发、关联五种核心关系类型;最后以 “用户信息表单页面” 为案例,从实体属性确定、关系梳理、可视化描述到代码实现,提供了一套完整的知识图谱构建实践方案。

通过本文的梳理可知,低代码系统知识图谱的构建并非空中楼阁,而是以系统内实际存在的组件、页面、流程等元素为基础,通过明确的规则定义实体与关系,最终形成可落地、可复用的结构化知识体系。这一体系不仅能提升低代码平台的资产管理效率,还能为需求匹配、问题排查、流程优化等场景提供数据支撑。

2. 未来展望

随着低代码技术与知识图谱技术的不断发展,二者的融合将呈现更多新方向:

  • 智能化构建:未来可引入自然语言处理(NLP)和机器学习技术,实现低代码系统中实体与关系的自动识别与抽取。例如,通过解析需求文档自动生成知识图谱初稿,或基于用户的可视化操作记录,实时更新实体间的关联关系,大幅降低人工构建成本。
  • 跨平台知识融合:当前低代码知识图谱多局限于单一平台内部,未来可探索跨平台知识的融合与共享。例如,不同低代码平台间通过统一的实体与关系标准,实现组件、流程等资产的跨平台复用,形成行业级的低代码知识图谱生态。
  • 深度业务赋能:除了资产管理与问题排查,知识图谱还可深度融入低代码系统的业务场景。例如,基于知识图谱分析用户的业务需求与实体间的关联,自动推荐匹配的组件与流程模板,实现 “需求到应用” 的智能化生成;或在业务流程优化中,通过分析实体间的依赖关系,识别流程瓶颈并给出优化建议。

低代码系统与知识图谱的结合,正处于快速发展阶段。相信随着技术的不断成熟与实践的持续深入,这一融合将为低代码平台带来更强大的能力,推动企业数字化转型迈向更高效率、更高质量的新阶段。


作者:道一云低代码

作者想说:喜欢本文请点点关注~

更多资料分享

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐