指令用途
graphify visualize 是用於生成知識圖譜視覺化的指令。它會將圖譜中的節點與關係渲染成互動式的視覺圖形,方便你理解知識結構。
運作流程
- 讀取圖譜資料:從圖譜資料庫中獲取節點與關係
- 應用佈局演算法:使用力導向或其他佈局演算法排列節點
- 渲染視覺圖形:生成 HTML/SVG/PNG 格式的視覺化
- 加入互動功能:支援縮放、拖曳、點擊查看詳情
基本用法
生成預設視覺化
# 生成 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:可以嘗試:
- 限制節點數量(
--max-nodes=100) - 使用較簡單的佈局(
--layout=circular) - 匯出靜態圖片而非 HTML
Q2:視覺化看起來很亂?
A:可以:
- 使用不同的佈局演算法
- 過濾關係類型
- 調整佈局參數(電荷、距離等)
- 只顯示子圖(
--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 是理解知識圖譜結構的重要工具,掌握它你就能直觀地探索任何知識網絡!