Exemplo n.º 1
0
def get_question_by_knowledge():
    """
    根据知识点查询试题
    ---
    tags:
    - 知识点
    definitions:
    - schema:
        id: Knowledge
        properties:
          name:
            type: string
            description: 知识点名称
          created_at:
            type: string
            description: '试题创建时间,字符串格式'
          updated_at:
            type: string
            description: '试题更新时间,字符串格式'
    parameters:
    - name: k
      in: query
      description: k 知识点名称
    responses:
      '200':
        description: 试题列表
        schema:
          type: array
          items:
            $ref: '#/definitions/Question'
    """
    return response({})
Exemplo n.º 2
0
def analysis_knowledge():
    """
    学生知识点掌握情况. 在已经做过的试题基础上,统计知识点的掌握情况.
    如果做题数目少于设定值,则不进行计算.
    ---
    tags:
    - 错题集
    parameters:
    - name: body
      in: body
      schema:
        required:
          - sid
        properties:
          sid:
            type: string
            description: 学生id
          cid:
            type: string
            description: 章节id
    responses:
      '200':
        description: 学生的错题集
    """
    return response({})
Exemplo n.º 3
0
def get_error_book(sid):
    """
    根据学生查询错题集.
    ---
    tags:
    - 错题集
    parameters:
    - name: sid
      in: path
      description: 学生id
      required: true
      type: string
    - name: pageNum
      in: query
      description: 分页页码, 当前页码
      required: false
      type: int
      default: 1
    - name: pageSize
      in: query
      description: 分页页码, 当前页码
      required: false
      type: int
      default: 10
    responses:
      '200':
        description: 学生的错题集
        schema:
          type: array
          $ref: '#/definitions/Question'
    """
    return response({})
Exemplo n.º 4
0
def list_knowledge():
    """
    查询知识点列表.
    ---
    tags:
    - 知识点
    parameters:
    - name: pageNum
      in: query
      description: 分页页码, 当前页码
      required: false
      type: int
      default: 1
    - name: pageSize
      in: query
      description: 分页页码, 当前页码
      required: false
      type: int
      default: 10
    responses:
      '200':
         description: 知识点列表
         schema:
           type: array
           items:
             $ref: '#/definitions/Knowledge'
    """
    return response({})
Exemplo n.º 5
0
def list_questions():
    """
    查询试题列表.
    ---
    tags:
      - 试题
    parameters:
    - name: pageNum
      in: query
      description: 分页页码, 当前页码
      required: false
      type: int
      default: 1
    - name: pageSize
      in: query
      description: 分页页码, 当前页码
      required: false
      type: int
      default: 10
    responses:
      '200':
        description: 试题列表
        schema:
          type: array
          items:
            $ref: '#/definitions/Question'
    """
    return response({})
Exemplo n.º 6
0
def textbooks():
    """
    查询教材列表.
    ---
    tags:
    - 章节
    definitions:
    - schema:
        id: Textbook
        properties:
          id:
            type: string
            description: 教材id
          name:
            type: string
            description: 教材名称
    responses:
      '200':
        description: 查询到的试题
        schema:
          type: array
          items:
            $ref: '#/definitions/Textbook'
    """
    return response({})
Exemplo n.º 7
0
def list_student():
    """
    获取学生列表
    ---
    tags:
      - 学生
    parameters:
    - name: pageNum
      in: query
      description: 分页页码, 当前页码
      required: false
      type: int
      default: 1
    - name: pageSize
      in: query
      description: 分页页码, 当前页码
      required: false
      type: int
      default: 50
    responses:
      '200':
        description: 学生列表
        schema:
          type: array
          items:
            $ref: '#/definitions/Student'
    """
    return response({})
Exemplo n.º 8
0
def get_student(sid):
    """
    获取学生信息.
    ---
    tags:
    - 学生
    definitions:
    - schema:
        id: Student
        properties:
          id:
            type: string
            description: 学生id
          question:
            type: name
            description: 学生名称
    parameters:
    - name: sid
      in: path
      description: 学生id
      required: true
      type: string
    responses:
      '200':
        description: 查询到的学生
        schema:
          type: Student
          $ref: '#/definitions/Student'
    """
    return response({})
Exemplo n.º 9
0
def chapter(tid):
    """
    指定教材的章节.
    ---
    tags:
    - 章节
    definitions:
    - schema:
        id: Section
        properties:
          id:
            type: string
            description: 节id
          name:
            type: string
            description: 节名称
    - schema:
        id: Chapter
        properties:
          id:
            type: string
            description: 章id
          name:
            type: string
            description: 章名称
          sections:
            type: array
            items:
              $ref: '#/definitions/Section'
            description: 节列表
    parameters:
    - name: tid
      in: path
      description: 教材id
      required: true
      type: string
    responses:
      '200':
        description: 章节列表
        schema:
          type: array
          items:
            $ref: '#/definitions/Chapter'
    """
    return response({})
