Initial commit
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
from typing import ClassVar
|
||||
from modules.database.tools.neontology.baserelationship import BaseRelationship
|
||||
|
||||
import modules.database.schemas.nodes.schools.pastoral as pastoral_nodes
|
||||
import modules.database.schemas.nodes.schools.curriculum as curriculum_nodes
|
||||
import modules.database.schemas.nodes.structures.schools as school_structures
|
||||
|
||||
# Structure layer relationships
|
||||
class CurriculumStructureIncludesKeyStage(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'CURRICULUM_STRUCTURE_INCLUDES_KEY_STAGE'
|
||||
source: school_structures.CurriculumStructureNode
|
||||
target: curriculum_nodes.KeyStageNode
|
||||
|
||||
class PastoralStructureIncludesYearGroup(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'PASTORAL_STRUCTURE_INCLUDES_YEAR_GROUP'
|
||||
source: school_structures.PastoralStructureNode
|
||||
target: pastoral_nodes.YearGroupNode
|
||||
|
||||
## Curriculum layer relationships
|
||||
class SubjectForKeyStage(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'SUBJECT_FOR_KEY_STAGE'
|
||||
source: curriculum_nodes.SubjectNode
|
||||
target: curriculum_nodes.KeyStageNode
|
||||
|
||||
class SubjectHasYearGroupSyllabus(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'SUBJECT_HAS_YEAR_GROUP_SYLLABUS'
|
||||
source: curriculum_nodes.SubjectNode
|
||||
target: pastoral_nodes.YearGroupSyllabusNode
|
||||
|
||||
class SubjectHasKeyStageSyllabus(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'SUBJECT_HAS_KEY_STAGE_SYLLABUS'
|
||||
source: curriculum_nodes.SubjectNode
|
||||
target: curriculum_nodes.KeyStageSyllabusNode
|
||||
|
||||
class TopicPartOfYearGroupSyllabus(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'YEAR_SYLLABUS_INCLUDES_TOPIC'
|
||||
source: pastoral_nodes.YearGroupSyllabusNode
|
||||
target: curriculum_nodes.TopicNode
|
||||
|
||||
class KeyStageSyllabusIncludesTopic(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'KEY_STAGE_SYLLABUS_INCLUDES_TOPIC'
|
||||
source: curriculum_nodes.KeyStageSyllabusNode
|
||||
target: curriculum_nodes.TopicNode
|
||||
|
||||
class YearGroupHasYearGroupSyllabus(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'YEAR_GROUP_HAS_YEAR_GROUP_SYLLABUS'
|
||||
source: pastoral_nodes.YearGroupNode
|
||||
target: pastoral_nodes.YearGroupSyllabusNode
|
||||
|
||||
class KeyStageSyllabusIncludesYearGroupSyllabus(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'KEY_STAGE_SYLLABUS_INCLUDES_YEAR_GROUP_SYLLABUS'
|
||||
source: curriculum_nodes.KeyStageSyllabusNode
|
||||
target: pastoral_nodes.YearGroupSyllabusNode
|
||||
|
||||
class KeyStageIncludesKeyStageSyllabus(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'KEY_STAGE_INCLUDES_KEY_STAGE_SYLLABUS'
|
||||
source: curriculum_nodes.KeyStageNode
|
||||
target: curriculum_nodes.KeyStageSyllabusNode
|
||||
|
||||
class KeyStageIncludesTopic(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'KEY_STAGE_INCLUDES_TOPIC'
|
||||
source: curriculum_nodes.KeyStageNode
|
||||
target: curriculum_nodes.TopicNode
|
||||
|
||||
class SubjectIncludesTopic(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'SUBJECT_INCLUDES_TOPIC'
|
||||
source: curriculum_nodes.SubjectNode
|
||||
target: curriculum_nodes.TopicNode
|
||||
|
||||
class TopicIncludesTopicLesson(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'TOPIC_INCLUDES_LESSON'
|
||||
source: curriculum_nodes.TopicNode
|
||||
target: curriculum_nodes.TopicLessonNode
|
||||
|
||||
class TopicIncludesLearningStatement(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'TOPIC_INCLUDES_LEARNING_STATEMENT'
|
||||
source: curriculum_nodes.TopicNode
|
||||
target: curriculum_nodes.LearningStatementNode
|
||||
|
||||
class LessonIncludesLearningStatement(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'LESSON_INCLUDES_LEARNING_STATEMENT'
|
||||
source: curriculum_nodes.TopicLessonNode
|
||||
target: curriculum_nodes.LearningStatementNode
|
||||
|
||||
# Science-specific curriculum layer relationships
|
||||
class TopicLessonIncludesScienceLab(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'LESSON_INCLUDES_SCIENCE_LAB'
|
||||
source: curriculum_nodes.TopicLessonNode
|
||||
target: curriculum_nodes.ScienceLabNode
|
||||
|
||||
class KeyStageFollowsKeyStage(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'KEY_STAGE_FOLLOWS_KEY_STAGE'
|
||||
source: curriculum_nodes.KeyStageNode
|
||||
target: curriculum_nodes.KeyStageNode
|
||||
|
||||
class YearGroupFollowsYearGroup(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'YEAR_GROUP_FOLLOWS_YEAR_GROUP'
|
||||
source: pastoral_nodes.YearGroupNode
|
||||
target: pastoral_nodes.YearGroupNode
|
||||
|
||||
class KeyStageSyllabusFollowsKeyStageSyllabus(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'KEY_STAGE_SYLLABUS_FOLLOWS_KEY_STAGE_SYLLABUS'
|
||||
source: curriculum_nodes.KeyStageSyllabusNode
|
||||
target: curriculum_nodes.KeyStageSyllabusNode
|
||||
|
||||
class YearGroupSyllabusFollowsYearGroupSyllabus(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'YEAR_GROUP_SYLLABUS_FOLLOWS_YEAR_GROUP_SYLLABUS'
|
||||
source: pastoral_nodes.YearGroupSyllabusNode
|
||||
target: pastoral_nodes.YearGroupSyllabusNode
|
||||
|
||||
class TopicLessonFollowsTopicLesson(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'LESSON_FOLLOWS_LESSON'
|
||||
source: curriculum_nodes.TopicLessonNode
|
||||
target: curriculum_nodes.TopicLessonNode
|
||||
|
||||
class YearGroupSyllabusIncludesTopic(BaseRelationship):
|
||||
__relationshiptype__: ClassVar[str] = 'YEAR_GROUP_SYLLABUS_INCLUDES_TOPIC'
|
||||
source: pastoral_nodes.YearGroupSyllabusNode
|
||||
target: curriculum_nodes.TopicNode
|
||||
Reference in New Issue
Block a user