非纯脚本服务中,图查询类型中的完全匹配和可选匹配有什么区别?
什么是图查询类型
图查询是指在图数据库中执行的查询操作,用于从图形结构的数据集中检索信息。通过在非纯脚本服务中灵活配置图查询类型,然后对图数据库执行查询操作,从而获得完全匹配或部分匹配的返回结果。图查询类型包括完全匹配和可选匹配两种查询方式。
- 完全匹配:在所有模型路径均存在实例关联时,能高效检索完整路径,常用于实例关系与模型路径完全匹配的场景。
- 可选匹配:在部分模型路径不存在实例关联时,仍将返回已匹配的结果,适用于探索分析可能存在断点的模型路径。
完全匹配与可选匹配返回结果对比示例
例如,假设在学校选课系统中有Students(学生)、Course(课程)、Teachers(教师)和Classroom(教室)四种数据实体,同时这四种数据实体之间存在的关系实体有Elective(学生选修课程)、Teach(教师教授课程)和StudentsRelationshipClassroom(学生在某教室上课)。
并为以上数据实体和关系实体分别创建了如表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 |
运行API时,以查询Student001为例,即将请求参数“Students_ID”设为“S001”,查询结果如下:
如果“图查询类型”被设为“完全匹配”,因为图实例中缺少Student001和Classroom001的关系,整个匹配将失败,查询不会返回相应结果,如图3所示。然而,如果图2中如果没有Classroom实体,“完全匹配”将会更高效地检索出Student001所选修的课程和对应课程教学的老师。
如果“图查询类型”被设为“可选匹配”,即使图实例中缺少Student001和Classroom001的关系,仍将返回已成功匹配的信息,如图4所示。