Exemplo n.º 10
0
def analysis_all_knowledge(sid):
    """
    学生知识点掌握情况. 在已经做过的试题基础上,统计知识点的掌握情况.
    如果做题数目少于设定值,则不进行计算.
    ---
    tags:
    - 错题集
    parameters:
    - name: sid
      in: path
      description: 学生id
      required: true
      type: string
    responses:
      '200':
        description: 学生的错题集
    """
    return response({})
Exemplo n.º 11
0
def get_question_knowledge(qid):
    """
    根据试题id查询试题的知识点.
    ---
    tags:
      - 试题
    parameters:
    - name: qid
      in: path
      description: 试题id
      required: true
      type: string
    responses:
      '200':
        description: 查询到的知识点列表
        schema:
          type: array
          items:
            type: string
   """
    return response({})
Exemplo n.º 12
0
def get_question(qid):
    """
    根据试题id查询试题.
    ---
    tags:
    - 试题
    definitions:
    - schema:
        id: Option
        properties:
          key:
            type: string
            description: 选项
          value:
            type: string
            description: 选项取值
    - schema:
        id: Question
        properties:
          id:
            type: string
            description: 试题id
          question:
            type: string
            description: 试题题干
          type:
            type: string
            description: 试题类型
          complexity:
            type: number
            description: '试题复杂度,浮点型'
          option:
            type: array
            items:
              $ref: '#/definitions/Option'
            description: 试题选项
          knowledge:
            type: string
            description: 试题所属知识点
          answer:
            type: string
            description: 答案
          analysis:
            type: string
            description: 试题分析
          created_at:
            type: string
            description: '试题创建时间,字符串格式'
          updated_at:
            type: string
            description: '试题更新时间,字符串格式'
    parameters:
    - name: qid
      in: path
      description: 试题id
      required: true
      type: string
    responses:
      '200':
        description: 查询到的试题
        schema:
          type: Question
          $ref: '#/definitions/Question'
    """
    return response({})
Exemplo n.º 13
0
def question():
    """
    根据试题查询对应相似的试题.
    ---
    tags:
    - 相似题
    definitions:
    - schema:
        id: QuestionWithReason
        description: 推荐试题和理由
        allOf:
        - $ref: '#/definitions/Question'
        - type: object
          properties:
            reason:
              type: string
              description: 推荐理由
    parameters:
    - name: body
      in: body
      schema:
        required:
          - id
        properties:
          id:
            type: string
            description: '试题id,查询该试题的相似id'
          types:
            type: array
            description: 试题选项集合
            items:
              type: string
          count:
            type: number
            description: '推荐题目计数,最多支持20题'
          no_ids:
            type: array
            description: '不加入的试题id'
            items:
              type: string
    responses:
      '200':
        description: 相似题目
        schema:
          type: array
          items:
            $ref: '#/definitions/QuestionWithReason'
    """
    payload = request.json
    count = max(payload.get('count', 5), 20)
    condition = parse_condition(payload)

    # 向三个方向搜索试题,相同知识点-下位知识点-上位知识点
    # 相同知识点上的试题
    qs = OrderQuestion()
    same_cql = "MATCH(q0:Question)-[r0]->(k:Knowledge)<-[r]-(q:Question) " \
               "WHERE " + condition + \
               "RETURN q, count(r0) as cnt, '相同知识点-' + k.name AS kw ORDER BY count(r0) DESC "
    cursor = graph.run(same_cql)
    parse_cursor(cursor, qs, count)
    if len(qs) >= count:
        return response(qs.values())

    # 下位知识点,向下细化
    suf_cql = "MATCH(q0:Question)-[r*2..3]->(k:Knowledge)<-[r2]-(q:Question) " \
              "WHERE " + condition + \
              "RETURN q, '细化知识点-' + k.name as kw"
    cursor = graph.run(suf_cql)
    parse_cursor(cursor, qs, count)
    if len(qs) >= count:
        return response(qs.values())

    # 上位知识点,向上延伸
    pre_cql = "MATCH(q0:Question)-[r0]->(k0)<-[r1]-(k1:Knowledge)<-[r*0..1]-(k:Knowledge)<-[rn]-(q:Question) " \
              "WHERE " + condition + \
              "RETURN q, '拓展知识点-' + k.name AS kw"
    cursor = graph.run(pre_cql)
    parse_cursor(cursor, qs, count)
    return response(qs.values())