# 数据结构知识图谱 **Repository Path**: dipper_room/data-structure-knowledge-graph ## Basic Information - **Project Name**: 数据结构知识图谱 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 《数据结构》课程智慧学习平台 面向《数据结构》课程的智慧学习平台,采用前后端分离架构,围绕知识图谱组织学习路径,并扩展练习、统计与 AI 辅助能力。 ## 技术栈 - 前端:Vue 3 + Vite + Element Plus + Pinia + Vue Router - 后端:FastAPI + Pydantic + Neo4j Driver - 数据库:Neo4j 5(Docker 部署) - 代码运行:Piston(Docker 部署) ## 目录结构 ```text data-structure-knowledge-graph/ ├─ frontend/ # 前端工程(Vite) ├─ backend/ # 后端工程(FastAPI) │ ├─ content/ # 模块讲义/习题/代码 │ ├─ app/ # API/服务/模型 │ └─ scripts/ # 知识图谱初始化与导入脚本 ├─ docs/ # 项目文档 └─ docker-compose.yml # Neo4j + Piston 本地编排 ``` ## 本地开发快速开始 ### 1) 准备环境变量 仓库根目录复制 `.env` 模板: ```powershell Copy-Item .env.template .env ``` ```bash cp .env.template .env ``` 按需修改 `.env`(至少保证 `NEO4J_PASSWORD` 与容器一致,前端端口默认 `5175`)。 ### 2) 启动基础依赖(Neo4j / Piston) 在仓库根目录执行: ```bash docker compose up -d neo4j piston ``` - Neo4j Browser: `http://localhost:7474` - Bolt: `bolt://localhost:7687` - 默认账号:`neo4j / your_password` - Piston API: `http://localhost:2000` ### 3) 启动后端 ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --reload ``` - API 根地址:`http://localhost:8000` - 接口文档:`http://localhost:8000/docs` ### 4) 初始化与导入知识图谱数据 先初始化模块与索引: ```bash cd backend python scripts/init_kg_data.py ``` 导入各模块知识点(可按需选择): ```bash # LIST / SET python scripts/import_list_set_kg.py # TREE / GRAPH python scripts/import_tree_graph_kg.py # SEARCH / SORT python scripts/import_search_sort_kg.py ``` 如需重置对应模块数据后再导入: ```bash python scripts/import_list_set_kg.py --reset-list-set python scripts/import_tree_graph_kg.py --reset-tree-graph python scripts/import_search_sort_kg.py --reset-search-sort ``` #### 5) AI 向量检索(可选) 在 `.env` 中配置独立的嵌入模型。 完成 KG 数据导入后,运行一次向量化脚本: ```bash python scripts/embed_kg_nodes.py ``` #### 6) 启动前端 ```bash cd frontend npm install npm run dev ``` 访问:`http://localhost:5175` ## 常见问题 ### 1) 学习中心数据没有更新? - 确认已执行相应导入脚本(见上方第 4 步)。 - 确认 `.env` 中的 `NEO4J_PASSWORD` 与 `docker-compose.yml` 一致。 - 若仍旧是旧数据,尝试使用 `--reset-*` 重新导入。 ### 2) 前端端口不一致? - 修改 `.env` 中的 `VITE_FRONTEND_PORT`,并重新启动前端。 ## 关键文档 - 功能设计:`docs/01_功能设计文档.md` - 数据库设计:`docs/02_数据库设计文档.md` - 知识图谱规范:`docs/database/kg/知识图谱数据规范.md` - 协作规范:`docs/project/项目协作与分支规范.md`