Theme / v0.9.56

Graphify

Codebase 知識圖譜

指令詳解

graphify path 與 explain 指令詳解

graphify path A B 找最短路徑;graphify explain <節點> 列出連結與脈絡

指令用途

兩個圖譜探索指令,補 query 的不足:

  • graphify path <節點A> <節點B> — 找出兩個節點之間的最短路徑(BFS over sorted graph,deterministic)。
  • graphify explain <節點名稱> — 列出單一節點的所有連結(in/out)、所屬 community、degree 等「脈絡」。

兩者都只查 graph.json,不需 LLM


path:兩點之間的最短路徑

基本用法

graphify path "login" "generate_token"

預期輸出

Shortest path (3 hops):
  login --calls--> create_session
  create_session --calls--> generate_token
  (generate_token is called from Session.__init__)

從 graphify v0.9.23 起:1

  • 路徑是 deterministic(同一個圖譜永遠回同一條)
  • 每跳顯示真實 relation(從邊的 stored relation 讀,不再讀任意 collapsed parallel edge)
  • 無 relation 時降級為 related,但絕不會報錯 relation

MCP 等價工具

shortest_path(MCP server 工具)與 CLI 完全等價。


explain:單一節點的脈絡

基本用法

graphify explain "login"

預期輸出

Node: login
  Source:    auth.py:1
  Community: 1
  Degree:    3

Connections (3):
  --> verify_password  [calls]  [EXTRACTED]
  --> create_session   [calls]  [EXTRACTED]
  <-- auth.py          [contains]  [EXTRACTED]

從 v0.9.24 起:2

  • 列出 SourceCommunityDegree
  • 列出所有連結(incoming + outgoing),每條標 relation + 信心標籤
  • 對高 degree god node 自動按檔案分群 cut connections,避免裸 ... and N more

MCP 等價工具

  • get_node — 取得單一節點
  • get_neighbors — 取得鄰居(可設定 token_budget

範例對話

使用者:為什麼 login 會用到 generate_token?

助理:我用 graphify path 找 login → generate_token 的路徑。
> graphify path "login" "generate_token"

Shortest path (3 hops):
  login --calls--> create_session
  create_session --calls--> generate_token

→ login() 呼叫 create_session()(auth.py:3),
  而後者 new Session() 時 schema 會呼叫 generate_token()(session.py:6)。
  所以每次登入成功都會觸發一次 token 產生。

與 query 的差異

指令 何時用 例子
query 開放式問題、找子圖 “認證在哪?”
path 確定兩個東西,要怎麼連 “login 連到 generate_token 的路徑?”
explain 想知道某個節點的全貌 “login() 連到什麼?”

query 是模糊搜尋,path / explain 是精準查詢。


內部連結與外部參考


下一步

  1. graphify prs 指令詳解
  2. graphify install 指令詳解
  3. 完整開發工作流

Footnotes

  1. v0.9.23 changelog:path 跨 hash-seeded undirected graph 改為 sorted graph,避免 run-to-run 變異;每跳顯示實際 relation。

  2. v0.9.24 changelog:explain 對高 degree 的 god node 按檔案分組 cut connections,不再裸 ... and N more