src/store/store.c(8,427 行)· store.hstore.c 是所有圖資料的家。它把知識圖譜持久化到 SQLite(WAL 模式、ACID),提供節點/邊的 CRUD、BFS 遍歷(trace_path 的底層)、BM25 全文搜尋、Louvain 社群偵測、以及 Cypher 引擎讀取的資料介面。
store 封裝一條 SQLite connection。節點表、邊表、屬性表用 SQL 正規化儲存;搜尋用 SQLite FTS5 + 自訂 cbm_camel_split tokenizer(認得 camelCase / snake_case)。
pipeline 把節點/邊餵給 store。屬性用 JSON 存,查詢時可過濾。所有 search_graph 的 label/degree 過濾最後都落成 SQL 條件。
trace_path 深度 1–5 的 BFS 就在這裡:從 function_name 出發,沿 CALLS 邊的方向(inbound/outbound/both)逐層擴張。<10ms 的秘密是 SQL 的 WHERE source IN (…) 批次過濾,而不是逐一節點查詢。
search_code 的底層:對已索引的檔案做全文搜尋。自訂 tokenizer 讓 ProcessOrder 能被 process order 或 process_order 搜到。
get_architecture 的 cluster 就是 Louvain 的產出。它只看圖的結構(邊密度),不需要 embedding——把「一起工作的函式」歸成同一個功能模組。