update-graph.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. # update-graph.sh — 增量更新知识图谱
  3. # 用法:
  4. # ./scripts/update-graph.sh # 更新前后端
  5. # ./scripts/update-graph.sh backend # 只更新后端
  6. # ./scripts/update-graph.sh frontend # 只更新前端
  7. #
  8. # 由 AI Agent 在完成代码修改后自动调用,或手动执行。
  9. set -euo pipefail
  10. ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
  11. PYTHON="/Users/zlwu/.pyenv/versions/3.12.13/bin/python"
  12. # 检查 graphify 是否可用
  13. if ! "$PYTHON" -m graphify --help >/dev/null 2>&1; then
  14. echo "[graphify] 未安装,请运行: $PYTHON -m pip install graphify"
  15. exit 1
  16. fi
  17. # 更新单个项目的图谱
  18. update_graph() {
  19. local name="$1"
  20. local label="$2"
  21. echo ""
  22. echo "=== 更新 ${label} 知识图谱 (${name}) ==="
  23. if [ ! -d "$ROOT_DIR/$name" ]; then
  24. echo "[graphify] 目录不存在: $ROOT_DIR/$name"
  25. return 1
  26. fi
  27. "$PYTHON" -m graphify update "$ROOT_DIR/$name" --force
  28. echo "[graphify] ${label} 图谱更新完成 ✓"
  29. }
  30. # ---- Main ----
  31. TARGET="${1:-all}"
  32. echo "╔══════════════════════════════════════╗"
  33. echo "║ shanxia2.0 知识图谱增量更新工具 ║"
  34. echo "╚══════════════════════════════════════╝"
  35. case "$TARGET" in
  36. backend)
  37. update_graph "backend" "后端"
  38. ;;
  39. frontend)
  40. update_graph "web-admin" "前端"
  41. ;;
  42. all|"")
  43. update_graph "backend" "后端"
  44. update_graph "web-admin" "前端"
  45. ;;
  46. *)
  47. echo "用法: $0 [backend|frontend|all]"
  48. exit 1
  49. ;;
  50. esac
  51. echo ""
  52. echo "✅ 知识图谱更新完毕。HTML 可视化: */graphify-out/graph.html"