Todos os produtos
Search
Central de documentação

Intelligent Media Management:Consultar metadados de arquivos

Última atualização: Jun 27, 2026

Após criar um índice de metadados, consulte os metadados de um ou mais arquivos chamando as operações de API do Intelligent Media Management (IMM). Também é possível consultar metadados por campos, buscas aproximadas por palavras-chave ou buscas semânticas em linguagem natural. Este tópico descreve como consultar metadados de arquivos.

Pré-requisitos

Crie um índice de metadados para seus arquivos conforme o seu cenário de uso. Para mais informações, consulte Criar um índice de metadados.

Métodos de consulta

A tabela a seguir descreve os métodos disponíveis para consultar metadados de arquivos.

Método

Descrição

Consultar metadados de um único arquivo

Chame a operação GetFileMeta para obter os metadados de um arquivo específico.

Consultar metadados de vários arquivos

Use a operação BatchGetFileMeta para recuperar metadados de múltiplos arquivos simultaneamente.

Executar uma consulta simples

A operação SimpleQuery busca arquivos que atendem a condições especificadas e lista metadados por campo em uma ordem de classificação definida.

Também é possível usar aninhamento para consultas complexas e aplicar operações de agregação para gerar estatísticas e analisar valores de diferentes campos. Para ver a lista de campos e operadores suportados, consulte Campos e operadores suportados.

Realizar uma busca aproximada

Chame a operação FuzzyQuery para encontrar arquivos correspondentes a uma string específica e listar seus metadados.

O IMM pesquisa a string indicada nos campos de metadados extraídos, como nome do arquivo, rótulo, caminho ou rótulo personalizado. Se qualquer valor de campo de metadados corresponder à string, todos os metadados do arquivo serão retornados.

Executar uma busca por palavras-chave em linguagem natural

Use a operação SemanticQuery para consultar metadados em um dataset com base em palavras-chave de linguagem natural.

Esta operação suporta buscas semânticas baseadas nos campos Labels, ProduceTime e AddressLine. Por exemplo, para consultar metadados de arquivos semanticamente relacionados a 'céu sobre Hangzhou', especifique 'Query=sky over Hangzhou' como condição de consulta.

Consultar metadados de um único arquivo

