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.
S’applique à : ✅Microsoft Fabric✅
La inner_nodes() fonction de graphe permet d’accéder aux nœuds internes d’un bord de longueur variable. Il ne peut être utilisé que comme premier paramètre des fonctions de graphe all(),any() et map().
Remarque
Cette fonction est utilisée avec l’opérateur de correspondance de graphique, l’opérateur graph-shortest-paths, la fonction de graphique all(), la fonction graphique any() et la fonction de graphique map().
Syntaxe
inner_nodes(
bord)
Paramètres
| Nom | Catégorie | Obligatoire | Description |
|---|---|---|---|
| de périphérie | string |
✔️ | Un bord de longueur variable de l’opérateur de correspondance de graphique ou opérateur de chemins d’accès les plus courts du graphique modèle. Pour plus d’informations, consultez notation de modèle Graph. |
Retours
Définit l’étendue d’exécution de l’expression any ou map du allnœud interne d’un bord de longueur variable.
Exemples
L’exemple de cette section montre comment utiliser la syntaxe pour vous aider à commencer.
Rechercher tous les employés dans l’organisation d’un responsable
L’exemple suivant représente une hiérarchie organisationnelle. Il montre comment une arête de longueur variable dans une requête de graphe unique peut être utilisée pour rechercher des employés à différents niveaux au sein d’une hiérarchie organisationnelle. Les nœuds du graphique représentent les employés et les bords connectent un employé à son responsable. Une fois le graphique généré à l’aide de l’opérateur make-graph , les all() fonctions sont inner_nodes utilisées pour rechercher des employés dans l’organisation d’Alice en plus d’Alice, qui ont des gestionnaires de moins de 40 ans. Ensuite, map() et inner_nodes sont utilisés ensemble pour obtenir les noms de ces responsables.
let employees = datatable(name:string, age:long)
[
"Alice", 32,
"Bob", 31,
"Eve", 27,
"Joe", 29,
"Chris", 45,
"Alex", 35,
"Ben", 23,
"Richard", 39,
];
let reports = datatable(employee:string, manager:string)
[
"Bob", "Alice",
"Chris", "Alice",
"Eve", "Bob",
"Ben", "Chris",
"Joe", "Alice",
"Richard", "Bob"
];
reports
| make-graph employee --> manager with employees on name
| graph-match (manager)<-[reports*1..5]-(employee)
where manager.name == "Alice" and all(inner_nodes(reports), age < 40)
project employee = employee.name, manager = manager.name, reportingPath = map(inner_nodes(reports), name)
Sortie
| employé | gestionnaire | reportingPath |
|---|---|---|
| Bob | Alice | [] |
| Chris | Alice | [] |
| Joe | Alice | [] |
| Veille | Alice | ["Bob"] |
| Richard | Alice | ["Bob"] |