# 语义模型查询
"语义模型查询"节点用于检索数据。数据的组织形式为一个或多个实体；若在多个实体之间进行检索，则实体之间必须存在关系。
当前版本仅支持以下本体的数据组织形式：本体对象、本体关系。
#### 前提条件
已[构建工作流](https://support.huaweicloud.com/usermanual-dataartsplatform/dataartsplatform_02_0027.html)。
#### 配置语义模型查询节点
1. 在工作流编排画布中，单击"添加节点"按钮，从节点列表中选择"语义模型查询"，即可将该节点添加至当前工作流编排画布中。 
   图1语义模型查询节点   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002713245775.png "点击放大")
   
   
2. 单击"语义模型查询"节点，在弹出的节点详情页面中进行参数配置，参考[表1]。
   
   图2语义模型查询节点配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002713248941.png "点击放大")
    表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] ] } } ```                                   ||
      
   
   
3. 单击上方的"保存"。
 