Este exemplo consulta os metadados do arquivo oss://test-bucket/test-object.jpg no dataset test-dataset do projeto test-project.

  • Exemplo de solicitação

    {
        "ProjectName": "test-project",
        "URI": "oss://test-bucket/test-object.jpg",
        "DatasetName": "test-dataset"
    }
                            
  • Exemplo de resposta

    {
        "RequestId": "645FB6D9-5EA0-02C9-B253-****",
        "Files": [
            {
                "ProduceTime": "2020-08-19T17:11:11+08:00",
                "ObjectACL": "default",
                "ContentType": "image/jpeg",
                "ProjectName": "test-project",
                "Size": 22868,
                "URI": "oss://test-bucket/test-object.jpg",
                "Addresses": [
                    {
                        "Language": "zh-Hans",
                        "Township": "Tanggou Town",
                        "AddressLine": "Chenlongzhuang, Tanggou Town, Shuyang County, Suqian City, Jiangsu Province",
                        "Country": "China",
                        "City": "Suqian",
                        "District": "Shuyang",
                        "Province": "Jiangsu"
                    }
                ],
                "ObjectType": "file",
                "CustomLabels": {
                    "category": "Persons"
                },
                "OwnerId": "****",
                "FileModifiedTime": "2021-05-13T10:22:44+08:00",
                "ImageWidth": 270,
                "OSSStorageClass": "Standard",
                "MediaType": "image",
                "ObjectId": "****",
                "CreateTime": "2022-07-06T07:10:18.497753661+08:00",
                "Filename": "1.jpg",
                "Labels": [
                    {
                        "CentricScore": 0.921999990940094,
                        "Language": "zh-Hans",
                        "LabelConfidence": 1,
                        "LabelName": "Hairstyle",
                        "LabelLevel": 2,
                        "ParentLabelName": "Daily behavior"
                    },
                    ...
                ],
                "Orientation": 1,
                "Figures": [
                    {
                        "Beard": "none",
                        "MaskConfidence": 0.6959999799728394,
                        "Gender": "female",
                        "Boundary": {
                            "Left": 70,
                            "Top": 75,
                            "Height": 134,
                            "Width": 101
                        },
                        ...
                    }
                ],
                "EXIF": "...",
                "ContentMd5": "HZwoCnxPZ/fvhz4oRJ****",
                "ImageHeight": 270,
                "ImageScore": {
                    "OverallQualityScore": 0.6140000224113464
                },
                "ETag": "\"1D9C280A7C4F67F7EF873E28449D****\"",
                "DatasetName": "test-dataset",
                "FileHash": "\"1D9C280A7C4F67F7EF873E2****\"",
                "UpdateTime": "2022-07-06T07:10:18.497753661+08:00",
                "OSSCRC64": "5634447745650079669",
                "OSSTaggingCount": 0,
                "LatLong": "34.000000,119.000000",
                "OSSObjectType": "Normal"
            }
        ]
    }
  • Código de exemplo completo (IMM SDK for Python V1.27.3)

    # -*- coding: utf-8 -*-
    
    import os
    from alibabacloud_imm20200930.client import Client as imm20200930Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_imm20200930 import models as imm_20200930_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_util.client import Client as UtilClient
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client(
            access_key_id: str,
            access_key_secret: str,
        ) -> imm20200930Client:
            """
            Use your AccessKey ID and AccessKey secret to initialize the client. 
            @param access_key_id:
            @param access_key_id:
            @param access_key_secret:
            @return: Client
            @throws Exception
            """
            config = open_api_models.Config(
                access_key_id=access_key_id,
                access_key_secret=access_key_secret
            )
            # Specify the endpoint. 
            config.endpoint = f'imm.cn-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. 
            # For security reasons, we recommend that you do not embed your AccessKey pair in your project code. 
            # In this example, the AccessKey pair is obtained from the environment variables to implement identity verification for API access. For information about how to configure environment variables, visit https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables. 
            imm_access_key_id = os.getenv("AccessKeyId")
            imm_access_key_secret = os.getenv("AccessKeySecret")
            client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
            get_file_meta_request = imm_20200930_models.GetFileMetaRequest(
                project_name='test-project',
                dataset_name='test-dataset',
                uri='oss://test-bucket/test-object.jpg'
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Print the response of the API operation. 
                response = client.get_file_meta_with_options(get_file_meta_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Print the error message if necessary. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    if __name__ == '__main__':
        Sample.main()

Consultar metadados de vários arquivos

Este exemplo consulta os metadados dos arquivos oss://test-bucket/test-object1.jpg e oss://test-bucket/test-object2.jpg no dataset test-dataset do projeto test-project.

  • Exemplo de solicitação

    {
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "URIs": "[\"oss://test-bucket/test-object.jpg\", \"oss://test-bucket/test-object2.jpg\"]"
    }
  • Exemplo de resposta (consulte o exemplo de resposta na seção Consultar metadados de um único arquivo)

  • Código de exemplo completo (IMM SDK for Python V1.27.3)

    # -*- coding: utf-8 -*-
    
    import os
    from alibabacloud_imm20200930.client import Client as imm20200930Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_imm20200930 import models as imm_20200930_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_util.client import Client as UtilClient
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client(
            access_key_id: str,
            access_key_secret: str,
        ) -> imm20200930Client:
            """
            Use your AccessKey ID and AccessKey secret to initialize the client. 
            @param access_key_id:
            @param access_key_secret:
            @return: Client
            @throws Exception
            """
            config = open_api_models.Config(
                access_key_id=access_key_id,
                access_key_secret=access_key_secret
            )
            # Specify the endpoint. 
            config.endpoint = f'imm.cn-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. 
            # For security reasons, we recommend that you do not embed your AccessKey pair in your project code. 
            # In this example, the AccessKey pair is obtained from the environment variables to implement identity verification for API access. For information about how to configure environment variables, visit https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables. 
            imm_access_key_id = os.getenv("AccessKeyId")
            imm_access_key_secret = os.getenv("AccessKeySecret")
            client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
            batch_get_file_meta_request = imm_20200930_models.BatchGetFileMetaRequest(
                project_name='test-project',
                dataset_name='test-dataset',
                uris=[
                    'oss://test-bucket/test-object1.jpg',
                    'oss://test-bucket/test-object2.jpg'
                ]
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Print the response of the API operation. 
                response = client.batch_get_file_meta_with_options(batch_get_file_meta_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Print the error message if necessary. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    if __name__ == '__main__':
        Sample.main()

Executar uma consulta simples

Exemplo 1

Condições da consulta:

  • Nome do projeto: test-project

  • Nome do dataset: test-dataset

  • Tipo de arquivo: imagem

  • Ordenação dos resultados: ordem crescente por tamanho de arquivo

  • Número máximo de resultados retornados: 100

Veja o exemplo a seguir:

  • Exemplo de solicitação

    {
        "Query": "{\"Field\": \"ContentType\", \"Operation\": \"prefix\", \"Value\": \"image\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset"
        "Sort": "Size",
        "Order": "asc",
        "MaxResults": 100
    }
  • Exemplo de resposta (consulte o exemplo de resposta na seção Consultar metadados de um único arquivo)

  • Código de exemplo completo (IMM SDK for Python V1.27.3)

    # -*- coding: utf-8 -*-
    
    import os
    from alibabacloud_imm20200930.client import Client as imm20200930Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_imm20200930 import models as imm_20200930_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_util.client import Client as UtilClient
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client(
            access_key_id: str,
            access_key_secret: str,
        ) -> imm20200930Client:
            """
            Use your AccessKey ID and AccessKey secret to initialize the client. 
            @param access_key_id:
            @param access_key_secret:
            @return: Client
            @throws Exception
            """
            config = open_api_models.Config(
                access_key_id=access_key_id,
                access_key_secret=access_key_secret
            )
            config.endpoint = f'imm.cn-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. 
            # For security reasons, we recommend that you do not embed your AccessKey pair in your project code. 
            # In this example, the AccessKey pair is obtained from the environment variables to implement identity verification for API access. For information about how to configure environment variables, visit https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables. 
            imm_access_key_id = os.getenv("AccessKeyId")
            imm_access_key_secret = os.getenv("AccessKeySecret")
            client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
            request = imm_20200930_models.SimpleQueryRequest()
            params = {
                # Specify the query conditions 
                "Query": {"SubQueries": [{"Field": "ContentType", "Operation": "eq", "Value": "image/jpeg"}, {"Field": "Size", "Operation": "gt", "Value": "10485760"}, {"Field": "CustomLabels.category", "Operation": "eq", "Value": "Persons"}], "Operation": "and"},
                # Specify the name of the IMM project.
                "ProjectName": "test-project",
                # Specify the name of the dataset.
                "DatasetName": "test-dataset",
                # Specify the sorting field. 
                "Sort": "Size",
                # Specify the sorting order. 
                "Order": "asc",
                # Set the maximum number of query results to 100. 
                "MaxResults": 100
            }
            request.from_map(params)
            runtime = util_models.RuntimeOptions()
            try:
                # Print the response of the API operation. 
                response = client.simple_query_with_options(request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Print the error message if necessary. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    if __name__ == '__main__':
        Sample.main()

Exemplo 2

Condições da consulta:

  • Nome do projeto: test-project

  • Nome do dataset: test-dataset

  • Tipo de arquivo: imagem

  • Tamanho do arquivo: maior que 10 MB

  • Rótulos personalizados (CustomLabels.category): Persons

  • Ordenação dos resultados: ordem crescente por tamanho de arquivo

  • Número máximo de resultados retornados: 100

Veja o exemplo a seguir:

  • Exemplo de solicitação

    {
        "Query": "{\"SubQueries\": [{\"Field\": \"ContentType\", \"Operation\": \"prefix\", \"Value\": \"image\"}, {\"Field\": \"Size\", \"Operation\": \"gt\", \"Value\": \"10485760\"}, {\"Field\": \"CustomLabels.category\", \"Operation\": \"eq\", \"Value\": \"Persons\"}], \"Operation\": \"and\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Sort": "Size",
        "Order": "asc",
        "MaxResults": 100
    }                       
  • Exemplo de resposta (consulte o exemplo de resposta na seção Consultar metadados de um único arquivo)

Exemplo 3

Condições da consulta:

  • Nome do projeto: test-project

  • Nome do dataset: test-dataset

  • Caminho do arquivo: oss://test-bucket/

  • Tamanho do arquivo: maior que 10 MB

  • Rótulos (Labels.LabelName): "TV" ou "Stereo"

  • Ordenação dos resultados: ordem crescente por tamanho de arquivo

  • Número máximo de resultados retornados: 100

Veja o exemplo a seguir:

  • Exemplo de solicitação

    {
        "Query": "{\"SubQueries\":[{\"Field\":\"URI\",\"Value\":\"oss://test-bucket/\",\"Operation\":\"prefix\"},{\"Field\":\"Size\",\"Value\":\"10485760\",\"Operation\":\"gt\"},{\"SubQueries\":[{\"Field\":\"Labels.LabelName\",\"Value\":\"TV\",\"Operation\":\"eq\"},{\"Field\":\"Labels.LabelName\",\"Value\":\"Stereo\",\"Operation\":\"eq\"}],\"Operation\":\"or\"}],\"Operation\":\"and\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Sort": "Size",
        "Order": "asc",
        "MaxResults": 100
    }
  • Exemplo de resposta (consulte o exemplo de resposta na seção Consultar metadados de um único arquivo)

Exemplo 4

Condições da consulta:

  • Nome do projeto: test-project

  • Nome do dataset: test-dataset

  • Tipo de arquivo: imagem

  • Tamanho do arquivo: maior que 10 MB

  • Rótulos personalizados (CustomLabels.category): Persons

  • Resultado retornado: tamanho total dos arquivos correspondentes

Veja o exemplo a seguir:

  • Exemplo de solicitação

    {
        "Query": "{\"SubQueries\": [{\"Field\": \"ContentType\", \"Operation\": \"eq\", \"Value\": \"image/jpeg\"}, {\"Field\": \"Size\", \"Operation\": \"gt\", \"Value\": \"10485760\"}, {\"Field\": \"CustomLabels.category\", \"Operation\": \"eq\", \"Value\": \"Persons\"}], \"Operation\": \"and\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Aggregations": "[{\"Field\":\"Size\",\"Operation\":\"sum\"}]"
    }
  • Exemplo de resposta

    {
        "RequestId": "0FB9BA35-E16B-0DFE-BD52-****",
        "Aggregations": [
            {
                "Field": "Size",
                "Value": 10485760,
                "Operation": "sum"
            }
        ]
    }

Exemplo 5

Condições da consulta:

  • Nome do projeto: test-project

  • Nome do dataset: test-dataset

  • Tamanho do arquivo: maior que 10 MB

  • Rostos (Figures.Age e Figures.Gender): idade e gênero

  • Ordenação dos resultados: ordem crescente por tamanho de arquivo

  • Número máximo de resultados retornados: 100

Veja o exemplo a seguir:

  • Exemplo de solicitação

    {
        "Query": "{\"Operation\":\"not\",\"SubQueries\":[{\"Operation\":\"nested\",\"SubQueries\":[{\"Operation\":\"and\",\"SubQueries\":[{\"Field\":\"Figures.Age\",\"Operation\":\"gt\",\"Value\":\"36\"},{\"Field\":\"Figures.Gender\",\"Operation\":\"eq\",\"Value\":\"male\"},{\"Field\":\"Size\",\"Operation\":\"gt\",\"Value\":\"10485760\"}]}]}]}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Sort": "Size",
        "Order": "asc",
        "MaxResults": 100
    }
  • Exemplo de resposta (consulte o exemplo de resposta na seção Consultar metadados de um único arquivo)

Exemplo 6

Condições da consulta:

  • Nome do projeto: test-project

  • Nome do dataset: test-dataset

  • Tipo de arquivo: imagem

  • Tamanho do arquivo: maior que 10 MB

  • Rótulos personalizados (CustomLabels.category): existência

  • Resultado retornado: tamanho total dos arquivos correspondentes

Veja o exemplo a seguir:

  • Exemplo de solicitação

    {
        "Query": "{\"SubQueries\": [{\"Field\": \"ContentType\", \"Operation\": \"eq\", \"Value\": \"image/jpeg\"}, {\"Field\": \"Size\", \"Operation\": \"gt\", \"Value\": \"10485760\"}, {\"Field\": \"CustomLabels.category\", \"Operation\": \"exist\"}], \"Operation\": \"and\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Aggregations": "[{\"Field\":\"Size\",\"Operation\":\"sum\"}]"
    }
  • Exemplo de resposta

    {
        "RequestId": "0FB9BA35-E16B-0DFE-BD52-****",
        "Aggregations": [
            {
                "Field": "Size",
                "Value": 10485760,
                "Operation": "sum"
            }
        ]
    }

Realizar uma busca aproximada

Este exemplo busca arquivos correspondentes à string jpg no dataset test-dataset do projeto test-project.

  • Exemplo de solicitação

    {
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Query": "jpg"
    }
  • Exemplo de resposta (consulte o exemplo de resposta na seção Consultar metadados de um único arquivo)

  • Código de exemplo completo (IMM SDK for Python V1.27.3)

    # -*- coding: utf-8 -*-
    
    import os
    from alibabacloud_imm20200930.client import Client as imm20200930Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_imm20200930 import models as imm_20200930_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_util.client import Client as UtilClient
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client(
            access_key_id: str,
            access_key_secret: str,
        ) -> imm20200930Client:
            """
            Use your AccessKey ID and AccessKey secret to initialize the client. 
            @param access_key_id:
            @param access_key_secret:
            @return: Client
            @throws Exception
            """
            config = open_api_models.Config(
                access_key_id=access_key_id,
                access_key_secret=access_key_secret
            )
            config.endpoint = f'imm.cn-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. 
            # For security reasons, we recommend that you do not embed your AccessKey pair in your project code. 
            # In this example, the AccessKey pair is obtained from the environment variables to implement identity verification for API access. For information about how to configure environment variables, visit https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables. 
            imm_access_key_id = os.getenv("AccessKeyId")
            imm_access_key_secret = os.getenv("AccessKeySecret")
            client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
            fuzzy_query_request = imm_20200930_models.FuzzyQueryRequest(
                # Specify the name of the IMM project. 
                project_name='test-project',
                # Specify the name of the dataset. 
                dataset_name='test-dataset',
                # Specify the keyword. 
                query='jpg'
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Print the response of the API operation. 
                response = client.fuzzy_query_with_options(fuzzy_query_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Print the error message if necessary. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    if __name__ == '__main__':
        Sample.main()

Executar uma busca por palavras-chave em linguagem natural

Este exemplo busca arquivos relacionados a pandas em Chengdu em julho de 2020 no dataset test-dataset do projeto test-project.

  • Exemplo de solicitação

    {
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Query": "Pandas in Chengdu in July 2020"
        "MaxResults": 100
    }
  • Exemplo de resposta (consulte o exemplo de resposta na seção Consultar metadados de um único arquivo)

  • Código de exemplo completo (IMM SDK for Python V1.27.3)

    # -*- coding: utf-8 -*-
    
    import os
    from alibabacloud_imm20200930.client import Client as imm20200930Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_imm20200930 import models as imm_20200930_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_util.client import Client as UtilClient
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client(
            access_key_id: str,
            access_key_secret: str,
        ) -> imm20200930Client:
            """
            Use your AccessKey ID and AccessKey secret to initialize the client. 
            @param access_key_id:
            @param access_key_secret:
            @return: Client
            @throws Exception
            """
            config = open_api_models.Config(
                access_key_id=access_key_id,
                access_key_secret=access_key_secret
            )
            config.endpoint = f'imm.cn-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. 
            # For security reasons, we recommend that you do not embed your AccessKey pair in your project code. 
            # In this example, the AccessKey pair is obtained from the environment variables to implement identity verification for API access. For information about how to configure environment variables, visit https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables. 
            imm_access_key_id = os.getenv("AccessKeyId")
            imm_access_key_secret = os.getenv("AccessKeySecret")
            client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
            semantic_query_request = imm_20200930_models.SemanticQueryRequest(
                query='Pandas in Chengdu in July 2020',
                project_name='test-project',
                dataset_name='test-dataset',
                max_results=100
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Print the response of the API operation. 
                response = client.semantic_query_with_options(semantic_query_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Print the error message if necessary. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    if __name__ == '__main__':
        Sample.main()