Compartilhar via


função graph (versão prévia)

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Observação

Esse recurso está atualmente em versão prévia pública. A funcionalidade e a sintaxe estão sujeitas a alterações antes da Disponibilidade Geral.

A graph função é uma função intrínseca que permite a consulta de uma entidade de grafo persistente, semelhante às cluster()funções , database()e external_table()table() funções. Ele dá suporte à recuperação do instantâneo mais recente do grafo, um instantâneo específico ou à criação de um grafo transitório do modelo.

Permissões

Para executar essa função, o usuário precisa de permissões do visualizador de banco de dados.

Sintaxe

graph( GraphName)

graph( GraphName,SnapshotName)

graph( GraphName,snapshot=SnapshotName)

graph( GraphName,Transitório)

Parâmetros

Nome Tipo Obrigatório Descrição
GraphName string ✔️ O nome do modelo de grafo a ser consultado.
SnapshotName string O nome de um instantâneo específico a ser recuperado. Se não for especificado, o instantâneo mais recente será usado.
Transitório bool Se true, cria um grafo transitório do modelo (nenhum instantâneo é usado). Se false, usa o instantâneo mais recente (o mesmo que omitir esse parâmetro).

Devoluções

A graph função retorna um grafo e deve ser seguida por um operador de grafo. A função recupera o nome do modelo de grafo especificado, como:

  • O instantâneo mais recente (padrão ou quando false é especificado)
  • Um instantâneo nomeado específico
  • Um grafo transitório do modelo (quando true é especificado)

Exemplos

Consultar o instantâneo mais recente

O exemplo a seguir consulta o instantâneo mais recente de um grafo persistente chamado "SecurityGraph":

graph("SecurityGraph")
| graph-match (user)-[permission]->(resource)
  where user.type == "User" and resource.type == "Database"
  project UserName = user.name, ResourceName = resource.name, Permission = permission.type

Consultar um instantâneo específico

O exemplo a seguir consulta um instantâneo específico do grafo:

graph("SecurityGraph", "Snapshot_2025_05_01")
| graph-match (attacker)-[attacks]->(target)-[connects]->(system)
  where attacker.name == "MaliciousActor"
  project Attacker = attacker.name, Target = target.name, System = system.name

Consulta com sintaxe de parâmetro nomeada

O exemplo a seguir usa a sintaxe de parâmetro nomeada para especificar um instantâneo:

graph("SecurityGraph", snapshot="Snapshot_2025_05_01")
| graph-shortest-paths (start)-[e*1..20]->(end)
  where start.name == "Alice" and end.name == "Database"
  project PathLength = array_length(e), Path = e

Criar um grafo transitório a partir do modelo

O exemplo a seguir cria um grafo transitório do modelo, semelhante ao make-graph operador:

graph("SecurityGraph", true)
| graph-match (user)-[permission]->(resource)
  where user.type == "User" and resource.type == "Database"
  project UserName = user.name, ResourceName = resource.name, Permission = permission.type

Usar false para especificar o instantâneo mais recente

O exemplo a seguir especifica false explicitamente o uso do instantâneo mais recente, o que equivale a omitir o segundo parâmetro:

graph("SecurityGraph", false)
| graph-match (user)-[permission]->(resource)
  where user.type == "User" and resource.type == "Database"
  project UserName = user.name, ResourceName = resource.name, Permission = permission.type