| 12345678910111213141516171819202122 |
- """从 Neo4j 回填习题上的知识点元数据。"""
- from __future__ import annotations
- from app.integrations.neo4j import Neo4jClient
- from app.models import Exercise
- from app.utils.knowledge_codes import split_knowledge_codes
- def enrich_exercise_from_neo4j(ex: Exercise, neo4j: Neo4jClient) -> None:
- if not ex.knowledge_code:
- return
- main_codes = split_knowledge_codes(ex.knowledge_code)
- if not main_codes:
- return
- try:
- kp = neo4j.get_knowledge_point(main_codes[0])
- if kp:
- ex.knowledge_grade = kp.get("grade")
- ex.knowledge_category = kp.get("category")
- ex.knowledge_point_name = kp.get("name")
- except Exception:
- pass
|