TTechSpecs

指令用途

graphify visualize 是用於生成知識圖譜視覺化的指令。它會將圖譜中的節點與關係渲染成互動式的視覺圖形,方便你理解知識結構。


運作流程

  1. 讀取圖譜資料:從圖譜資料庫中獲取節點與關係
  2. 應用佈局演算法:使用力導向或其他佈局演算法排列節點
  3. 渲染視覺圖形:生成 HTML/SVG/PNG 格式的視覺化
  4. 加入互動功能:支援縮放、拖曳、點擊查看詳情

基本用法

生成預設視覺化

# 生成 HTML 互動視覺化
graphify visualize

# 指定輸出檔案
graphify visualize --output=graph.html

# 生成靜態圖片
graphify visualize --output=graph.png --format=png

視覺化選項

選擇佈局演算法

# 力導向佈局(預設,適合一般圖譜)
graphify visualize --layout=force

# 層次佈局(適合有明確層次的圖譜)
graphify visualize --layout=hierarchical

# 圓形佈局(適合小圖譜)
graphify visualize --layout=circular

# 樹狀佈局(適合樹狀結構)
graphify visualize --layout=tree

過濾顯示內容

# 只顯示特定類型的節點
graphify visualize --filter="type:Person"

# 只顯示特定關係
graphify visualize --filter="relationship:WORKS_ON"

# 限制顯示深度
graphify visualize --max-depth=2

樣式自訂

# 使用深色主題
graphify visualize --theme=dark

# 使用自訂配色
graphify visualize --colors=./colors.yaml

# 調整節點大小
graphify visualize --node-size=medium

實戰對話範例

範例一:生成完整圖譜視覺化

  • You:
    graphify visualize
  • AI:

    正在生成視覺化…

    圖譜統計

    • 節點數:47
    • 關係數:83
    • 最大連通分量:38 節點

    ✓ 視覺化已生成:graph.html

    包含功能

    • 🔍 搜尋節點
    • 🔬 檢查節點詳情
    • 🎨 節點顏色分類
    • 📊 關係標籤顯示

    在瀏覽器中打開 graph.html 即可查看互動式視覺化!


範例二:過濾特定關係

  • You:
    graphify visualize --filter="relationship:WORKS_ON" --output=team-graph.html
  • AI:

    正在生成視覺化(過濾條件:WORKS_ON)…

    過濾後統計

    • 節點數:18(人員與專案)
    • 關係數:22

    ✓ 視覺化已生成:team-graph.html

    此視覺化僅顯示「人員參與專案」的關係網絡。


範例三:生成專案子圖

  • You:
    graphify visualize --focus="Graphify" --radius=2 --output=graphify-subgraph.html
  • AI:

    正在生成 Graphify 專案的子圖…

    子圖統計

    • 中心節點:Graphify
    • 半徑範圍:2 跳
    • 包含節點:12
    • 包含關係:18

    ✓ 視覺化已生成:graphify-subgraph.html

    此視覺化以 Graphify 為中心,顯示其直接和間接關聯的節點。


輸出格式

HTML 互動視覺化

graphify visualize --output=graph.html

生成包含以下功能的 HTML 檔案:

  • 滑鼠拖曳平移
  • 滾輪縮放
  • 點擊節點查看詳情
  • 搜尋節點
  • 導出圖片

PNG 靜態圖片

graphify visualize --output=graph.png --format=png

生成高解析度的 PNG 圖片(可指定 DPI):

graphify visualize --output=graph.png --format=png --dpi=300

SVG 向量圖

graphify visualize --output=graph.svg --format=svg

生成可編輯的 SVG 向量圖。


進階選項

匯出特定節點

# 只匯出特定節點及其鄰居
graphify visualize --nodes="張三,李四" --output=partial.html

使用自訂佈局參數

# 力導向佈局參數
graphify visualize --layout=force \
  --force-charge=-500 \
  --force-distance=100 \
  --force-strength=0.5

時間戳記視覺化

# 視覺化特定時間點的圖譜狀態
graphify visualize --snapshot="2024-01-15" --output=graph-snapshot.html

常見問題

Q1:視覺化載入很慢?

A:可以嘗試:

  1. 限制節點數量(--max-nodes=100
  2. 使用較簡單的佈局(--layout=circular
  3. 匯出靜態圖片而非 HTML

Q2:視覺化看起來很亂?

A:可以:

  1. 使用不同的佈局演算法
  2. 過濾關係類型
  3. 調整佈局參數(電荷、距離等)
  4. 只顯示子圖(--focus

Q3:如何分享視覺化?

A

  • HTML 檔案可以直接分享(內嵌所有依賴)
  • PNG 適合插入文件
  • SVG 適合進一步編輯

與其他指令組合

提取後視覺化

# 1. 提取知識
graphify extract README.md

# 2. 查看結果
graphify visualize

查詢後視覺化

# 1. 查詢特定關係
graphify query "張三的所有關係" --format=json > relations.json

# 2. 視覺化查詢結果
graphify visualize --input=relations.json --output=query-result.html

最佳實踐

1. 定期生成視覺化

# 每次提取後都生成視覺化
graphify extract docs/*.md
graphify visualize --output=$(date +%Y-%m-%d).html

2. 為不同用途生成不同視覺化

# 完整圖譜(用於總覽)
graphify visualize --output=full-graph.html

# 特定專案(用於深入分析)
graphify visualize --focus="Graphify" --output=graphify-detail.html

# 特定關係(用於關係分析)
graphify visualize --filter="relationship:DEPENDS_ON" --output=deps.html

3. 自動化視覺化生成

# 在 CI/CD 中自動生成視覺化
echo '#!/bin/bash
graphify extract README.md
graphify visualize --output=latest.html
cp latest.html docs/graph.html' > generate-docs.sh
chmod +x generate-docs.sh

graphify visualize 是理解知識圖譜結構的重要工具,掌握它你就能直觀地探索任何知識網絡!