oneie
Version:
Build apps, websites, and AI agents in English. Zero-interaction setup for AI agents (Claude Code, Cursor, Windsurf). Download to your computer, run in the cloud, deploy to the edge. Open source and free forever.
939 lines (773 loc) • 24.8 kB
Markdown
---
title: Ontology Education
dimension: knowledge
category: ontology-education.md
tags: 6-dimensions, knowledge, ontology
related_dimensions: events, groups, things
scope: global
created: 2025-11-03
updated: 2025-11-03
version: 1.0.0
ai_context: |
This document is part of the knowledge dimension in the ontology-education.md category.
Location: one/knowledge/ontology-education.md
Purpose: Documents education ontology - universities, schools, teachers
Related dimensions: events, groups, things
For AI agents: Read this to understand ontology education.
---
**Version:** 1.0.0
**Status:** Complete - Universal Education Model
**Extends:** Core Universal Ontology
**Principle:** This ontology models ANY educational institution - from individual teachers to universities - using the 6-dimension model.
---
Traditional LMS platforms (Blackboard, Canvas, Moodle) treat education as content delivery. This ontology models education as a **living system** where:
- **Students learn** through courses, assignments, and assessments
- **Teachers teach** by creating content and guiding students
- **Institutions organize** programs, departments, and curricula
- **Knowledge grows** through interactions, completions, and mastery
- **Communities form** around shared learning experiences
This ontology works for:
- 👨🏫 **Individual Teachers** - Course creation, student management
- 🏫 **Schools** - K-12 education, multiple teachers, grade levels
- 🎓 **Universities** - Departments, programs, degrees, research
- 📚 **Training Organizations** - Corporate training, certifications
- 🌐 **Online Academies** - MOOCs, bootcamps, cohort-based courses
---
## GROUPS: Educational Organizations
Uses hierarchical groups for nested educational structures:
```typescript
{
_id: Id<'groups'>,
slug: string,
name: string,
type: 'organization', // Educational institutions are organizations
parentGroupId?: Id<'groups'>, // Enables hierarchy
// Educational metadata
metadata: {
institutionType: 'teacher' | 'school' | 'university' | 'training_org' | 'online_academy',
// Accreditation & recognition
accreditation?: {
body: string,
status: 'accredited' | 'pending' | 'none',
validUntil?: number,
},
// Academic calendar
calendar: {
type: 'semester' | 'trimester' | 'quarter' | 'year_round',
currentTerm?: string, // e.g., "Fall 2025"
termStart?: number,
termEnd?: number,
},
// Grading system
gradingSystem: {
type: 'letter' | 'percentage' | 'points' | 'pass_fail',
scale: {
'A': { min: 90, max: 100 },
'B': { min: 80, max: 89 },
// etc.
},
passingGrade: string | number,
},
},
// Contact (inherited from core)
contact: {
email: string,
phone: string,
address: {
street: string,
city: string,
state: string,
country: string,
postalCode: string,
},
website: string,
},
// SEO (inherited from core)
seo: { /* ... */ },
// Settings
settings: {
visibility: 'public' | 'private',
enrollment: 'open' | 'application_required' | 'invite_only',
plan: 'starter' | 'pro' | 'enterprise',
},
}
```
**University Structure:**
```
University (parent group)
├─ School of Engineering (child group)
│ ├─ Computer Science Dept (grandchild group)
│ ├─ Electrical Engineering Dept
│ └─ Mechanical Engineering Dept
├─ School of Business
│ ├─ Finance Dept
│ └─ Marketing Dept
└─ School of Arts & Sciences
├─ Mathematics Dept
└─ Physics Dept
```
**School District Structure:**
```
School District (parent group)
├─ Lincoln High School (child group)
├─ Washington Middle School
└─ Jefferson Elementary School
```
**Individual Teacher:**
```
Jane Doe's Academy (single group)
├─ No children - independent teacher
```
---
## PEOPLE: Educational Roles
Uses existing people roles + education-specific permissions:
```typescript
{
_id: Id<'people'>,
email: string,
username: string,
displayName: string,
role: 'platform_owner' | 'group_owner' | 'group_user' | 'customer',
// Education-specific role mapping
// group_owner → University Admin, School Principal, Teacher
// group_user → Department Head, Assistant Teacher, TA
// customer → Student, Parent, Guest
permissions: [
// Teaching permissions
'create_course',
'grade_assignments',
'manage_students',
// Admin permissions
'manage_teachers',
'manage_curriculum',
'manage_enrollment',
'view_analytics',
// Student permissions
'enroll_in_courses',
'submit_assignments',
'view_grades',
],
profile: {
avatar: string,
bio: string,
// Education-specific profile
educationProfile?: {
// For teachers
credentials?: string[], // ['PhD Computer Science', 'MS Education']
specializations?: string[], // ['Machine Learning', 'Data Science']
yearsExperience?: number,
// For students
studentId?: string,
gradeLevel?: string, // 'Freshman', 'Sophomore', 'Grade 10', etc.
graduationYear?: number,
gpa?: number,
// For institutions
institutionId?: string,
},
},
}
```
---
Extends core ontology with 30+ education-specific thing types:
```typescript
type EducationThingType =
// Academic Structure
| "department" // Academic department
| "program" // Degree/diploma program
| "curriculum" // Structured learning path
| "academic_year" // School year container
| "semester" // Term/semester
| "class_period" // Scheduled class time
| "classroom" // Physical/virtual room
// Courses & Content
| "course" // Academic course
| "course_section" // Specific instance of course
| "lesson" // Individual lesson/lecture
| "module" // Collection of lessons
| "unit" // Topic grouping
| "lecture_notes" // Lecture materials
| "reading_material" // Required/optional readings
| "video_lecture" // Recorded lectures
| "lab" // Laboratory session
| "tutorial" // Tutorial/recitation
// Assessments
| "assignment" // Homework/project
| "quiz" // Short assessment
| "exam" // Formal examination
| "midterm" // Mid-term exam
| "final_exam" // Final exam
| "project" // Long-term project
| "presentation" // Student presentation
| "discussion" // Discussion prompt
// Submissions & Grading
| "submission" // Student work submitted
| "grade" // Grade record
| "rubric" // Grading criteria
| "feedback" // Teacher feedback
| "peer_review" // Peer assessment
// Achievements & Progress
| "certificate" // Completion certificate
| "degree" // Degree awarded
| "diploma" // Diploma awarded
| "badge" // Skill badge
| "transcript" // Academic transcript
| "credit" // Course credit
| "attendance_record" // Attendance tracking
// Resources
| "textbook" // Course textbook
| "syllabus" // Course syllabus
| "calendar" // Academic calendar
| "schedule" // Class schedule
| "office_hours" // Teacher availability
// Communication
| "announcement" // Course announcements
| "discussion_thread" // Discussion board
| "message" // Direct messages
| "question" // Q&A forum
// Administration
| "enrollment" // Student enrollment record
| "waitlist" // Course waitlist
| "prerequisite" // Course requirement
| "corequisite" // Co-enrollment requirement
| "learning_objective" // Course objective
| "competency" // Skill competency
| "accreditation" // Accreditation record;
```
---
```typescript
type EducationConnectionType =
// Course Structure
| "teaches" // teacher → course
| "assists_with" // TA → course
| "enrolled_in" // student → course
| "auditing" // student → course (non-credit)
| "waitlisted_for" // student → course
// Hierarchy
| "part_of_program" // course → program
| "part_of_curriculum" // course → curriculum
| "in_department" // course → department
| "prerequisite_for" // course → course
| "corequisite_with" // course → course
// Content Relationships
| "assigned_to" // assignment → course
| "submitted_for" // submission → assignment
| "graded_by" // submission → teacher
| "peer_reviewed_by" // submission → student
// Achievements
| "completed" // student → course
| "passed" // student → course
| "failed" // student → course
| "earned" // student → degree/certificate
| "awarded" // student → badge
// Mentorship & Guidance
| "advises" // advisor → student
| "mentors" // mentor → mentee
| "supervises" // professor → grad_student
// Collaboration
| "collaborates_with" // student → student (group work)
| "group_member" // student → project
// Resources
| "uses_textbook" // course → textbook
| "requires_reading" // lesson → reading_material
// Administrative
| "accredited_by" // program → accreditation_body
| "affiliated_with" // institution → institution;
```
---
```typescript
type EducationEventType =
// Enrollment Events
| "student_enrolled" // Student enrolled in course
| "student_dropped" // Student dropped course
| "student_waitlisted" // Added to waitlist
| "student_admitted" // Admitted to program
| "student_graduated" // Graduated from program
// Academic Events
| "course_created" // New course created
| "course_published" // Course made available
| "course_completed" // Student finished course
| "lesson_viewed" // Lesson accessed
| "lesson_completed" // Lesson marked complete
| "module_completed" // Module finished
// Assessment Events
| "assignment_created" // Assignment created
| "assignment_published" // Assignment made available
| "assignment_submitted" // Student submitted work
| "assignment_graded" // Teacher graded work
| "quiz_started" // Quiz begun
| "quiz_submitted" // Quiz completed
| "exam_scheduled" // Exam date set
| "exam_taken" // Exam completed
// Grading Events
| "grade_posted" // Grade published
| "grade_updated" // Grade changed
| "feedback_provided" // Teacher feedback given
| "peer_review_completed" // Peer review done
// Achievements
| "certificate_earned" // Certificate awarded
| "degree_conferred" // Degree granted
| "badge_awarded" // Badge earned
| "credit_awarded" // Credit granted
// Communication
| "announcement_posted" // Course announcement
| "discussion_posted" // Discussion thread created
| "question_asked" // Question posted
| "question_answered" // Answer provided
| "message_sent" // Direct message
// Attendance
| "attendance_marked" // Attendance recorded
| "absence_recorded" // Absence noted
| "tardy_recorded" // Late arrival
// Progress Tracking
| "progress_updated" // Progress milestone
| "competency_achieved" // Skill mastered
| "learning_objective_met" // Objective completed
// Administrative
| "semester_started" // Term began
| "semester_ended" // Term completed
| "office_hours_scheduled" // Availability set
| "meeting_scheduled" // Meeting arranged
// Analytics
| "time_spent_learning" // Learning time tracked
| "engagement_tracked" // Activity measured
| "performance_analyzed" // Analysis run;
```
---
Extends core knowledge with education-specific labels:
```typescript
{
_id: Id<'knowledge'>,
knowledgeType: 'label' | 'document' | 'chunk' | 'vector_only',
// Education-specific labels
labels: [
// Subjects
'subject:mathematics',
'subject:science',
'subject:english',
'subject:history',
'subject:computer_science',
// Grade Levels
'grade:k-5',
'grade:6-8',
'grade:9-12',
'grade:undergraduate',
'grade:graduate',
'grade:postdoc',
// Difficulty
'difficulty:beginner',
'difficulty:intermediate',
'difficulty:advanced',
'difficulty:expert',
// Learning Styles
'style:visual',
'style:auditory',
'style:kinesthetic',
'style:reading_writing',
// Content Type
'type:lecture',
'type:lab',
'type:tutorial',
'type:assignment',
'type:assessment',
// Learning Objectives (Bloom's Taxonomy)
'objective:remember',
'objective:understand',
'objective:apply',
'objective:analyze',
'objective:evaluate',
'objective:create',
// Competencies
'competency:critical_thinking',
'competency:problem_solving',
'competency:communication',
'competency:collaboration',
// Credentials
'credential:certificate',
'credential:diploma',
'credential:degree',
'credential:license',
],
}
```
---
```typescript
{
_id: Id<'things'>,
type: 'course',
name: string, // "Introduction to Computer Science"
properties: {
// Basic Info
code: string, // "CS 101"
description: string,
syllabus: string, // Full syllabus text
// Academic Details
credits: number, // 3, 4, etc.
level: 'undergraduate' | 'graduate' | 'postdoc' | 'k12',
department: string,
// Schedule
schedule: {
days: ('monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday')[],
startTime: string, // "09:00"
endTime: string, // "10:30"
location: string, // "Room 302" or "Online"
},
// Duration
duration: {
weeks: number,
hoursPerWeek: number,
totalHours: number,
},
// Enrollment
capacity: number,
enrolled: number,
waitlist: number,
// Prerequisites
prerequisites: Id<'things'>[], // Other course IDs
corequisites: Id<'things'>[],
// Grading
gradingPolicy: {
assignments: number, // 30% weight
quizzes: number, // 20%
midterm: number, // 20%
final: number, // 30%
attendance: number, // 0%
},
// Learning Outcomes
learningObjectives: string[],
competencies: string[],
// Materials
textbooks: {
title: string,
author: string,
isbn: string,
required: boolean,
}[],
// Settings
allowLateSubmissions: boolean,
latePenalty: number, // Percentage per day
allowDiscussions: boolean,
allowPeerReview: boolean,
},
status: 'draft' | 'published' | 'active' | 'completed' | 'archived',
groupId: Id<'groups'>, // Department or institution
createdAt: number,
updatedAt: number,
}
```
```typescript
{
_id: Id<'things'>,
type: 'assignment',
name: string, // "Problem Set 1"
properties: {
// Basic Info
description: string,
instructions: string,
// Linked Resources
courseId: Id<'things'>,
lessonId?: Id<'things'>,
// Timing
dueDate: number,
availableFrom?: number,
availableUntil?: number,
estimatedTime: number, // Minutes
// Grading
points: number, // Total points
rubric?: {
criteria: string,
points: number,
description: string,
}[],
// Submission
submissionType: 'text' | 'file' | 'url' | 'quiz' | 'code',
allowedFileTypes?: string[],
maxFileSize?: number, // MB
maxSubmissions?: number,
// Settings
allowLate: boolean,
latePenalty?: number,
requirePeerReview: boolean,
peerReviewCount?: number,
// Auto-grading (for quizzes/code)
autoGrade: boolean,
correctAnswers?: any,
testCases?: any,
},
status: 'draft' | 'published' | 'active' | 'closed' | 'graded',
groupId: Id<'groups'>,
createdAt: number,
updatedAt: number,
}
```
```typescript
{
_id: Id<'things'>,
type: 'submission',
name: string, // "John Doe - Problem Set 1"
properties: {
// Links
assignmentId: Id<'things'>,
studentId: Id<'people'>,
courseId: Id<'things'>,
// Submission Data
content?: string, // Text submission
files?: {
name: string,
url: string,
size: number,
}[],
url?: string, // External submission
// Timing
submittedAt: number,
attemptNumber: number,
isLate: boolean,
minutesLate?: number,
// Grading
grade?: number,
pointsEarned?: number,
pointsPossible: number,
letterGrade?: string,
feedback?: string,
rubricScores?: {
criteria: string,
pointsEarned: number,
pointsPossible: number,
feedback?: string,
}[],
// Grader Info
gradedBy?: Id<'people'>,
gradedAt?: number,
// Peer Review
peerReviews?: {
reviewerId: Id<'people'>,
rating: number,
comments: string,
submittedAt: number,
}[],
// Flags
flaggedForReview: boolean,
plagiarismScore?: number,
},
status: 'submitted' | 'grading' | 'graded' | 'returned' | 'resubmit',
groupId: Id<'groups'>,
createdAt: number,
updatedAt: number,
}
```
```typescript
{
_id: Id<'things'>,
type: 'enrollment',
name: string, // "John Doe - CS 101"
properties: {
// Links
studentId: Id<'people'>,
courseId: Id<'things'>,
semesterId?: Id<'things'>,
// Enrollment Details
enrolledAt: number,
enrollmentType: 'credit' | 'audit' | 'guest',
// Progress
progress: {
lessonsCompleted: number,
lessonsTotal: number,
percentComplete: number,
lastAccessedAt: number,
},
// Performance
currentGrade: number,
letterGrade?: string,
gpa?: number,
// Attendance
attendanceRate: number, // Percentage
absences: number,
tardies: number,
// Engagement
participationScore?: number,
discussionPosts: number,
questionsAsked: number,
// Completion
completedAt?: number,
passed?: boolean,
creditsEarned?: number,
certificateId?: Id<'things'>,
},
status: 'enrolled' | 'in_progress' | 'completed' | 'dropped' | 'failed',
groupId: Id<'groups'>,
createdAt: number,
updatedAt: number,
}
```
---
```yaml
Group Setup:
- name: "Jane's Math Academy"
- type: organization
- institutionType: teacher
People:
- Jane Doe (group_owner, teacher)
- 30 students (customer role)
Courses:
- Algebra 1 (15 students)
- Geometry (15 students)
Features Enabled:
- courses (course creation)
- assignments (homework)
- grading (grade tracking)
- analytics (student progress)
```
### K-12 School (Lincoln High School)
```yaml
Group Setup:
- name: "Lincoln High School"
- type: organization
- institutionType: school
- children: [9th Grade, 10th Grade, 11th Grade, 12th Grade]
People:
- Principal (group_owner)
- 50 teachers (group_user)
- 1000 students (customer)
Departments:
- Mathematics Dept (child group)
- Science Dept (child group)
- English Dept (child group)
Courses:
- 200+ courses across all grades
Features Enabled:
- courses
- assignments
- grading
- attendance
- transcripts
- parent_portal
- analytics
```
### University (MIT)
```yaml
Group Setup:
- name: "Massachusetts Institute of Technology"
- type: organization
- institutionType: university
- children: [School of Engineering, School of Science, ...]
Hierarchy:
MIT (parent)
├─ School of Engineering (child)
│ ├─ Computer Science Dept (grandchild)
│ ├─ Electrical Engineering Dept
│ └─ Mechanical Engineering Dept
└─ School of Science
├─ Mathematics Dept
└─ Physics Dept
People:
- University Admin (platform_owner)
- Dean per school (group_owner at school level)
- Department Heads (group_owner at dept level)
- 1000+ professors (group_user)
- 10,000+ students (customer)
Programs:
- BS Computer Science
- MS Electrical Engineering
- PhD Mathematics
Features Enabled:
- courses
- programs
- degrees
- research
- publications
- accreditation
- analytics
```
---
## Routes Enabled
```typescript
// Course Management
/courses # Course catalog
/courses/[id] # Course details
/courses/[id]/syllabus # Course syllabus
/courses/[id]/assignments # Assignments list
/courses/[id]/grades # Grade book
/courses/[id]/discussions # Discussion board
/courses/[id]/people # Enrolled students
// Student Dashboard
/dashboard # Student homepage
/dashboard/courses # My courses
/dashboard/assignments # My assignments
/dashboard/grades # My grades
/dashboard/schedule # My schedule
/dashboard/transcript # Academic transcript
// Assignment Workflow
/assignments/[id] # Assignment details
/assignments/[id]/submit # Submit work
/assignments/[id]/grade # Grade submissions (teacher)
// Teaching Dashboard
/teach # Teacher homepage
/teach/courses # Courses I teach
/teach/students # My students
/teach/grading # Grading queue
/teach/analytics # Teaching analytics
// Admin
/admin/courses # Course management
/admin/students # Student management
/admin/teachers # Faculty management
/admin/departments # Department management
/admin/programs # Program management
/admin/enrollment # Enrollment management
/admin/reports # Analytics & reports
```
---
## Integration Opportunities
### LMS Imports
- **Canvas** - Import courses, students, grades
- **Blackboard** - Migrate existing content
- **Moodle** - Course structure import
- **Google Classroom** - Sync assignments
### Video Platforms
- **Zoom** - Record & embed lectures
- **YouTube** - Host video content
- **Vimeo** - Premium video hosting
- **Loom** - Quick video feedback
### Assessment Tools
- **Turnitin** - Plagiarism detection
- **GradeScope** - Assignment grading
- **Kahoot** - Interactive quizzes
- **Quizlet** - Study tools
### Communication
- **Slack** - Course chat
- **Discord** - Student communities
- **Microsoft Teams** - Institutional chat
---
## Success Metrics
- [ ] Course creation workflow works
- [ ] Assignment submission & grading works
- [ ] Enrollment & student management works
- [ ] Grade calculation accurate
- [ ] Progress tracking functional
- [ ] Certificates generated
- [ ] Analytics dashboard shows insights
- [ ] Integrates with existing tools
---
## Next Steps
1. **Implement course management** (create, edit, publish)
2. **Build assignment workflow** (create, submit, grade)
3. **Add enrollment system** (enroll, drop, waitlist)
4. **Create grade book** (calculate, track, export)
5. **Build student dashboard** (courses, assignments, grades)
6. **Add teacher dashboard** (teaching, grading, analytics)
7. **Implement progress tracking** (completion, competencies)
8. **Generate certificates** (upon completion)
---
**This education ontology scales from individual teachers to global universities!** 🎓