"""从 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