Compartir a través de


Operador graph-to-table

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

El graph-to-table operador exporta nodos o bordes de un grafo a tablas.

Sintaxis

Nodos

G|graph-to-tablenodes [ with_node_id=ColumnName ]

Transiciones

G|edgesgraph-to-table [ with_source_id=ColumnName ] [ with_target_id=ColumnName ] [ asTableName ]

Nodos y bordes

G|graph-to-tablenodesasNodesTableName [ with_node_id=ColumnName ],edgesasEdgesTableName [ with_source_id=ColumnName ] [ with_target_id=ColumnName ]

Parámetros

Nombre Tipo Obligatorio Descripción
G string ✔️ Origen del gráfico de entrada.
NodesTableName string Nombre de la tabla de nodos exportados.
EdgesTableName string Nombre de la tabla de bordes exportados.
columnName string Exporte el identificador hash del nodo, el identificador hash del nodo de origen o el identificador hash de nodo de destino con el nombre de columna especificado.

Devoluciones

Nodos

El graph-to-table operador devuelve un resultado tabular, en el que cada fila corresponde a un nodo del gráfico de origen. Las columnas devueltas son las propiedades del nodo. Cuando with_node_id se proporciona, la columna hash del nodo es de long tipo .

Transiciones

El graph-to-table operador devuelve un resultado tabular, en el que cada fila corresponde a un borde del gráfico de origen. Las columnas devueltas son las propiedades del nodo. Cuando with_source_id se proporcionan o with_target_id , la columna hash del nodo es de long tipo .

Nodos y bordes

El graph-to-table operador devuelve dos resultados tabulares, que coinciden con las descripciones anteriores.

Ejemplos

En el ejemplo siguiente se denonstrata cómo el graph-to-table operador exporta los bordes de un grafo a una tabla. Los with_source_id parámetros y with_target_id exportan el hash de nodo para los nodos de origen y de destino de cada borde.

let nodes = datatable(name:string, type:string, age:long) 
[ 
	"Alice", "Person", 23,  
	"Bob", "Person", 31,  
	"Eve", "Person", 17,  
	"Mallory", "Person", 29,  
	"Trent", "System", 99 
]; 
let edges = datatable(source:string, destination:string, edge_type:string) 
[ 
	"Alice", "Bob", "communicatesWith",  
	"Alice", "Trent", "trusts",  
	"Bob", "Trent", "hasPermission",  
	"Eve", "Alice", "attacks",  
	"Mallory", "Alice", "attacks",  
	"Mallory", "Bob", "attacks"  
]; 
edges 
| make-graph source --> destination with nodes on name
| graph-to-table edges with_source_id=SourceId with_target_id=TargetId

Salida

SourceId TargetId fuente destino edge_type
-3122868243544336885 -7133945255344544237 Alice Bob communicatesWith
-3122868243544336885 2533909231875758225 Alice Trent Confía
-7133945255344544237 2533909231875758225 Bob Trent hasPermission
4363395278938690453 -3122868243544336885 Víspera Alice Ataques
3855580634910899594 -3122868243544336885 Mallory Alice Ataques
3855580634910899594 -7133945255344544237 Mallory Bob Ataques

Obtención de nodos

En el ejemplo siguiente se muestra cómo el graph-to-table operador exporta los nodos de un grafo a una tabla. El with_node_id parámetro exporta el hash del nodo.

let nodes = datatable(name:string, type:string, age:long) 
[ 
	"Alice", "Person", 23,  
	"Bob", "Person", 31,  
	"Eve", "Person", 17,
	"Trent", "System", 99
]; 
let edges = datatable(source:string, destination:string, edge_type:string) 
[ 
	"Alice", "Bob", "communicatesWith",  
	"Alice", "Trent", "trusts",  
	"Bob", "Trent", "hasPermission",  
	"Eve", "Alice", "attacks",  
	"Mallory", "Alice", "attacks",  
	"Mallory", "Bob", "attacks"
]; 
edges 
| make-graph source --> destination with nodes on name
| graph-to-table nodes with_node_id=NodeId

Salida

Identificador de nodo nombre tipo edad
-3122868243544336885 Alice Persona 23
-7133945255344544237 Bob Persona 31
4363395278938690453 Víspera Persona 17
2533909231875758225 Trent Sistema 99
3855580634910899594 Mallory

En el ejemplo siguiente se usa el graph-to-table operador para exportar los nodos y bordes de un grafo a una tabla.

let nodes = datatable(name:string, type:string, age:long) 
[ 
	"Alice", "Person", 23,  
	"Bob", "Person", 31,  
	"Eve", "Person", 17,
	"Trent", "System", 99
]; 
let edges = datatable(source:string, destination:string, edge_type:string) 
[ 
	"Alice", "Bob", "communicatesWith",  
	"Alice", "Trent", "trusts",  
	"Bob", "Trent", "hasPermission",  
	"Eve", "Alice", "attacks",  
	"Mallory", "Alice", "attacks",  
	"Mallory", "Bob", "attacks"
]; 
edges 
| make-graph source --> destination with nodes on name
| graph-to-table nodes as N with_node_id=NodeId, edges as E with_source_id=SourceId;
N; 
E

Tabla de salida 1

Identificador de nodo nombre tipo edad
-3122868243544336885 Alice Persona 23
-7133945255344544237 Bob Persona 31
4363395278938690453 Víspera Persona 17
2533909231875758225 Trent Sistema 99
3855580634910899594 Mallory

Tabla de salida 2

SourceId fuente destino edge_type
-3122868243544336885 Alice Bob communicatesWith
-3122868243544336885 Alice Trent Confía
-7133945255344544237 Bob Trent hasPermission
4363395278938690453 Víspera Alice Ataques
3855580634910899594 Mallory Alice Ataques
3855580634910899594 Mallory Bob Ataques