parent
0913882f65
commit
1a53ab3ccd
@ -0,0 +1,149 @@
|
||||
from py2neo import Graph, Node, Relationship, Subgraph
|
||||
from Config.Config import *
|
||||
|
||||
# 连接到 Neo4j 数据库
|
||||
graph = Graph(NEO4J_URI, auth=NEO4J_AUTH)
|
||||
|
||||
|
||||
# 定义节点类
|
||||
class EntityNode(Node):
|
||||
def __init__(self, name, description=""):
|
||||
super().__init__("Entity", name=name, description=description)
|
||||
|
||||
|
||||
class TopicNode(Node):
|
||||
def __init__(self, name, description=""):
|
||||
super().__init__("Topic", name=name, description=description)
|
||||
|
||||
|
||||
class SubtopicNode(Node):
|
||||
def __init__(self, name, description=""):
|
||||
super().__init__("Subtopic", name=name, description=description)
|
||||
|
||||
|
||||
class RelationshipNode(Relationship):
|
||||
def __init__(self, start_node, end_node, relation_type):
|
||||
super().__init__(start_node, relation_type, end_node)
|
||||
|
||||
|
||||
# 创建知识图谱的函数
|
||||
def create_knowledge_graph():
|
||||
# 创建主题节点
|
||||
core_topic = EntityNode("小学数学教学中的若干问题", "小学数学教学的核心内容")
|
||||
|
||||
# 创建数的认识主题及子主题节点
|
||||
number_recognition = TopicNode("数的认识", "关于数的基本概念和性质")
|
||||
quantity_essence = SubtopicNode("数量与数的本质", "数量是对现实生活中事物量的抽象")
|
||||
natural_numbers = SubtopicNode("自然数", "自然数是对数量的抽象")
|
||||
negative_numbers = SubtopicNode("负数", "负数是与自然数数量相等但意义相反的数")
|
||||
fractions = SubtopicNode("分数", "分数本身是数,表示整体与等分关系或比例关系")
|
||||
decimals = SubtopicNode("小数", "小数建立在十进制基础上")
|
||||
number_sense = SubtopicNode("数感", "关于数与数量、数量关系、运算结果估计的感悟")
|
||||
|
||||
# 创建数的认识主题与子主题的关系
|
||||
core_topic_number_rel = RelationshipNode(core_topic, number_recognition, "INCLUDES")
|
||||
number_recognition_quantity_rel = RelationshipNode(number_recognition, quantity_essence, "INCLUDES")
|
||||
number_recognition_natural_rel = RelationshipNode(number_recognition, natural_numbers, "INCLUDES")
|
||||
number_recognition_negative_rel = RelationshipNode(number_recognition, negative_numbers, "INCLUDES")
|
||||
number_recognition_fraction_rel = RelationshipNode(number_recognition, fractions, "INCLUDES")
|
||||
number_recognition_decimal_rel = RelationshipNode(number_recognition, decimals, "INCLUDES")
|
||||
number_recognition_sense_rel = RelationshipNode(number_recognition, number_sense, "INCLUDES")
|
||||
|
||||
# 创建数的运算主题及子主题节点
|
||||
number_operations = TopicNode("数的运算", "关于数的运算规则和方法")
|
||||
addition = SubtopicNode("加法运算", "加法运算的解释基于对应的方法和定义的方法")
|
||||
subtraction = SubtopicNode("减法运算", "减法是加法的逆运算")
|
||||
multiplication = SubtopicNode("乘法运算", "自然数集合上乘法是加法的简便运算")
|
||||
division = SubtopicNode("除法运算", "除法是乘法的逆运算")
|
||||
mixed_operations = SubtopicNode("混合运算", "混合运算遵循先乘除后加减的法则")
|
||||
estimation = SubtopicNode("估算", "估算是基于数量关系的运算")
|
||||
symbol_awareness = SubtopicNode("符号意识", "符号意识涉及用字母表示数和基于符号的运算")
|
||||
equation_essence = SubtopicNode("方程的本质", "方程用字母表示未知量,讲述现实世界中的等量关系")
|
||||
operations_model = SubtopicNode("模型", "模型是数学与现实世界的桥梁")
|
||||
problem_discovery = SubtopicNode("发现问题与提出问题", "发现问题与提出问题体现创新意识")
|
||||
|
||||
# 创建数的运算主题与子主题的关系
|
||||
core_topic_operation_rel = RelationshipNode(core_topic, number_operations, "INCLUDES")
|
||||
operations_addition_rel = RelationshipNode(number_operations, addition, "INCLUDES")
|
||||
operations_subtraction_rel = RelationshipNode(number_operations, subtraction, "INCLUDES")
|
||||
operations_multiplication_rel = RelationshipNode(number_operations, multiplication, "INCLUDES")
|
||||
operations_division_rel = RelationshipNode(number_operations, division, "INCLUDES")
|
||||
operations_mixed_rel = RelationshipNode(number_operations, mixed_operations, "INCLUDES")
|
||||
operations_estimation_rel = RelationshipNode(number_operations, estimation, "INCLUDES")
|
||||
operations_symbol_rel = RelationshipNode(number_operations, symbol_awareness, "INCLUDES")
|
||||
operations_equation_rel = RelationshipNode(number_operations, equation_essence, "INCLUDES")
|
||||
operations_model_rel = RelationshipNode(number_operations, operations_model, "INCLUDES")
|
||||
operations_problem_rel = RelationshipNode(number_operations, problem_discovery, "INCLUDES")
|
||||
|
||||
# 创建图形与几何主题及子主题节点
|
||||
geometry = TopicNode("图形与几何", "关于图形与几何的基本概念和性质")
|
||||
space_concept = SubtopicNode("空间观念与几何直观", "空间观念是空间想象力,几何直观是直接判断能力")
|
||||
figure_recognition = SubtopicNode("图形的认识与分类", "图形的认识需从立体图形抽象出点、线、面、体、角等概念")
|
||||
measurement = SubtopicNode("长度、面积、体积", "长度、面积、体积是对一维、二维、三维空间物体的度量")
|
||||
figure_movement = SubtopicNode("平移、旋转、轴对称", "图形的运动包括平移、旋转、轴对称")
|
||||
|
||||
# 创建图形与几何主题与子主题的关系
|
||||
core_topic_geometry_rel = RelationshipNode(core_topic, geometry, "INCLUDES")
|
||||
geometry_space_rel = RelationshipNode(geometry, space_concept, "INCLUDES")
|
||||
geometry_figure_rel = RelationshipNode(geometry, figure_recognition, "INCLUDES")
|
||||
geometry_measurement_rel = RelationshipNode(geometry, measurement, "INCLUDES")
|
||||
geometry_movement_rel = RelationshipNode(geometry, figure_movement, "INCLUDES")
|
||||
|
||||
# 创建统计与概率主题及子主题节点
|
||||
statistics_probability = TopicNode("统计与概率", "关于统计与概率的基本概念和方法")
|
||||
data_analysis = SubtopicNode("数据分析观念", "统计学以数据为基础,强调数据分析观念")
|
||||
statistical_chart = SubtopicNode("统计图", "三种统计图各有共性和差异,用于直观表述数据")
|
||||
data_randomness = SubtopicNode("数据的随机性", "数据的随机性与不确定性区别")
|
||||
average = SubtopicNode("平均数", "平均数是统计学中的重要概念")
|
||||
probability = SubtopicNode("概率", "概率是随机事件发生的属性")
|
||||
|
||||
# 创建统计与概率主题与子主题的关系
|
||||
core_topic_statistics_rel = RelationshipNode(core_topic, statistics_probability, "INCLUDES")
|
||||
statistics_data_rel = RelationshipNode(statistics_probability, data_analysis, "INCLUDES")
|
||||
statistics_chart_rel = RelationshipNode(statistics_probability, statistical_chart, "INCLUDES")
|
||||
statistics_randomness_rel = RelationshipNode(statistics_probability, data_randomness, "INCLUDES")
|
||||
statistics_average_rel = RelationshipNode(statistics_probability, average, "INCLUDES")
|
||||
statistics_probability_rel = RelationshipNode(statistics_probability, probability, "INCLUDES")
|
||||
|
||||
# 创建附录内容主题及子主题节点
|
||||
appendix = TopicNode("附录内容", "小学数学相关话题和教学设计")
|
||||
topics = SubtopicNode("若干话题", "与小学数学相关的若干话题")
|
||||
teaching_design = SubtopicNode("相关教学设计", "小学数学教学设计示例")
|
||||
|
||||
# 创建附录内容主题与子主题的关系
|
||||
core_topic_appendix_rel = RelationshipNode(core_topic, appendix, "INCLUDES")
|
||||
appendix_topics_rel = RelationshipNode(appendix, topics, "INCLUDES")
|
||||
appendix_design_rel = RelationshipNode(appendix, teaching_design, "INCLUDES")
|
||||
|
||||
# 合并所有节点和关系
|
||||
nodes = [
|
||||
core_topic, number_recognition, quantity_essence, natural_numbers, negative_numbers,
|
||||
fractions, decimals, number_sense, number_operations, addition, subtraction,
|
||||
multiplication, division, mixed_operations, estimation, symbol_awareness,
|
||||
equation_essence, operations_model, problem_discovery, geometry, space_concept,
|
||||
figure_recognition, measurement, figure_movement, statistics_probability, data_analysis,
|
||||
statistical_chart, data_randomness, average, probability, appendix, topics, teaching_design
|
||||
]
|
||||
relationships = [
|
||||
core_topic_number_rel, number_recognition_quantity_rel, number_recognition_natural_rel,
|
||||
number_recognition_negative_rel, number_recognition_fraction_rel, number_recognition_decimal_rel,
|
||||
number_recognition_sense_rel, core_topic_operation_rel, operations_addition_rel,
|
||||
operations_subtraction_rel, operations_multiplication_rel, operations_division_rel,
|
||||
operations_mixed_rel, operations_estimation_rel, operations_symbol_rel,
|
||||
operations_equation_rel, operations_model_rel, operations_problem_rel,
|
||||
core_topic_geometry_rel, geometry_space_rel, geometry_figure_rel,
|
||||
geometry_measurement_rel, geometry_movement_rel, core_topic_statistics_rel,
|
||||
statistics_data_rel, statistics_chart_rel, statistics_randomness_rel,
|
||||
statistics_average_rel, statistics_probability_rel, core_topic_appendix_rel,
|
||||
appendix_topics_rel, appendix_design_rel
|
||||
]
|
||||
|
||||
# 创建子图并提交到数据库
|
||||
subgraph = Subgraph(nodes, relationships)
|
||||
graph.create(subgraph)
|
||||
|
||||
print("知识图谱创建成功!")
|
||||
|
||||
|
||||
# 调用函数创建知识图谱
|
||||
create_knowledge_graph()
|
@ -1,65 +0,0 @@
|
||||
{
|
||||
"核心理念": {
|
||||
"名称": "小学数学核心素养培养",
|
||||
"内容": "通过数形结合培养抽象思维和空间观念...",
|
||||
"目标": "发展数学思维,培养问题解决能力"
|
||||
},
|
||||
"知识模块": [
|
||||
{
|
||||
"名称": "数的认识",
|
||||
"核心问题": ["如何建立数感", "理解位值制", "培养估算意识"],
|
||||
"子模块": [
|
||||
{
|
||||
"名称": "整数",
|
||||
"关键点": ["计数单位", "数位顺序", "数的组成"],
|
||||
"教学案例": "利用计数器演示十进制关系",
|
||||
"典型错误": "混淆数位和计数单位"
|
||||
},
|
||||
{
|
||||
"名称": "分数",
|
||||
"关键点": ["分数意义", "分数单位", "分数比较"],
|
||||
"教学策略": "实物操作→图形表示→符号抽象"
|
||||
}
|
||||
],
|
||||
"评价标准": "能正确读写数,理解数的组成"
|
||||
},
|
||||
{
|
||||
"名称": "图形与几何",
|
||||
"核心问题": ["空间观念培养", "几何直观能力", "测量意识"],
|
||||
"子模块": [
|
||||
{
|
||||
"名称": "平面图形",
|
||||
"属性": ["边", "角", "对称性", "周长"],
|
||||
"关系": ["包含", "组合", "变换"]
|
||||
},
|
||||
{
|
||||
"名称": "立体图形",
|
||||
"视图": ["三视图", "展开图"],
|
||||
"体积公式推导": "等积变形思想"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"教学原则": {
|
||||
"情境创设": "真实问题驱动",
|
||||
"探究过程": "操作→观察→抽象→应用",
|
||||
"差异化教学": "分层任务设计"
|
||||
},
|
||||
"附录": {
|
||||
"教学设计": [
|
||||
{
|
||||
"主题": "分数初步认识",
|
||||
"流程": ["分月饼情境", "折纸活动", "分数表示"]
|
||||
},
|
||||
{
|
||||
"主题": "圆的面积",
|
||||
"思想方法": "化曲为直"
|
||||
}
|
||||
],
|
||||
"数学思想": ["转化思想", "模型思想", "推理思想"],
|
||||
"常见问题": {
|
||||
"概念混淆": ["周长与面积", "分数与除法"],
|
||||
"计算错误": ["进位遗漏", "单位换算"]
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue