学生知识图谱可视化系统是一个基于D3.js的交互式可视化工具,用于展示学生的知识点掌握情况和依赖关系。系统通过Filament管理后台提供直观的Web界面,帮助教师和学生理解学习进度和知识结构。
FilamentAdmin/
├── app/
│ ├── Livewire/
│ │ └── StudentKnowledgeGraph.php # Livewire组件
│ ├── Filament/
│ │ └── Pages/
│ │ └── StudentKnowledgeGraphPage.php # Filament页面
│ ├── Services/
│ │ └── KnowledgeGraphService.php # API集成服务
│ └── Models/
│ └── Student.php # 学生模型
├── resources/
│ └── views/
│ ├── filament/
│ │ └── pages/
│ │ └── student-knowledge-graph-page.blade.php
│ └── livewire/
│ └── student-knowledge-graph.blade.php # 可视化视图
└── docs/
└── STUDENT_KNOWLEDGE_GRAPH.md # 本文档
loadStudents(): 加载学生列表loadStudentData(): 加载学生知识图谱数据fetchKnowledgeGraphData(): 调用LearningAnalytics APIbuildKnowledgeGraphData(): 构建D3.js数据格式getMasteryColor(): 获取掌握度颜色getMasterySize(): 计算节点大小/knowledge-points/: 获取知识点列表/graph/node/{kpCode}: 获取技能列表/skills/: 获取所有技能/graph/relations: 获取关联关系/api/mastery/{studentId}: 获取学生掌握度/api/mastery/{studentId}/statistics: 获取统计信息在Filament管理后台中导航到:
学习分析 > 学生知识图谱
// 获取学生掌握度
GET /api/mastery/{studentId}
Response: {
"masteries": [
{
"student_id": "S001",
"kp_code": "R01",
"mastery_level": 0.85,
"confidence_level": 0.8
}
]
}
// 获取统计信息
GET /api/mastery/{studentId}/statistics
Response: {
"total_knowledge_points": 8,
"average_mastery": 0.594,
"high_mastery_count": 1,
"medium_mastery_count": 2,
"low_mastery_count": 2
}
// 获取依赖关系
GET /api/knowledge/dependencies
Response: {
"dependencies": [
{
"prerequisite_kp": "R01",
"dependent_kp": "R02",
"influence_weight": 0.9,
"dependency_type": "must"
}
]
}
LEARNING_ANALYTICS_URL=http://localhost:5016
LEARNING_ANALYTICS_TIMEOUT=30
'learning_analytics' => [
'url' => env('LEARNING_ANALYTICS_URL', 'http://localhost:5016'),
'timeout' => env('LEARNING_ANALYTICS_TIMEOUT', 30),
],
问题1: 知识图谱不显示
问题2: 统计数据错误
问题3: 导出功能不工作
# Laravel日志
storage/logs/laravel.log
# 查找相关错误
grep "知识图谱" storage/logs/laravel.log