Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✅Microsoft Fabric✅
Funkcja inner_nodes() grafu umożliwia dostęp do węzłów wewnętrznych krawędzi o zmiennej długości. Może być używany tylko jako pierwszy parametr funkcji grafu all(), any()i map().
Uwaga
Ta funkcja jest używana z operatorem dopasowania grafu, operatorem grafów najkrótszych ścieżek, funkcją grafu all(), funkcją grafową any() i funkcją grafu map().
Składnia
inner_nodes(
brzeg)
Parametry
| Nazwa | Typ | Wymagane | Opis |
|---|---|---|---|
| krawędzi | string |
✔️ | Krawędź zmiennej długości od operatora dopasowania grafu lub wzorca operatorów grafów najkrótszych ścieżek. Aby uzyskać więcej informacji, zobacz notacja wzorców Graph. |
Zwraca
Ustawia zakres allany wykonywania wyrażenia lub map na węzeł wewnętrzny krawędzi zmiennej długości.
Przykłady
W przykładzie w tej sekcji pokazano, jak używać składni, aby ułatwić rozpoczęcie pracy.
Znajdowanie wszystkich pracowników w organizacji menedżera
Poniższy przykład reprezentuje hierarchię organizacyjną. Pokazuje ona, jak można użyć krawędzi zmiennej długości w pojedynczym zapytaniu grafów do znajdowania pracowników na różnych poziomach w hierarchii organizacyjnej. Węzły na wykresie reprezentują pracowników, a krawędzie łączą pracownika z menedżerem. Po skompiluj make-graph wykres przy użyciu operatora all() , funkcje i inner_nodes są używane do wyszukiwania pracowników w organizacji Alicji oprócz Alice, którzy mają menedżerów młodszych niż 40.
map() Następnie i inner_nodes są używane razem, aby uzyskać nazwy tych menedżerów.
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)
Wynik
| pracownik | menedżer | reportingPath |
|---|---|---|
| Robert | Alicja | [] |
| Chris | Alicja | [] |
| Joe | Alicja | [] |
| Przeddzień | Alicja | ["Bob"] |
| Richard | Alicja | ["Bob"] |