Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |