Compartilhar via


GQL (Linguagem de Consulta do Graph) (versão prévia)

Alterne os serviços usando a lista suspensa De versão . Saiba mais sobre navegação.
Aplica-se a: ✅ Microsoft Fabric ✅ Azure Data Explorer

A GQL (Linguagem de Consulta do Graph) permite que você use correspondência padronizada de padrões de grafo. A GQL segue o padrão ISO GQL para consultas de banco de dados de grafo.

Observação

O suporte à GQL está em versão prévia. Recursos e sintaxe podem ser alterados com base em comentários e desenvolvimento contínuo.

Introdução

A GQL (Linguagem de Consulta graph) é um padrão ISO emergente para consultar bancos de dados de grafo. A GQL permite que você use a sintaxe semelhante a SQL para correspondência de padrões de grafo, portanto, é mais fácil analisar relações em seus dados. Este artigo explica como usar a GQL, seus benefícios e os principais recursos.

A GQL fornece funcionalidades padronizadas de correspondência de padrões de grafo para analisar relações em seus dados usando a sintaxe padrão ISO.

Como começar

Para usar o GQL, você precisa:

  • Uma fonte de dados de grafo que é um modelo de grafo ou uma função que retorna um grafo transitório que termina com um operador make-graph (consulte a etapa 1).
  • Defina propriedades de solicitação de cliente específicas (consulte a etapa 2).

Etapa 1: Criar uma referência de grafo

Antes de usar o GQL, crie uma fonte de dados de grafo. Este artigo usa um operador make-graph na memória, mas é recomendável usar um instantâneo de grafo para cenários de produção.

.create-or-alter function G_doc() {
    let nodes = datatable(id:string, lbl:string, name:string, properties:dynamic)
    [
        "p1","Person","Alice",dynamic({"age": 25}),
        "p2","Person","Bob",dynamic({"age": 30}),
        "p3","Person","Carol",dynamic({"age": 28}),
        "p4","Person","David",dynamic({"age": 35}),
        "p5","Person","Emma",dynamic({"age": 26}),
        "c1","Company","TechCorp",,
        "c2","Company","DataSoft",,
        "c3","Company","CloudInc",,
        "ct1","City","Seattle",,
        "ct2","City","Portland",,
        "ct3","City","San Francisco",
    ];
    let edges = datatable(source:string, target:string, lbl:string, since:int)
    [
        "p1","c1","works_at",2020,
        "p2","c1","works_at",2022,
        "p3","c2","works_at",2023,
        "p4","c3","works_at",2021,
        "p5","c1","works_at",2024,
        "p1","ct1","located_at",2019,
        "p2","ct1","located_at",2021,
        "p3","ct2","located_at",2022,
        "p4","ct3","located_at",2020,
        "p5","ct2","located_at",2023,
        "c1","ct1","located_at",2015,
        "c2","ct2","located_at",2018,
        "c3","ct3","located_at",2017,
        "p1","p2","knows",2019,
        "p2","p3","knows",2021,
        "p3","p4","knows",2022,
        "p4","p5","knows",2023,
        "p1","p4","likes",2020,
        "p4","p1","likes",2020,
        "p5","p2","likes",2022
    ];
    edges
    | make-graph source --> target with nodes on id
}

Etapa 2: Configurar propriedades de solicitação do cliente

Para executar consultas GQL, defina três propriedades de solicitação de cliente. Defina essas propriedades por meio do SDK, da API ou diretamente no Kusto Explorer ou na interface do usuário da Web do Azure Data Explorer usando diretivas.

Para executar consultas GQL, defina três propriedades de solicitação de cliente. Defina essas propriedades por meio do SDK, da API ou diretamente no conjunto de consultas do Kusto Explorer ou KQL usando diretivas.

Definir propriedades de solicitação de cliente

Importante

Execute cada diretiva separadamente antes de executar sua consulta GQL. As diretivas configuram o ambiente de consulta para execução de GQL.

#crp query_language=gql
#crp query_graph_reference=G_doc()

Para usar rótulos no GQL, defina o nome da coluna de rótulo:

#crp query_graph_label_name=lbl

Dica

Os rótulos são opcionais no GQL, mas geralmente são usados para filtrar nós e bordas por tipo. Defina o nome da coluna de rótulo para usar rótulos em suas consultas GQL.

Definir propriedades de solicitação de cliente programaticamente

Para acesso programático, defina estas propriedades de solicitação de cliente:

  • query_language: definido como "gql".
  • query_graph_reference: defina como o nome da função de grafo (por exemplo, "G_doc()").
  • query_graph_label_name: defina como o nome da coluna do rótulo (por exemplo, "lbl").

Etapa 3: Executar consultas GQL

Depois de concluir a instalação, execute consultas GQL usando a sintaxe GQL padrão. Use os exemplos abaixo para explorar os recursos básicos e avançados da GQL.

Exemplos

Encontre exemplos básicos para correspondência de padrões e rótulos aqui. Para obter exemplos mais complexos, consulte padrões de consulta GQL, exemplos e cenários comuns. Para obter a documentação de referência, incluindo conceitos básicos e detalhes da função, consulte a referência da GQL (Linguagem de Consulta do Graph).

Exemplo de consulta GQL para correspondência básica de padrões

MATCH (n)-[e]->(n2)
RETURN COUNT(*) as CNT

Saída

A tabela a seguir mostra o resultado da consulta.

CNT
20

Exemplo de consulta GQL com rótulos

MATCH (p:Person)-[e]->(target)
RETURN p.name, target.name, e.lbl
ORDER BY p.name, target.name
LIMIT 2

Saída

A tabela a seguir mostra o resultado da consulta.

p.name target.name e.lbl
Alice Bob Sabe
Alice Davi Gosta