# Educational Knowledge Graph for Python Programming (EKG-Python)Grafo de Conocimiento Educativo de Programación en Python (EKG-Python)

## Metadata

IRI
  `https://w3id.org/ekg-python/schema#`
Title

  - Educational Knowledge Graph for Python Programming (EKG-Python)

  - Grafo de Conocimiento Educativo de Programación en Python (EKG-Python)

Creator

  Adrián Bueno Junquero

Contributor

  José Luis Fernández Vindel

Date Created

  2026-06-18

License
  https://creativecommons.org/licenses/by/4.0/
Version Info

  0.1.0

Description

  Ontología y grafo de conocimiento del dominio de la programación en Python, diseñado para anclar la generación de retroalimentación formativa automática (arquitectura EKG + RAG + LLM). Modela conceptos, sus prerrequisitos y contrastes, temas, ejercicios, errores conceptuales (misconceptions), recursos y perfiles de estudiante.

## Classes

### Class Hierarchy

- Educational entity
  - Activity assessment
  - Competency
  - Concept assessment occurrence
  - Curricular topic
  - Exercise or assignment
  - Learning path
  - Learning resource
  - Misconception
  - Programming concept
    - Built-in function
    - Control structure
    - Cross-cutting principle
    - Data structure
    - Data type
    - Module or library
    - Programming paradigm
  - Student
  - Student submission
- Mastery level

### Class Definitions

### Learning pathRuta de aprendizaje c

IRI | `https://w3id.org/ekg-python/schema#RutaAprendizaje`
Sub Class Of | Educational entity c

### CompetencyCompetencia c

IRI | `https://w3id.org/ekg-python/schema#Competencia`
Sub Class Of | Educational entity c
In Range Of | assesses competency op

### Mastery levelNivel de dominio c

IRI | `https://w3id.org/ekg-python/schema#NivelDominio`
Sub Class Of | Concept c
In Range Of | at mastery level op

### Learning resourceRecurso de aprendizaje c

IRI | `https://w3id.org/ekg-python/schema#Recurso`
Sub Class Of | Educational entity c
In Domain Of | illustrates concept op

### Concept assessment occurrenceEvaluación de concepto c

IRI | `https://w3id.org/ekg-python/schema#EvaluacionDeConcepto`
Description | Nodo intermedio que reifica la relación N-aria (ejercicio, concepto, peso, nivel) sin perder información, según el patrón de relaciones N-arias del material docente.
Sub Class Of | Educational entity c
In Domain Of | with weight dp in exercise op about concept op

### StudentEstudiante c

IRI | `https://w3id.org/ekg-python/schema#Estudiante`
Sub Class Of | Educational entity c
In Domain Of | has mastered concept op
In Range Of | submitted by op carried out by op

### Student submissionEnvío de estudiante c

IRI | `https://w3id.org/ekg-python/schema#EnvioEstudiante`
Description | Entrega de código de un estudiante en respuesta a un ejercicio.
Sub Class Of | Educational entity c
In Domain Of | submitted by op exhibits misconception op number of lines dp solves exercise op

### Data typeTipo de dato c

IRI | `https://w3id.org/ekg-python/schema#TipoDeDato`
Sub Class Of | Programming concept c

### Exercise or assignmentEjercicio o enunciado c

IRI | `https://w3id.org/ekg-python/schema#Ejercicio`
Sub Class Of | Educational entity c
In Domain Of | covers concept op assesses competency op has statement dp
In Range Of | in exercise op assesses activity op solves exercise op

### Built-in functionFunción integrada c

IRI | `https://w3id.org/ekg-python/schema#FuncionIntegrada`
Sub Class Of | Programming concept c

### Educational entityEntidad educativa c

IRI | `https://w3id.org/ekg-python/schema#EntidadEducativa`
Description | Superclase abstracta de todas las entidades del grafo educativo.
In Domain Of | has difficulty dp
Super Class Of | Learning path c Competency c Learning resource c Concept assessment occurrence c Student c Student submission c Exercise or assignment c Activity assessment c Curricular topic c Misconception c Programming concept c

### Data structureEstructura de datos c

IRI | `https://w3id.org/ekg-python/schema#EstructuraDeDatos`
Sub Class Of | Programming concept c

### Activity assessmentEvaluación de actividad c

IRI | `https://w3id.org/ekg-python/schema#EvaluacionActividad`
Sub Class Of | Educational entity c
In Domain Of | on date dp assesses activity op obtained grade dp carried out by op

### Module or libraryMódulo o librería c

