共用方式為


inner_nodes (圖表函數)

適用於:✅Microsoft網狀架構

圖形 inner_nodes() 函式允許存取 可變長度邊緣的內部節點。 它只能當做 all()any()map() 圖表函式的第一個參數使用。

備註

此函式會與 圖表比對 運算符、 圖表最短路徑 運算元、 all() 圖表函式、 any() graph 函式和 map() graph 函式搭配使用。

語法

inner_nodes( 邊緣)

參數

名稱 類型 為必填項目 說明
邊緣 string ✔️ 圖形比對運算符圖形最短路徑運算符模式中的可變長度邊緣。 如需詳細資訊,請參閱 圖形模式表示法

退貨

將、 anymap 表示式的執行all範圍設定為可變長度邊緣的內部節點。

範例

本節中的範例示範如何使用 語法來協助您開始使用。

尋找經理組織中的所有員工

下列範例代表組織階層。 它示範如何使用單一圖表查詢中的可變長度邊緣,在組織階層內尋找不同層級的員工。 圖表中的節點代表員工,邊緣會將員工連線到其主管。 使用 make-graph 運算符建置圖形之後,會 all() 使用 和 inner_nodes 函式來搜尋Alice組織的員工,除了Alice之外,其經理小於40。 然後, map()inner_nodes 會一起使用來取得這些經理的名稱。

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)

輸出

員工 經理 reportingPath
鮑勃 Alice []
Chris Alice []
Alice []
前夕 Alice [“Bob”]
理查 Alice [“Bob”]