定義
實體:查詢頂點/邊的操作
map:按照某種規則將輸入objects映射成另一個objects
filter:按照某種規則對輸入objects執行過濾
sideEffect:按照某種規則為輸入objects添加一些信息,輸出依然為這個objects
branch:對輸入objects執行分支計算
修飾符:修飾單步,一般用于為單步提供參數
函數:一般用于為單步提供函數,如為過濾單步提供比較函數
策略:用戶可選的定制化策略
功能概覽
備注:[*]標注的為iGraph自研擴展的單步,其他均為Apache Gremlin開源的單步
類型 | step名稱 | 功能 |
實體 | 查詢邊的信息 | |
從一條邊跳轉到關聯的頂點 | ||
從一個頂點跳轉到關聯的頂點 | ||
從一個頂點跳轉到關聯的邊 | ||
查詢頂點的信息 | ||
map | 阻塞 | |
返回實體的bulk值 | ||
返回sideEffect的存儲值 | ||
返回用戶自定義的“值” | ||
計算數量 | ||
將輸入objects聚合成list<object> | ||
分組 | ||
分組并計算組內的數量 | ||
返回輸入自身 | ||
返回表名或者圖label | ||
返回當前循環的次數 | ||
科學計算 | ||
計算最大值 | ||
計算平均值 | ||
計算最小值 | ||
排序 | ||
返回遍歷的路徑 | ||
將輸入objects映射成map<string,object> | ||
返回字段名和字段值 | ||
返回字段名和字段值的map | ||
返回實體的sack值 | ||
返回標簽值 | ||
計算和 | ||
將list<object>展開為objects | ||
返回字段值 | ||
filter | 返回“所有子遍歷都產生結果”的輸入 | |
返回有環的路徑 | ||
去重 | ||
distinct [*] | 打散 | |
過濾實體 | ||
過濾字段名 | ||
過濾標簽 | ||
過濾字段值 | ||
過濾數值或string | ||
截斷,保留最前的結果 | ||
返回“子遍歷不能產生結果”的輸入 | ||
返回“至少在一個子遍歷能產生結果”的輸入 | ||
截斷 | ||
采樣 | ||
返回無環的路徑 | ||
截斷,保留最后的結果 | ||
過濾 | ||
sideEffect | 將輸入objects阻塞地拷貝一份list<object> | |
alias [*] | 為輸入實體(點或邊)定義虛擬字段 | |
fields [*] | 裁剪字段 | |
將輸入objects非阻塞地拷貝一份list<object> | ||
branch | 分支查詢 | |
分支查詢 | ||
返回首個至少能計算出一個元素的輸入的計算值 | ||
對每個輸入單獨執行子遍歷 | ||
如果子遍歷能產生結果,則返回遍歷結果;否則,返回輸入 | ||
循環遍歷 | ||
合并子遍歷的結果 | ||
修飾符 | 打標 | |
為其他單步提供參數 | ||
記錄循環的中間結果 | ||
indexQuery [*] | 倒排查詢 | |
指定分支查詢的條件 | ||
指定循環遍歷的次數 | ||
指定循環遍歷的終止條件 | ||
為實體的sack值定義初始值、分裂規則和合并規則 | ||
函數 | 描述比較邏輯 | |
提取輸入元素的信息 | ||
UDF [*] | 支持用戶自定義比較函數 | |
策略 | 為遍歷添加定制化策略 | |
定制路徑記錄的信息類型 | ||
指定獲取sideEffect的單步下推至存儲層執行 |