From 63734e8707b2fd26db8b69a7583f118ecf05590a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 19 Feb 2025 10:19:54 +0800 Subject: [PATCH] 'commit' --- AI/Neo4j/N4_PrintShiTi.py | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/AI/Neo4j/N4_PrintShiTi.py b/AI/Neo4j/N4_PrintShiTi.py index e4286ce0..9b2ebf9f 100644 --- a/AI/Neo4j/N4_PrintShiTi.py +++ b/AI/Neo4j/N4_PrintShiTi.py @@ -23,30 +23,33 @@ def query_all_questions(): # 遍历每个试题 for record in question_ids: qid = record['question_id'] - # 执行查询 + # 修改查询部分 data = graph.run(""" - MATCH (q:Question {id: $qid}) - OPTIONAL MATCH (q)-[:REQUIRES_KNOWLEDGE]->(kp:KnowledgePoint) - OPTIONAL MATCH (q)-[:DEVELOPS_LITERACY]->(lp:LiteracyNode) - RETURN - q.content AS content, - collect(DISTINCT kp.name) AS knowledge_points, - collect(DISTINCT lp.title) AS literacy_points - """, qid=qid).data() + MATCH (q:Question {id: $qid}) + OPTIONAL MATCH (q)-[:REQUIRES_KNOWLEDGE]->(kp:KnowledgePoint) + OPTIONAL MATCH (q)-[:DEVELOPS_LITERACY]->(lp:LiteracyNode) + RETURN + q.content AS content, + collect(DISTINCT {id: kp.id, name: kp.name}) AS knowledge_points, + collect(DISTINCT {id: lp.value, title: lp.title}) AS literacy_points + """, qid=qid).data() if data: result = { "question_id": qid, "content": data[0]['content'], - "knowledge_points": data[0]['knowledge_points'], - "literacy_points": data[0]['literacy_points'] + # 保留原有结构 + "knowledge_points": data[0]['knowledge_points'], # 现在每个元素包含id+name + "literacy_points": data[0]['literacy_points'] # 现在每个元素包含id+title } results.append(result) - # 实时打印结果 + + # 增强版输出展示 print(f"\n试题ID: {qid}") - print(f"内容: {result['content'][:50]}...") - print(f"知识点: {result['knowledge_points']}") - print(f"素养点: {result['literacy_points']}") + print(f"知识点: {[kp['name'] for kp in result['knowledge_points']]}") + print(f"知识点ID: {[kp['id'] for kp in result['knowledge_points']]}") + print(f"素养点: {[lp['title'] for lp in result['literacy_points']]}") + print(f"素养点ID: {[lp['id'] for lp in result['literacy_points']]}") except Exception as e: print(f"❌ 查询失败: {str(e)}")