IRI | `https://w3id.org/ekg-python/schema#ModuloLibreria`
Sub Class Of | Programming concept c

### Curricular topicTema curricular c

IRI | `https://w3id.org/ekg-python/schema#Tema`
Description | Agrupación curricular de conceptos (unidad didáctica).
Sub Class Of | Educational entity c
In Range Of | belongs to topic op

### MisconceptionError conceptual (misconception) c

IRI | `https://w3id.org/ekg-python/schema#ErrorConceptual`
Description | Malentendido recurrente documentado en la literatura de didáctica de la programación.
Sub Class Of | Educational entity c
In Domain Of | is a misconception about op
In Range Of | exhibits misconception op

### Control structureEstructura de control c

IRI | `https://w3id.org/ekg-python/schema#EstructuraDeControl`
Sub Class Of | Programming concept c

### Programming conceptConcepto de programación c

IRI | `https://w3id.org/ekg-python/schema#Concepto`
Description | Unidad de conocimiento del dominio (p. ej. recursión, bucle for, mutabilidad). Al ser subclase de skos:Concept admite la red conceptual skos:broader/narrower/related.
Sub Class Of | Concept c Educational entity c
In Domain Of | contrasts with op is prerequisite of op generalises op belongs to topic op applies to op specialises op requires prerequisite op conceptually related to op
In Range Of | contrasts with op covers concept op has mastered concept op is prerequisite of op generalises op illustrates concept op applies to op about concept op is a misconception about op specialises op requires prerequisite op conceptually related to op
Super Class Of | Data type c Built-in function c Data structure c Module or library c Control structure c Programming paradigm c Cross-cutting principle c

### Programming paradigmParadigma de programación c

IRI | `https://w3id.org/ekg-python/schema#Paradigma`
Sub Class Of | Programming concept c

### Cross-cutting principlePrincipio transversal c

IRI | `https://w3id.org/ekg-python/schema#PrincipioTransversal`
Sub Class Of | Programming concept c

## Object Properties

### Object Property Hierarchy

- about concept
- assesses activity
- assesses competency
- at mastery level
- belongs to topic
- carried out by
- conceptually related to
  - applies to
  - contrasts with
  - generalises
  - is prerequisite of
- covers concept
- exhibits misconception
- has mastered concept
- illustrates concept
- in exercise
- is a misconception about
- requires prerequisite
- solves exercise
- specialises
- submitted by

### Object Property Definitions

### at mastery levela nivel de dominio op

IRI | `https://w3id.org/ekg-python/schema#aNivelDominio`
Range | Mastery level c

### contrasts withcontrasta con op

IRI | `https://w3id.org/ekg-python/schema#contrastaCon`
Description | Conceptos frecuentemente confundidos que conviene explicar por oposición (p. ej. iteración / recursión). Simétrica.
Sub Property Of | conceptually related to op
Domain | Programming concept c
Range | Programming concept c

### covers conceptcubre el concepto op

IRI | `https://w3id.org/ekg-python/schema#cubreConcepto`
Domain | Exercise or assignment c
Range | Programming concept c

### has mastered conceptdomina el concepto op

IRI | `https://w3id.org/ekg-python/schema#dominaConcepto`
Domain | Student c
Range | Programming concept c

### in exerciseen el ejercicio op

IRI | `https://w3id.org/ekg-python/schema#enEjercicio`
Domain | Concept assessment occurrence c
Range | Exercise or assignment c

### submitted byenviado por op

IRI | `https://w3id.org/ekg-python/schema#enviadoPor`
Domain | Student submission c
Range | Student c

### is prerequisite ofes prerrequisito de op

IRI | `https://w3id.org/ekg-python/schema#esPrerrequisitoDe`
Description | A esPrerrequisitoDe B significa que dominar A es condición previa para aprender B. Transitiva: habilita el cálculo de prerrequisitos indirectos por inferencia.
Sub Property Of | conceptually related to op
Domain | Programming concept c
Range | Programming concept c

### assesses activityevalúa la actividad op

IRI | `https://w3id.org/ekg-python/schema#evaluaA`
Domain | Activity assessment c
Range | Exercise or assignment c

### assesses competencyevalúa la competencia op

IRI | `https://w3id.org/ekg-python/schema#evaluaCompetencia`
Domain | Exercise or assignment c
Range | Competency c

### generalisesgeneraliza a op

IRI | `https://w3id.org/ekg-python/schema#generaliza`
Sub Property Of | conceptually related to op
Domain | Programming concept c
Range | Programming concept c

