Opérateur graph-mark-components (préversion)
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
L’opérateur graph-mark-components
recherche tous les composants connectés d’un graphique et marque chaque nœud avec un identificateur de composant.
Syntaxe
G graph-mark-components
|
[kind
=
Kind] [with_component_id
=
ComponentId]
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
G | string | ✔️ | Source du graphique. |
Genre | string | Type de composant connecté, soit weak (par défaut) soit strong . Un composant faible est un ensemble de nœuds connectés par un chemin d’accès, ignorant la direction des arêtes. Un composant fort est un ensemble de nœuds connectés dans les deux sens, compte tenu des directions des arêtes. |
|
ComponentId | string | Nom de propriété qui désigne l’identificateur du composant. Le nom de la propriété par défaut est ComponentId . |
Retours
L’opérateur graph-mark-components
retourne un résultat de graphique , où chaque nœud a un identificateur de composant dans la propriété ComponentId . L’identificateur est un index consécutif de base zéro des composants. Chaque index de composant est choisi arbitrairement et peut ne pas être cohérent entre les exécutions.
Exemples
Trouver des familles par leurs relations
L’exemple suivant crée un graphique à partir d’un ensemble de paires enfants-parents et identifie les composants connectés à l’aide d’un family
identificateur.
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
Sortie
name | famille |
---|---|
Alice | 0 |
Bob | 0 |
Carol | 0 |
Dave | 0 |
Greg | 0 |
Howard | 0 |
Eve | 1 |
Franc | 1 |
Mallory | 1 |
Kirk | 1 |
Trouver un plus grand ancêtre commun pour chaque famille
L’exemple suivant utilise l’identificateur de composant family
connecté et l’opérateur graph-match
pour identifier le plus grand ancêtre de chaque famille dans un ensemble de données parentes enfants.
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 = childOf.child, family = ancestor.family
| summarize (generations, name) = argmax(array_length(lineage),name) by family
Sortie
famille | Générations | name |
---|---|---|
1 | 2 | Mallory |
0 | 2 | Bob |