2661-基于知识图谱的在线学习系统,Springboot和vue+Neo4j知识图谱,包括用户画像,课程学习,在线考试,可视化分析等,【源码】+【论文相关资料】,包调试运行部署
基于知识图谱的在线学习系统
系统支持管理员、教师、学生三类角色,实现权限隔离,提供注册、登录及个人信息管理功能。教师可创建、编辑、发布课程,管理员负责课程审核与上下架;学生可浏览、搜索、筛选课程。基于Neo4j构建知识图谱,展示知识点关联关系,助力学生梳理知识结构。
学生可在线学习课程,系统自动记录学习进度、时长及断点,支持续学;教师可创建试卷、添加各类题目,学生参加在线考试后系统自动评分,同时自动收集错题形成错题本。基于Mahout混合推荐算法及用户画像(结合学习行为、兴趣等数据),为学生提供个性化课程推荐。
系统还包含课程收藏、学习进度可视化、学习日历等功能,记录学习轨迹;管理员可管理公告、轮播图及系统配置,发布各类通知、推广精品课程。此外,系统支持多维度数据统计分析,记录用户行为日志,用于算法优化与学情监测,全面满足教学、学习及管理需求。
系统功能截图

























系统功能说明
-
用户管理功能:系统支持三类角色(管理员、教师、学生),提供用户注册、登录、个人信息管理、权限控制等功能,不同角色拥有不同的操作权限和界面。
-
课程管理功能:教师可创建、编辑、发布课程,包含课程标题、简介、封面、视频、内容等;管理员可审核课程、上下架管理;学生可浏览课程列表、查看课程详情、搜索和筛选课程。
-
知识图谱功能:基于Neo4j图数据库构建知识点关系网络,展示知识点之间的前置、后续、包含、相关等关系,帮助学生理解知识结构,制定学习路径。
-
在线学习功能:学生可观看课程视频、阅读课程内容,系统自动记录学习进度、学习时长、上次观看位置,支持断点续学,跟踪学习完成情况。
-
在线考试功能:教师可创建试卷、添加题目(单选、多选、判断),设置总分、及格分数、考试时长;学生可参加在线考试,系统自动评分,记录考试成绩和答题详情。
-
错题管理功能:系统自动收集学生考试中的错题,形成错题本,支持错题复习、掌握程度标记,帮助学生针对性地巩固薄弱知识点。
-
课程推荐功能:基于Mahout协同过滤算法和内容推荐算法,结合用户画像、学习历史、收藏记录等数据,为学生提供个性化的课程推荐。
-
用户画像功能:通过分析用户的学习行为、兴趣偏好、能力水平等数据,构建多维用户画像向量,包括完成率、学习速度、平均分数、兴趣权重等特征。
-
学习进度管理:记录学生对各知识点和课程的学习进度,展示掌握程度(未学习、学习中、已掌握、精通),可视化学习日历,统计学习时长和完成情况。
-
课程收藏功能:学生可收藏感兴趣的课程,方便后续快速访问,收藏数据用于课程推荐算法,提升推荐准确度。
-
公告管理功能:管理员可发布系统公告、课程公告、考试公告等,支持置顶功能,学生可查看公告列表和详情。
-
轮播图管理:管理员可管理系统首页轮播图,包括图片、链接、排序、状态等,用于推广精品课程和重要活动。
-
数据统计分析:提供多维度数据统计,包括用户学习统计、课程学习分析、考试成绩分析、用户行为分析等,支持图表可视化展示。
-
系统配置管理:管理员可配置系统基本参数,如网站名称、Logo、备案号等,支持动态配置,无需修改代码。
-
学习日历功能:记录用户每日学习情况,包括学习时长、学习课程数、完成课程数、参加考试数、平均分数等,形成学习轨迹。
-
行为日志记录:记录用户的浏览、收藏、学习、测试等行为日志,用于数据分析和推荐算法优化。
系统测试账号
| 账号 | 角色 | 密码 |
|---|---|---|
| admin | 管理员 | 123456 |
| user1 | 学生 | 123456 |
| teacher1 | 教师 | 123456 |
技术栈
后端技术
- 核心框架:Spring Boot 3.5.7
- ORM框架:MyBatis-Plus 3.5.7
- 数据库:MySQL 8.0
- 知识图谱:Neo4j
- 推荐算法:Mahout 0.6(协同过滤+内容推荐混合推荐)
- 其他依赖:Lombok、Fastjson、OkHttp、Freemarker
- 运行环境:JDK 17
前端技术
- 核心框架:Vue 3.5
- UI组件库:Element Plus
- 路由管理:Vue Router
- HTTP客户端:Axios
- 构建工具:Vite
开发工具
- 后端开发:IntelliJ IDEA
- 前端开发:VSCode
- 数据库管理:Navicat
- 版本控制:Git
角色功能描述
1. 管理员角色(admin)
- 系统管理:管理系统配置、轮播图、公告信息
- 用户管理:查看和管理所有用户信息(学生、教师)
- 课程管理:审核、上架/下架课程,管理课程分类
- 考试管理:管理试卷和考试记录
- 数据统计:查看学习统计、用户行为分析等数据报表
- 知识图谱:管理知识点及其关系,维护图谱数据
2. 教师角色(teacher)
- 课程管理:创建、编辑、发布自己负责的课程
- 考试管理:创建试卷、添加题目、管理考试
- 学生管理:查看学生的学习进度和成绩
- 数据分析:查看课程学习分析、学生表现统计
- 个人中心:管理个人信息、查看教学数据
3. 学生角色(user)
- 课程学习:浏览课程、观看视频、学习课程内容
- 知识图谱:查看知识点关系图谱,了解知识结构
- 在线考试:参加课程相关考试,查看考试成绩
- 学习记录:跟踪个人学习进度、查看学习历史
- 课程收藏:收藏感兴趣的课程
- 课程推荐:获取基于用户画像的个性化课程推荐
- 个人中心:管理个人信息、查看学习统计数据
页面/文件功能详细描述
后端部分(Java)
controller/ - 控制器层
| 文件名 | 功能描述 |
|---|---|
| CarouselController | 轮播图管理接口 |
| CategoryController | 课程分类管理接口 |
| CourseController | 课程管理接口 |
| CourseRecommendController | 课程推荐接口 |
| ExamController | 考试管理接口 |
| FavoriteController | 课程收藏接口 |
| KnowledgeGraphController | 知识图谱管理接口 |
| LearningProgressController | 学习进度接口 |
| NoticeinfoController | 公告信息管理接口 |
| StudyRecordController | 学习记录接口 |
| SystemConfigController | 系统配置接口 |
| UserProfileController | 用户画像接口 |
| UserinfoController | 用户信息管理接口 |
entity/ - 实体类层
| 文件名 | 功能描述 |
|---|---|
| Carousel | 轮播图实体 |
| Category | 课程分类实体 |
| Course | 课程信息实体 |
| CourseRecommend | 课程推荐记录实体 |
| ExamPaper | 试卷信息实体 |
| ExamQuestion | 考试题目实体 |
| ExamRecord | 考试记录实体 |
| Favorite | 课程收藏实体 |
| KnowledgePoint | 知识点实体 |
| KnowledgeProgress | 知识点学习进度实体 |
| KnowledgeRelation | 知识点关系实体 |
| LearningCalendar | 学习日历实体 |
| Noticeinfo | 公告信息实体 |
| StudyRecord | 学习记录实体 |
| SystemConfig | 系统配置实体 |
| UserBehaviorLog | 用户行为日志实体 |
| UserProfile | 用户画像实体 |
| Userinfo | 用户信息实体 |
| WrongQuestion | 错题记录实体 |
其他后端目录
- mapper/:MyBatis-Plus Mapper接口,数据库操作
- service/:业务逻辑层,包含接口和实现类
- utils/:工具类,包含通用功能
- BlockchainUtil - 区块链工具(预留)
- CommonMapper - 通用Mapper
- FileUploadController - 文件上传处理
- GlobalResult - 统一返回结果
- JSONIndexController - JSON索引控制器
- JacksonConfig - Jackson序列化配置
前端部分(Vue)
views/home/ - 学生端页面
| 文件名 | 功能描述 |
|---|---|
| CourseDetail.vue | 课程详情页面 |
| CourseList.vue | 课程列表页面 |
| CourseRecommend.vue | 课程推荐页面 |
| CourseStudy.vue | 课程学习页面 |
| Dashboard.vue | 学生首页仪表盘 |
| ExamList.vue | 考试列表页面 |
| ExamPage.vue | 在线考试页面 |
| ExamRecords.vue | 考试记录页面 |
| Index.vue | 学生主页 |
| IndexNotice.vue | 公告信息页面 |
| KnowledgeGraph.vue | 知识图谱可视化页面 |
| LearningProgress.vue | 学习进度页面 |
| MyCarousel.vue | 轮播图组件 |
| MyFavorite.vue | 我的收藏页面 |
| MyFoot.vue | 页脚组件 |
| MyHead.vue | 页头导航组件 |
| UserCenter.vue | 用户中心页面 |
| UserLayout.vue | 用户布局组件 |
| UserProfile.vue | 用户画像页面 |
views/manage/ - 管理员端页面
| 文件名 | 功能描述 |
|---|---|
| AdminCenter.vue | 管理员中心 |
| AdminLayout.vue | 管理员布局 |
| CarouselList.vue | 轮播图管理 |
| Dashboard.vue | 管理员仪表盘 |
| Echarts01.vue | 数据图表1 |
| Echarts02.vue | 数据图表2 |
| ListCarousel.vue | 轮播图列表管理 |
| ListCategory.vue | 课程分类管理 |
| ListCourse.vue | 课程列表管理 |
| ListExam.vue | 考试管理 |
| ListExamRecord.vue | 考试记录管理 |
| ListFavorite.vue | 收藏管理 |
| ListNoticeinfo.vue | 公告信息管理 |
| ListStudyRecord.vue | 学习记录管理 |
| ListUserProfile.vue | 用户画像管理 |
| ListUserinfo.vue | 用户信息管理 |
| SidebarMenu.vue | 侧边栏菜单 |
views/teacher/ - 教师端页面
| 文件名 | 功能描述 |
|---|---|
| CourseAnalysis.vue | 课程分析页面 |
| CourseManage.vue | 课程管理页面 |
| ExamManage.vue | 考试管理页面 |
| StudentProgress.vue | 学生进度页面 |
| TeacherDashboard.vue | 教师仪表盘 |
| TeacherExamRecords.vue | 教师考试记录 |
其他前端文件
| 文件名 | 功能描述 |
|---|---|
| Login.vue | 登录页面 |
| Register.vue | 注册页面 |
| NotFound.vue | 404页面 |
| router/index.js | 路由配置 |
| utils/request.js | HTTP请求封装 |
| App.vue | 根组件 |
| main.js | 应用入口 |
【技术栈】
后端技术:
- 核心框架:Spring Boot 3.5.7
- ORM框架:MyBatis-Plus 3.5.7
- 数据库:MySQL 8.0
- 知识图谱:Neo4j
- 推荐算法:Mahout 0.6(协同过滤+内容推荐混合推荐)
- 其他依赖:Lombok、Fastjson、OkHttp、Freemarker
- 运行环境:JDK 17
前端技术:
- 核心框架:Vue 3.5
- UI组件库:Element Plus
- 路由管理:Vue Router
- HTTP客户端:Axios
- 构建工具:Vite
开发工具:
- 后端开发:IntelliJ IDEA
- 前端开发:VSCode
- 数据库管理:Navicat
- 版本控制:Git
【角色功能描述】
- 管理员角色(admin)
- 系统管理:管理系统配置、轮播图、公告信息
- 用户管理:查看和管理所有用户信息(学生、教师)
- 课程管理:审核、上架/下架课程,管理课程分类
- 考试管理:管理试卷和考试记录
- 数据统计:查看学习统计、用户行为分析等数据报表
- 知识图谱:管理知识点及其关系,维护图谱数据
- 教师角色(teacher)
- 课程管理:创建、编辑、发布自己负责的课程
- 考试管理:创建试卷、添加题目、管理考试
- 学生管理:查看学生的学习进度和成绩
- 数据分析:查看课程学习分析、学生表现统计
- 个人中心:管理个人信息、查看教学数据
- 学生角色(user)
- 课程学习:浏览课程、观看视频、学习课程内容
- 知识图谱:查看知识点关系图谱,了解知识结构
- 在线考试:参加课程相关考试,查看考试成绩
- 学习记录:跟踪个人学习进度、查看学习历史
- 课程收藏:收藏感兴趣的课程
- 课程推荐:获取基于用户画像的个性化课程推荐
- 个人中心:管理个人信息、查看学习统计数据
更多推荐
所有评论(0)