// 必须首先执行 CREATE CONSTRAINT IF NOT EXISTS FOR (kp:KnowledgePoint) REQUIRE kp.id IS UNIQUE; CREATE CONSTRAINT IF NOT EXISTS FOR (ab:AbilityPoint) REQUIRE ab.id IS UNIQUE; // 一年级核心知识点 MERGE (kp_101:KnowledgePoint {id: "KP_8d3a1b"}) SET kp_101.name = "20以内数的认识", kp_101.grade = 1, kp_101.tags = ["数感", "基础"]; MERGE (kp_102:KnowledgePoint {id: "KP_9c4d2e"}) SET kp_102.name = "10以内加减法", kp_102.grade = 1, kp_102.tags = ["运算"]; // 二年级核心知识点 MERGE (kp_201:KnowledgePoint {id: "KP_3f5g6h"}) SET kp_201.name = "100以内加减法", kp_201.grade = 2, kp_201.tags = ["竖式计算"]; MERGE (kp_202:KnowledgePoint {id: "KP_7i8j9k"}) SET kp_202.name = "认识人民币", kp_202.grade = 2, kp_202.tags = ["生活数学"]; // 三年级核心知识点 MERGE (kp_301:KnowledgePoint {id: "KP_1l2m3n"}) SET kp_301.name = "两位数乘一位数", kp_301.grade = 3, kp_301.tags = ["乘法"]; MERGE (kp_302:KnowledgePoint {id: "KP_4o5p6q"}) SET kp_302.name = "长方形周长计算", kp_302.grade = 3, kp_302.tags = ["几何"]; // 通用能力 MERGE (ab_001:AbilityPoint {id: "AB_a1b2c3"}) SET ab_001.name = "口算能力", ab_001.category = "计算", ab_001.coreLevel = 5; MERGE (ab_002:AbilityPoint {id: "AB_d4e5f6"}) SET ab_002.name = "数学阅读", ab_002.category = "理解", ab_002.coreLevel = 4; // 专项能力 MERGE (ab_101:AbilityPoint {id: "AB_g7h8i9"}) SET ab_101.name = "钱币计算", ab_101.category = "生活应用", ab_101.coreLevel = 3; MERGE (ab_301:AbilityPoint {id: "AB_j1k2l3"}) SET ab_301.name = "几何测量", ab_301.category = "空间", ab_301.coreLevel = 4; // 一年级关联 MATCH (kp:KnowledgePoint {id: "KP_8d3a1b"}), (ab:AbilityPoint {id: "AB_a1b2c3"}) MERGE (kp)-[r:DEVELOPS_ABILITY]->(ab) SET r.weight = 0.9; // 二年级关联 MATCH (kp:KnowledgePoint {id: "KP_7i8j9k"}), (ab:AbilityPoint {id: "AB_g7h8i9"}) MERGE (kp)-[r:REQUIRES_ABILITY]->(ab) SET r.weight = 0.85; // 三年级关联 MATCH (kp:KnowledgePoint {id: "KP_4o5p6q"}), (ab:AbilityPoint {id: "AB_j1k2l3"}) MERGE (kp)-[r:DEVELOPS_ABILITY]->(ab) SET r.weight = 0.88; // 查看所有三年级知识点 MATCH (kp:KnowledgePoint) WHERE kp.grade = 3 RETURN kp.id, kp.name, kp.tags; // 检查能力关联 MATCH (kp)-[r]->(ab) WHERE kp.grade IN [1,2,3] RETURN kp.name, type(r), ab.name, r.weight ORDER BY kp.grade;