Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C CGLOP-Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • CGLearningOpenPlatform
  • CGLOP-Wiki
  • Wiki
  • 附录

附录 · Changes

Page history
Update 附录 authored May 25, 2022 by 唐宇's avatar 唐宇
Hide whitespace changes
Inline Side-by-side
附录.md
View page @ 96b9ff2d
......@@ -19,3 +19,310 @@
| Git项目 | 总提交次数 | 历次提交信息 | - |
| 毕设 | 最终得分 | 历次提交内容及得分 | - |
# 团体/学生信息数据结构
若查询的结果类型为学生个人,则数组中相关元素的结构为:
```
{
"id": "",
"accountHomepage": "",
"accountName": "",
"mbox": "",
"phoneNumber": ""
"objectType":"Agent"
}
```
若查询的结果类型为团体,则数组中相关元素的结构为:
```
{
"id": "",
"accountHomepage": "",
"accountName": "",
"objectType":"Group"
}
```
# 学习内容查询结果的数据结构
一项学习内容的查询结果用一个JSON对象表示,不同学习内容的查询结果可能有不同的属性。如查询某作业的结果如下:
```
{
"id": "2000",
"name": "课后作业一",
"description": "这是课后作业一",
"type": "通用测评题",
"questions": {
"10000": "40.0",
"10001": "60.0"
}
}
```
查询某作业题目的结果如下:
```
{
"id": "10000",
"name": "2020竞速作业题目一",
"description": "",
"tags": [
"竞速",
"计算复杂度"
]
}
```
为了便于描述及理解,本文档将学习内容的各属性划分为通用属性(详见4.3.2节)及专有属性(详见4.3.3节)。通用属性是指所有学习内容都会包含的属性,而专有属性表示该类学习内容特有的属性。如上述论坛及作业的查询结果中,"id"、"name"及"description"这3个属性是通用属性,而"type"、"questions"是作业的专有属性,"tags"是作业题目的专有属性。每项学习内容的查询结果由通用属性及专有属性构成,示意如下:
```
{
各通用属性
各专用属性
}
```
## 学习内容类型分类及在JSON中的表示
| 学习内容类型 | JSON中的表示 |
| ------ | ------ |
| 课程 | course |
| 作业 | homework |
| 竞赛 | competition |
| 作业题目/竞赛题目 | homework_question |
| 考试 | exam |
| 考试题目 | exam_question |
| 实验作业 | experiment_homework |
| 实验 | experiment |
| 实验步骤 | experiment_procedure |
| 在线课堂 | mooc |
| 在线课堂视频 | mooc_video |
| 答疑论坛 | forum |
| 论坛主题 | forum_topic |
| 论坛帖子 | forum_post |
| 研究数据集 | research_dataset |
| 研究项目 | research_project |
| 毕设 | graduation_project |
| Git仓库 | git_repository |
| Git提交 | git_commit |
## 学习内容通用属性
| 属性名 | 属性值类型 | 说明 |
|-------------|--------|----------|
| id | string | 学习内容的id |
| name | string | 学习内容名/标题 |
| description | string | 学习内容描述 |
若查询返回的结果中某通用属性值为空,则JSON中无该属性,如下面的例子里,某论坛的查询结果就没有description属性。
```
{
"id": "7000",
"name": "答疑论坛"
}
```
## 学习内容专有属性
与通用属性相似的是,若查询返回的结果中某专有属性值为空,则JSON对象中无该属性。
专有属性中比较特殊的一个属性是ude,设置该属性主要是为了提升扩展性,所有学习内容都可能会包含该属性。该属性可能包含其它属性未描述的信息。
接下来详细介绍各类学习内容的专有属性。
### 课程
| 属性名 | 属性值类型 | 说明 |
|----------------|----------|-----------|
| instructorList | string数组 | 课程授课老师 |
| organization | string | 课程所属机构/院校 |
| ude | JSON对象 | 平台扩展属性 |
### 作业/试卷/竞赛
| 属性名 | 属性值类型 | 说明 |
|-----------|----------|----------------|
| type | string | 作业的类型 |
| questions | JSON对象 | 作业所含问题id及相应的分值 |
| tags | string数组 | 作业的标签 |
### 作业题目/试卷题目
| 属性名 | 属性值类型 | 说明 |
|------|----------|-------|
| tags | string数组 | 题目的标签 |
### 实验作业
| 属性名 | 属性值类型 | 说明 |
|-----------|----------|----------------|
| type | string | 作业的类型 |
| questions | JSON对象 | 作业所含问题id及相应的分值 |
| tags | string数组 | 作业的标签 |
| startDate | string | 起始时间 |
| endDate | string | 终止时间 |
### 实验
| 属性名 | 属性值类型 | 说明 |
|----------------------|----------|------------|
| modifier | string | 实验修改者 |
| experimentProcedures | string数组 | 包含的实验步骤id |
| tags | string数组 | 作业的标签 |
### 实验步骤
无
### 在线课堂
| 属性名 | 属性值类型 | 说明 |
|--------------|----------|-------|
| tags | string数组 | 作业的标签 |
| startDate | string | 起始时间 |
| endDate | string | 终止时间 |
| hoursPerWeek | string | 每周学时 |
### 在线课堂视频
无
### 论坛
无
### 论坛主题
无
### 论坛帖子
| 属性名 | 属性值类型 | 说明 |
|-----------|--------|-------------------------|
| replyFrom | string | 回复的帖子,若该属性为空,表示直接在主题下留言 |
### 科研数据集
### 科研项目
### 毕设
| 属性名 | 属性值类型 | 说明 |
|-----------|--------|------|
| startDate | string | 起始时间 |
| endDate | string | 终止时间 |
### Git仓库
| 属性名 | 属性值类型 | 说明 |
|-------|--------|-------|
| owner | string | 仓库拥有者 |
### Git提交
| 属性名 | 属性值类型 | 说明 |
|-----------|--------|-------------|
| committer | string | 本次commit的作者 |
# 学习内容完成情况 (StatementResult) 数据结构
StatementResult为JSON对象的格式,该对象根据不同类型的学习内容具有不同的属性
## 完成情况通用属性
| 属性名 | 属性值类型 | 说明 |
|-----------|--------|--------------------------------------|
| id | string | 学习内容的id |
| timestamp | long | 学生完成学习时的时间戳(距离格林威治时间1970年1月1日零点的毫秒数) |
## 完成情况专有属性
### 专有属性中公用数据结构
本节提取了各学习内容专有属性中有一定共性的部分
#### Score对象
题目的得分情况
| 属性名 | 属性值类型 | 说明 |
|--------|--------|---------------|
| max | string | 题目的理论最高分 |
| min | string | 题目的理论最低分,一般为0 |
| raw | string | 学生该题目的原始得分 |
| scaled | string | 转换后的得分 |
#### ManualJudgeInfo对象
教师手动评判结果的信息
| 属性名 | 属性值类型 | 说明 |
|---------|--------|--------|
| comment | string | 教师评语 |
| report | string | 教师评阅报告 |
#### OnlineJudgeInfo对象
平台自动在线评判结果的信息
| 属性名 | 属性值类型 | 说明 |
|--------|--------|------------------------|
| body | string | 自动评测结果 |
| kernel | string | 若解析出现异常,该字段会是通用评测的原始结果 |
#### AttachmentInfo对象
学生上传的附件的信息
| 属性名 | 属性值类型 | 说明 |
|----------|--------|-----------|
| fileName | string | 文件名 |
| length | string | 文件大小 |
| sha2 | string | 文件相关信息哈希值 |
#### OperateInfo对象
学生操作信息
| 属性名 | 属性值类型 | 说明 |
|-------------|--------|------------------|
| date | string | 日期、时间信息 |
| operateType | string | 操作类型包含:START、END |
#### SubmittedContent对象
学生提交的内容信息
| 属性名 | 属性值类型 | 说明 |
|--------------|--------|-------|
| contentId | string | 内容id |
| contentTitle | string | 内容的标题 |
| content | string | 具体内容 |
| timestamp | long | 时间戳 |
###作业题目/试卷题目/竞赛题目
所含属性包含:
| 属性名 | 属性值类型 | 说明 |
|----------------|--------------------|----------|
| type | Score对象 | 得分情况 |
| questions | ManualJudgeInfo对象 | 教师手动评判信息 |
| tags | OnlineJudgeInfo对象 | 在线自动评判信息 |
| attachmentInfo | AttachmentInfo对象数组 | 学生上传的附件 |
Score、ManualJudgeInfo、OnlineJudgeInfo、AttachmentInfo对象的数据结构可参考[专有属性中公用数据结构](专有属性中公用数据结构)节。
Clone repository
  1. 前言
  2. API响应格式