工业数字模型驱动引擎-非纯脚本服务中,图查询类型中的完全匹配和可选匹配有什么区别?:完全匹配与可选匹配返回结果对比示例

时间:2025-04-21 10:51:49

完全匹配与可选匹配返回结果对比示例

例如,假设在学校选课系统中有Students(学生)、Course(课程)、Teachers(教师)和Classroom(教室)四种数据实体,同时这四种数据实体之间存在的关系实体有Elective(学生选修课程)、Teach(教师教授课程)和StudentsRelationshipClassroom(学生在某教室上课)。

并为以上数据实体和关系实体分别创建了如表1所示的 数据实例 ,且确保这些数据已入图,如图1所示。

表1 数据实例

实体

数据实例

实例信息

Students

Student001

ID:S001

名称:Alice

Student002

ID:S002

名称:Bob

Course

Course001

ID:C001

名称:Mathematics

Course002

ID:C002

名称:Physics

Teachers

Teacher001

ID:T001

名称:Mr. Smith

Teacher002

ID:T002

名称:Ms. Johnson

Classroom

Classroom001

ID:R101

Classroom002

ID:R102

Elective

Elective001

ID:S001_C001

源端关联属性:S001

目标端关联属性:C001

Elective001

ID:S001_C002

源端关联属性:S001

目标端关联属性:C002

Teach

Teach001

ID:T001_C001

源端关联属性:T001

目标端关联属性:C001

Teach002

ID:T002_C002

源端关联属性:T002

目标端关联属性:C002

图1 图数据库中的数据实例展示效果
根据上面提供的数据,设计并编排API来构建一个聚合服务,该服务旨在通过查询获取“指定学生所选修的课程,对应课程教学的老师,以及学生在哪个教室上课”这一完整模式的所有组合,从而实现完全匹配和可选匹配的查询效果。参考非纯脚本服务的创建指导,按照表2图2进行配置,并设置输入参数为Students的ID,输出参数包括Students的Name、Classroom的ID、Course的Name和Teachers的Name。
表2 聚合服务的基本信息

参数

说明

API英文名称

输入“ShowMatchs”

API中文名称

输入“ShowMatchs”

API英文描述

输入“ShowMatchs”

API中文描述

输入“对比图查询类型”

API责任人

输入当前登录账号,例如“User001”

数据源

选择图数据库类型的数据源。

初始数据实体

选择“Students”

图查询类型

选择“完全匹配”“可选匹配”

支持服务运行结果保存为数据集

选择“否”

图2 图结构示例

运行API时,以查询Student001为例,即将请求参数“Students_ID”设为“S001”,查询结果如下:

如果“图查询类型”被设为“完全匹配”,因为图实例中缺少Student001和Classroom001的关系,整个匹配将失败,查询不会返回相应结果,如图3所示。然而,如果图2中如果没有Classroom实体,“完全匹配”将会更高效地检索出Student001所选修的课程和对应课程教学的老师

图3 完全匹配返回结果示例

如果“图查询类型”被设为“可选匹配”,即使图实例中缺少Student001和Classroom001的关系,仍将返回已成功匹配的信息,如图4所示。

图4 可选匹配返回结果示例
support.huaweicloud.com/idme_faq/idme_faq_0081.html
提示

您即将访问非华为云网站,请注意账号财产安全