neo4j_exercise.py 718 B

12345678910111213141516171819202122
  1. """从 Neo4j 回填习题上的知识点元数据。"""
  2. from __future__ import annotations
  3. from app.integrations.neo4j import Neo4jClient
  4. from app.models import Exercise
  5. from app.utils.knowledge_codes import split_knowledge_codes
  6. def enrich_exercise_from_neo4j(ex: Exercise, neo4j: Neo4jClient) -> None:
  7. if not ex.knowledge_code:
  8. return
  9. main_codes = split_knowledge_codes(ex.knowledge_code)
  10. if not main_codes:
  11. return
  12. try:
  13. kp = neo4j.get_knowledge_point(main_codes[0])
  14. if kp:
  15. ex.knowledge_grade = kp.get("grade")
  16. ex.knowledge_category = kp.get("category")
  17. ex.knowledge_point_name = kp.get("name")
  18. except Exception:
  19. pass