Freigeben über


Graph-mark-components-Operator (Vorschau)

Gilt für: ✅Microsoft Fabric

Der graph-mark-components Operator findet alle verbundenen Komponenten eines Diagramms und kennzeichnet jeden Knoten mit einem Komponentenbezeichner.

Hinweis

Dieser Operator wird mit dem Make-Graph-Operator verwendet.

Syntax

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

Parameter

Name Typ Erforderlich Beschreibung
G Zeichenfolge ✔️ Die Diagrammquelle.
Variante Zeichenfolge Die Art der verbundenen Komponente , entweder weak (Standard) oder strong. Eine schwache Komponente ist eine Reihe von Knoten, die durch einen Pfad verbunden sind, wobei die Richtung der Kanten ignoriert wird. Eine starke Komponente ist eine Reihe von Knoten, die in beide Richtungen verbunden sind, unter Berücksichtigung der Richtungen der Kanten.
ComponentId Zeichenfolge Der Eigenschaftsname, der den Komponentenbezeichner angibt. Der Standardeigenschaftsname lautet ComponentId.

Gibt zurück

Der graph-mark-components Operator gibt ein Diagrammergebnis zurück, wobei jeder Knoten einen Komponentenbezeichner in der ComponentId-Eigenschaft aufweist. Der Bezeichner ist ein nullbasierter aufeinanderfolgender Index der Komponenten. Jeder Komponentenindex wird willkürlich ausgewählt und ist möglicherweise nicht einheitlich.

Beispiele

Im folgenden Beispiel wird ein Diagramm aus einer Reihe von untergeordneten übergeordneten Paaren erstellt und verbundene Komponenten mithilfe eines family Bezeichners identifiziert.

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

Ausgabe

Name Familie
Alina 0
Bubikopf 0
Helga 0
David 0
Greg 0
Howard 0
Abend 1
Freimütig 1
Mallory 1
Kirche 1

Im folgenden Beispiel wird der Bezeichner der verbundenen Komponente family und der graph-match Operator verwendet, um den größten Vorgänger jeder Familie in einer Reihe von untergeordneten Daten zu identifizieren.

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

Ausgabe

Familie Generationen Name
1 2 Mallory
0 2 Bubikopf