非纯脚本服务中,图查询类型中的完全匹配和可选匹配有什么区别?
什么是图查询类型
图查询是指在图数据库中执行的查询操作,用于从图形结构的数据集中检索信息。通过在非纯脚本服务中灵活配置图查询类型,然后对图数据库执行查询操作,从而获得完全匹配或部分匹配的返回结果。图查询类型包括完全匹配和可选匹配两种查询方式。
- 完全匹配:在所有模型路径均存在实例关联时,能高效检索完整路径,常用于实例关系与模型路径完全匹配的场景。
- 可选匹配:在部分模型路径不存在实例关联时,仍将返回已匹配的结果,适用于探索分析可能存在断点的模型路径。
完全匹配与可选匹配返回结果对比示例
例如,假设在学校选课系统中有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所示。