Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 | Catégorie | Requise | Descriptif |
|---|---|---|---|
| G | ficelle | ✔️ | Source du graphique. |
| Genre | ficelle | 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 | ficelle | 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
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
| nom | famille |
|---|---|
| Alice | 0 |
| Pendiller | 0 |
| Carole | 0 |
| Dave | 0 |
| Greg | 0 |
| Howard | 0 |
| Veille | 1 |
| Franc | 1 |
| Mallory | 1 |
| Kirk | 1 |
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 = map(childOf, child), family = ancestor.family
| summarize (generations, name) = arg_max(array_length(lineage),name) by family
Sortie
| famille | Générations | nom |
|---|---|---|
| 1 | 2 | Mallory |
| 0 | 2 | Pendiller |