Udostępnij przez


inner_nodes() (funkcja graph)

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"]