语义模型查询
“语义模型查询”节点用于检索数据。数据的组织形式为一个或多个实体;若在多个实体之间进行检索,则实体之间必须存在关系。
当前版本仅支持以下本体的数据组织形式:本体对象、本体关系。
前提条件
已构建工作流。
配置语义模型查询节点
- 在工作流编排画布中,单击“添加节点”按钮,从节点列表中选择“语义模型查询”,即可将该节点添加至当前工作流编排画布中。 图1 语义模型查询节点
- 单击“语义模型查询”节点,在弹出的节点详情页面中进行参数配置,参考表1。 图2 语义模型查询节点配置
表1 语义模型查询节点配置 参数名称
参数说明
示例
语义模型查询
问答场景
“语义模型查询”节点的数据来源由问答场景限定。当前版本仅支持数据来源为本体,且查询范围限定为本体一个群组内的对象。
查询类型
“语义模型查询”节点支持以下两种查询类型:“指标查询”和“数据查询”。
由于两种查询方式在字段选择和过滤条件配置上有所不同,下文将分别说明。
- 指标查询:需指定指标和维度。指标与维度不能同时为空,至少需配置其中一项。节点运行时,会自动识别指标与维度之间的关系并执行查询。
用户可指定一个或多个指标。
- 数据查询:需指定要查询的字段。对于可聚合字段,还可指定聚合函数。字段不能为空。节点运行时,会自动识别字段之间的关系并执行查询。
用户可指定一个或多个用于展示指标的维度。
-
过滤条件
查询类型【指标】
查询类型选择“指标”。
用户可为维度添加过滤条件。仅当维度满足过滤条件时,与该维度关联的原始数据才会参与指标计算。
过滤条件由值运算和逻辑运算组合构成:
- 值运算:用于将维度与指定值进行比较。
- 逻辑运算:支持“且”与“或”两种逻辑关系。用户可将一个或多个逻辑运算与值运算进行嵌套组合,以构造复杂的过滤条件。
说明:所有可选择的维度均可作为过滤对象,不仅限于已指定的展示维度。可类比SQL中的SELECT * FROM table WHERE ... 语法,查询字段与过滤字段可以不同。
-
聚合过滤条件
查询类型【指标】
查询类型选择“指标”。
用户可为指标的计算结果添加过滤条件。仅当指标的计算结果满足过滤条件时,最终数据才会返回给用户。
过滤条件由值运算和逻辑运算组合构成:
- 值运算:用于将指标计算结果与指定值进行比较。
- 逻辑运算:支持“且”与“或”两种逻辑关系。用户可将一个或多个逻辑运算与值运算进行嵌套组合,以构造复杂的过滤条件。
说明:仅已选择的指标可作为聚合过滤条件。可类比SQL中的SELECT * FROM table GROUP BY ... HAVING ... 语法,维度作为分组字段,指标作为结果数据,HAVING子句中的条件仅使用指标计算结果作为过滤条件。
-
属性
查询类型【数据】
属性分为数值属性和非数值属性两类。其中,数值属性可指定聚合函数。用户需选择一个或多个属性,属性不能为空。
配置逻辑如下:
- 类似于维度,非数值属性和未指定聚合函数的数值属性将作为分组字段;
- 类似于指标,指定了聚合函数的数值属性将作为计算字段。
-
过滤条件
查询类型【数据】
查询类型选择“数据”。
用户可为原始数据的属性添加过滤条件。仅当原始数据的属性满足过滤条件时,该原始数据才会参与计算。
过滤条件由值运算和逻辑运算组合构成:
- 值运算:用于将属性与指定值进行比较。
- 逻辑运算:支持“且”与“或”两种逻辑关系。用户可将一个或多个逻辑运算与值运算进行嵌套组合,以构造复杂的过滤条件。
说明:所有可选择的属性均可作为过滤对象,不仅限于已指定的查询属性。可类比SQL中的 SELECT * FROM table WHERE ... 语法,查询字段与过滤字段可以不同,且过滤字段为原始字段。
-
聚合过滤条件
查询类型【数据】
用户可为聚合属性的计算结果添加过滤条件。仅当计算结果满足过滤条件时,最终数据才会返回给用户。
过滤条件由值运算和逻辑运算组合构成:
- 值运算:用于将聚合属性的计算结果与指定值进行比较。
- 逻辑运算:支持“且”与“或”两种逻辑关系。用户可将一个或多个逻辑运算与值运算进行嵌套组合,以构造复杂的过滤条件。
说明:仅已选择的聚合字段可作为聚合过滤条件。可类比SQL中的 SELECT * FROM table GROUP BY ... HAVING ... 语法,非聚合字段作为分组字段,聚合字段作为结果数据,HAVING子句中的条件仅使用聚合字段的计算结果作为过滤条件。
-
排序
用户可选择已指定的指标或维度作为排序字段,并指定排序方向(升序或降序)。排序字段支持指定多个。
“订单数量”,“升序”
分页
用户可指定分页条数(每页返回的数据条数)和页码,以查询具体某一页的数据。
输入值必须在1到1000之间。
分页条数:50
查询分页:20
输出
- record_count:返回结果的总条数。
- cell_data:返回的查询结果数据,格式类似于表格。
示例
{ "cell_data": { "headers": [ { "id": "da913db0-61a9-48c8-ac28-f565a6955a9a", "caption": "wwb_sale_external_source/region", "name": "region", "data_type": "VARCHAR", "level_type": null, "model_type": null, "format": null }, { "id": "23830d80-f69c-4bf2-8b79-a203b0eaec3b.SUM", "caption": "SUM(wwb_sale_external_source/quantity)", "name": "23830d80-f69c-4bf2-8b79-a203b0eaec3b.SUM", "data_type": "NUMBER", "level_type": null, "model_type": "METRIC", "format": null }, { "id": "4640b81d-8f7f-43c1-ad54-f20dbdd2ad68.SUM", "caption": "SUM(wwb_sale_external_source/sales_amount)", "name": "4640b81d-8f7f-43c1-ad54-f20dbdd2ad68.SUM", "data_type": "NUMBER", "level_type": null, "model_type": "METRIC", "format": null } ], "cell_values": [ ["华东", "4", 10200], ["华北", "4", 8400], ["华南", "4", 8200] ], "cell_raw_values": [ ["华东", 4, 10200], ["华北", 4, 8400], ["华南", 4, 8200] ] } } - 指标查询:需指定指标和维度。指标与维度不能同时为空,至少需配置其中一项。节点运行时,会自动识别指标与维度之间的关系并执行查询。
- 单击上方的“保存”。