Compartilhar via


operador graph-mark-components (versão prévia)

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

O graph-mark-components operador localiza todos os componentes conectados de um gráfico e marca cada nó com um identificador de componente.

Observação

Esse operador é usado com o operador make-graph.

Sintaxe

G|graph-mark-components [ kind= Tipo] [ with_component_id=ComponentId]

Parâmetros

Nome Digitar Obrigatória Descrição
G corda ✔️ A fonte do gráfico.
tipo corda O tipo de componente conectado, weak (padrão) ou strong. Um componente fraco é um conjunto de nós conectados por um caminho, ignorando a direção das bordas. Um componente forte é um conjunto de nós conectados em ambas as direções, considerando as direções das bordas.
ComponentId corda O nome da propriedade que indica o identificador do componente. O nome da propriedade padrão é ComponentId.

Devoluções

O graph-mark-components operador retorna um resultado de gráfico , em que cada nó tem um identificador de componente na propriedade ComponentId . O identificador é um índice consecutivo baseado em zero dos componentes. Cada índice de componente é escolhido arbitrariamente e pode não ser consistente entre as execuções.

Exemplos

O exemplo a seguir cria um gráfico a partir de um conjunto de pares filho-pai e identifica os componentes conectados usando um family identificador.

let ChildOf = datatable(child:string, parent:string) 
[ 
  "Alice", "Bob",  
  "Carol", "Alice",  
  "Carol", "Dave",  
  "Greg", "Alice",  
  "Greg", "Dave",  
  "Howard", "Alice",  
  "Howard", "Dave",  
  "Eve", "Frank",  
  "Frank", "Mallory",
  "Eve", "Kirk",
]; 
ChildOf 
| make-graph child --> parent with_node_id=name
| graph-mark-components with_component_id = family
| graph-to-table nodes

Saída

nome família
Alice 0
Bob 0
Carol 0
Dave 0
Greg 0
Howard 0
Ev 1
Franco 1
Mallory 1
Kirk 1

O exemplo a seguir usa o identificador de componente family conectado e o graph-match operador para identificar o maior ancestral de cada família em um conjunto de dados filho-pai.

let ChildOf = datatable(child:string, parent:string) 
[ 
  "Alice", "Bob",  
  "Carol", "Alice",  
  "Carol", "Dave",  
  "Greg", "Alice",  
  "Greg", "Dave",  
  "Howard", "Alice",  
  "Howard", "Dave",  
  "Eve", "Frank",  
  "Frank", "Mallory",
  "Eve", "Kirk",
]; 
ChildOf 
| make-graph child --> parent with_node_id=name
| graph-mark-components with_component_id = family
| graph-match (descendant)-[childOf*1..5]->(ancestor)
  project name = ancestor.name, lineage = map(childOf, child), family = ancestor.family
| summarize (generations, name) = arg_max(array_length(lineage),name) by family

Saída

família Gerações nome
1 2 Mallory
0 2 Bob