### illustrates conceptilustra el concepto op

IRI | `https://w3id.org/ekg-python/schema#ilustraConcepto`
Domain | Learning resource c
Range | Programming concept c

### exhibits misconceptionmanifiesta el error op

IRI | `https://w3id.org/ekg-python/schema#manifiestaError`
Domain | Student submission c
Range | Misconception c

### belongs to topicpertenece al tema op

IRI | `https://w3id.org/ekg-python/schema#perteneceATema`
Domain | Programming concept c
Range | Curricular topic c

### carried out byrealizada por op

IRI | `https://w3id.org/ekg-python/schema#porEstudiante`
Domain | Activity assessment c
Range | Student c

### solves exerciseresuelve el ejercicio op

IRI | `https://w3id.org/ekg-python/schema#resuelveEjercicio`
Domain | Student submission c
Range | Exercise or assignment c

### applies tose aplica a op

IRI | `https://w3id.org/ekg-python/schema#seAplicaA`
Sub Property Of | conceptually related to op
Domain | Programming concept c
Range | Programming concept c

### about conceptsobre el concepto op

IRI | `https://w3id.org/ekg-python/schema#sobreConcepto`
Domain | Concept assessment occurrence c
Range | Programming concept c

### is a misconception aboutes un error sobre el concepto op

IRI | `https://w3id.org/ekg-python/schema#errorSobreConcepto`
Domain | Misconception c
Range | Programming concept c

### specialisesespecializa a op

IRI | `https://w3id.org/ekg-python/schema#especializa`
Domain | Programming concept c
Range | Programming concept c

### requires prerequisiterequiere como prerrequisito op

IRI | `https://w3id.org/ekg-python/schema#requierePrerrequisito`
Domain | Programming concept c
Range | Programming concept c

### conceptually related torelacionado conceptualmente con op

IRI | `https://w3id.org/ekg-python/schema#relacionadoConceptualmenteCon`
Description | Superpropiedad genérica de las relaciones entre conceptos; permite consultas amplias por subsunción de subpropiedades.
Super Property Of | contrasts with op is prerequisite of op generalises op applies to op
Domain | Programming concept c
Range | Programming concept c

## Datatype Properties

### with weightcon peso dp

IRI | `https://w3id.org/ekg-python/schema#conPeso`
Domain | Concept assessment occurrence c
Range | xsd:decimal

### on dateen la fecha dp

IRI | `https://w3id.org/ekg-python/schema#enFecha`
Domain | Activity assessment c
Range | xsd:date

### number of linesnúmero de líneas dp

IRI | `https://w3id.org/ekg-python/schema#numeroDeLineas`
Domain | Student submission c
Range | xsd:integer

### obtained gradeobtuvo nota dp

IRI | `https://w3id.org/ekg-python/schema#obtuvoNota`
Domain | Activity assessment c
Range | xsd:decimal

### has difficultytiene dificultad dp

IRI | `https://w3id.org/ekg-python/schema#tieneDificultad`
Description | Dificultad estimada en una escala entera 1–5.
Domain | Educational entity c
Range | xsd:integer

### has code exampletiene ejemplo de código dp

IRI | `https://w3id.org/ekg-python/schema#tieneEjemploCodigo`
Range | xsd:string

### has statementtiene enunciado dp

IRI | `https://w3id.org/ekg-python/schema#tieneEnunciado`
Domain | Exercise or assignment c
Range | langString

## Functional Properties

### has difficultytiene dificultad fp

IRI | `https://w3id.org/ekg-python/schema#tieneDificultad`
Description | Dificultad estimada en una escala entera 1–5.
Domain | Educational entity c
Range | xsd:integer

## Namespaces

dcterms
  `http://purl.org/dc/terms/`
foaf
  `http://xmlns.com/foaf/0.1/`
owl
  `http://www.w3.org/2002/07/owl#`
pyedu
  `https://w3id.org/ekg-python/schema#`
pyr
  `https://w3id.org/ekg-python/id/`
rdf
  `http://www.w3.org/1999/02/22-rdf-syntax-ns#`
rdfs
  `http://www.w3.org/2000/01/rdf-schema#`
schema
  `http://schema.org/`
skos
  `http://www.w3.org/2004/02/skos/core#`
wd
  `http://www.wikidata.org/entity/`
xsd
  `http://www.w3.org/2001/XMLSchema#`

## Legend

c | Classes
op | Object Properties
dp | Datatype Properties
fp | Functional Properties

made by p y LODE 3.5.1 with the OntPub profile