- name
- Verificador de Ontologías Normalizadas
- description
- Skill para analizar documentos normativos, buscar ontologías en internet y seleccionar la que mejor aplica
# 🔍 Skill: Análisis y Selección de Ontologías para Documentos Normativos
> [!IMPORTANT]
> Este skill permite analizar un documento base, consultar fuentes en internet y recomendar la ontología normalizada más apropiada.
---
## Flujo de Trabajo Automatizado
```mermaid
flowchart TD
A[📄 Documento Base] --> B[Análisis de Contenido]
B --> C{Tipo de Documento}
C -->|Educativo| D[Buscar IEEE LOM]
C -->|Administrativo| E[Buscar Dublin Core]
C -->|E-learning| F[Buscar SCORM/xAPI]
C -->|Datos Abiertos| G[Buscar LRMI/Schema.org]
D --> H[🌐 Consulta Internet]
E --> H
F --> H
G --> H
H --> I[Comparar Especificaciones]
I --> J[📊 Matriz de Puntuación]
J --> K[✅ Ontología Recomendada]
```
---
## Paso 1: Análisis del Documento Base
Cuando el usuario proporcione un documento normativo, seguir estos pasos:
### 1.1 Extraer Características del Documento
```python
# Características a identificar en el documento
caracteristicas = {
"tipo_documento": "", # reglamento, resolución, ordenanza, guía
"ambito": "", # educativo, administrativo, legal, técnico
"audiencia": [], # docentes, estudiantes, administrativos
"proposito": "", # evaluar, normar, guiar, informar
"estructura": "", # jerárquica, secuencial, modular
"nivel_educativo": "", # primaria, secundaria, superior, posgrado
"tiene_componentes_pedagogicos": False,
"requiere_interoperabilidad": False,
"es_recurso_abierto": False,
"formato_digital": "" # PDF, HTML, XML
}
```
### 1.2 Palabras Clave de Clasificación
| Categoría | Palabras Clave | Ontología Sugerida |
|-----------|----------------|-------------------|
| Pedagógico | evaluación, aprendizaje, competencias, objetivos, didáctica | **IEEE LOM** |
| Administrativo | resolución, expediente, trámite, procedimiento | **Dublin Core** |
| E-learning | SCORM, LMS, módulo, interactivo, tracking | **SCORM/xAPI** |
| Datos Abiertos | licencia abierta, reutilización, compartir | **LRMI** |
| Curricular | plan de estudios, asignaturas, créditos | **IEEE LOM + DC** |
---
## Paso 2: Búsqueda en Internet
### 2.1 Fuentes Oficiales a Consultar
Usar la herramienta `search_web` para buscar especificaciones actualizadas:
| Ontología | URLs de Referencia |
|-----------|-------------------|
| IEEE LOM | https://standards.ieee.org/standard/1484_12_1-2002.html |
| Dublin Core | https://dublincore.org/specifications/dublin-core/ |
| SCORM | https://adlnet.gov/projects/scorm/ |
| xAPI | https://xapi.com/specification/ |
| LRMI | https://www.dublincore.org/specifications/lrmi/ |
| Schema.org | https://schema.org/LearningResource |
### 2.2 Consultas Recomendadas
```
# Búsquedas sugeridas según el tipo de documento:
# Para documentos educativos:
search_web("IEEE LOM metadata educational resources best practices 2024")
search_web("learning object metadata standard comparison")
# Para documentos administrativos:
search_web("Dublin Core metadata government documents")
# Para contenido e-learning:
search_web("SCORM vs xAPI comparison learning content")
# Para recursos abiertos:
search_web("LRMI schema.org educational resources metadata")
```
### 2.3 Verificar Compatibilidad
Buscar información sobre:
- Última versión del estándar
- Compatibilidad con sistemas existentes (Moodle, Canvas, etc.)
- Herramientas de validación disponibles
- Casos de uso similares
---
## Paso 3: Matriz de Evaluación y Puntuación
### 3.1 Criterios de Evaluación
| Criterio | Peso | IEEE LOM | Dublin Core | SCORM | LRMI |
|----------|------|----------|-------------|-------|------|
| Metadatos pedagógicos | 25% | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| Simplicidad de implementación | 15% | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| Interoperabilidad | 20% | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Soporte para derechos | 10% | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| Clasificación taxonómica | 15% | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
| Soporte LMS | 15% | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
### 3.2 Algoritmo de Decisión
```python
def calcular_ontologia_optima(documento: dict) -> tuple[str, float]:
"""
Calcula la ontología más apropiada basándose en las características del documento.
Args:
documento: Dict con características extraídas del documento
Returns:
Tuple con (nombre_ontologia, puntuacion)
"""
pesos = {
"pedagogico": 0.25,
"simplicidad": 0.15,
"interoperabilidad": 0.20,
"derechos": 0.10,
"taxonomia": 0.15,
"lms": 0.15
}
puntuaciones = {
"IEEE_LOM": {
"pedagogico": 5 if documento.get("tiene_componentes_pedagogicos") else 2,
"simplicidad": 3,
"interoperabilidad": 4,
"derechos": 4,
"taxonomia": 5 if documento.get("requiere_clasificacion") else 3,
"lms": 4
},
"Dublin_Core": {
"pedagogico": 2,
"simplicidad": 5,
"interoperabilidad": 5,
"derechos": 3,
"taxonomia": 3,
"lms": 2
},
"SCORM": {
"pedagogico": 3,
"simplicidad": 2,
"interoperabilidad": 4,
"derechos": 2,
"taxonomia": 2,
"lms": 5 if documento.get("requiere_interoperabilidad") else 3
},
"LRMI": {
"pedagogico": 3,
"simplicidad": 4,
"interoperabilidad": 4,
"derechos": 5 if documento.get("es_recurso_abierto") else 3,
"taxonomia": 3,
"lms": 3
}
}
resultados = {}
for ontologia, scores in puntuaciones.items():
total = sum(scores[k] * pesos[k] for k in pesos)
resultados[ontologia] = round(total, 2)
mejor = max(resultados, key=resultados.get)
return mejor, resultados[mejor]
```
---
## Paso 4: Generar Recomendación
### 4.1 Formato de Salida
```markdown
## 📋 Análisis de Ontología para: [Nombre del Documento]
### Características Detectadas
- **Tipo**: [tipo_documento]
- **Ámbito**: [ambito]
- **Audiencia**: [audiencia]
- **Componentes pedagógicos**: [Sí/No]
### 🌐 Fuentes Consultadas
1. [Fuente 1](url)
2. [Fuente 2](url)
### 📊 Puntuaciones
| Ontología | Puntuación | Reason |
|-----------|------------|--------|
| IEEE LOM | X.XX | ... |
| Dublin Core | X.XX | ... |
### ✅ Recomendación Final
**Ontología recomendada**: IEEE LOM
**Puntuación**: 4.25/5.00
**Justificación**: [Explicación detallada]
```
---
## Instrucciones de Ejecución
### Para el Agente AI:
1. **Recibir documento**: Obtener el documento normativo del usuario
2. **Analizar contenido**: Extraer características usando el esquema definido
3. **Buscar en internet**: Usar `search_web` para consultar fuentes actualizadas
4. **Leer especificaciones**: Usar `read_url_content` para obtener detalles técnicos
5. **Calcular puntuaciones**: Aplicar la matriz de evaluación
6. **Generar reporte**: Presentar la recomendación con justificación
### Ejemplo de Ejecución:
```
Usuario: "Analiza este reglamento de evaluación y recomienda la mejor ontología"
Agente:
1. Lee el documento proporcionado
2. Identifica: tipo=reglamento, ambito=educativo, tiene_componentes_pedagogicos=True
3. Ejecuta: search_web("IEEE LOM educational assessment metadata")
4. Ejecuta: search_web("Dublin Core academic regulations metadata")
5. Compara especificaciones actuales
6. Calcula: IEEE_LOM=4.25, Dublin_Core=3.40, SCORM=2.85, LRMI=3.15
7. Recomienda: IEEE LOM con justificación detallada
```
---
# Verificador de Ontologías Normalizadas para Documentos Educativos
Este skill ayuda a identificar y verificar qué ontologías normalizadas son más apropiadas para estructurar y clasificar documentos normativos en el contexto educativo.
## Ontologías Soportadas
### 1. IEEE LOM (Learning Object Metadata)
**Mejor para:** Recursos educativos digitales, objetos de aprendizaje, materiales curriculares.
| Categoría | Descripción | Aplicación en Documentos Normativos |
|-----------|-------------|-------------------------------------|
| General | Identificación general del recurso | Título, idioma, descripción del documento |
| Lifecycle | Versión y contribuidores | Versiones del reglamento, autores |
| Meta-Metadata | Información sobre los metadatos | Esquema utilizado, fecha de creación |
| Technical | Requisitos técnicos | Formato, tamaño, ubicación |
| Educational | Características pedagógicas | Tipo de recurso, nivel educativo, contexto |
| Rights | Derechos de propiedad | Licencias, restricciones de uso |
| Relation | Relaciones con otros recursos | Referencias a otras normativas |
| Annotation | Comentarios de uso | Notas sobre implementación |
| Classification | Clasificación temática | Taxonomía disciplinar |
**Estructura IEEE LOM Recomendada:**
```json
{
"general": {
"identifier": { "catalog": "", "entry": "" },
"title": "",
"language": "es",
"description": "",
"keyword": [],
"coverage": "",
"structure": "hierarchical|collection|networked|branched|linear",
"aggregationLevel": "1|2|3|4"
},
"lifeCycle": {
"version": "",
"status": "draft|final|revised|unavailable",
"contribute": [{ "role": "", "entity": "", "date": "" }]
},
"educational": {
"interactivityType": "active|expositive|mixed",
"learningResourceType": [],
"interactivityLevel": "very low|low|medium|high|very high",
"semanticDensity": "very low|low|medium|high|very high",
"intendedEndUserRole": "teacher|author|learner|manager",
"context": "school|higher education|training|other",
"typicalAgeRange": "",
"difficulty": "very easy|easy|medium|difficult|very difficult",
"typicalLearningTime": ""
},
"rights": {
"cost": "yes|no",
"copyrightAndOtherRestrictions": "yes|no",
"description": ""
}
}
```
---
### 2. Dublin Core (DC)
**Mejor para:** Documentos generales, recursos bibliográficos, metadatos básicos.
| Elemento | Descripción | Aplicación |
|----------|-------------|------------|
| Title | Título del recurso | Nombre del reglamento |
| Creator | Creador principal | Institución/Autor |
| Subject | Tema | Área temática (evaluación, currículum) |
| Description | Descripción | Resumen del contenido |
| Publisher | Editor/Publicador | Universidad/Ministerio |
| Contributor | Colaboradores | Comisiones, revisores |
| Date | Fecha | Publicación, vigencia |
| Type | Tipo de recurso | Reglamento, ordenanza, resolución |
| Format | Formato | PDF, HTML |
| Identifier | Identificador único | Número de resolución |
| Source | Fuente | Documento base |
| Language | Idioma | es, en |
| Relation | Relación | Normativas relacionadas |
| Coverage | Cobertura | Ámbito de aplicación |
| Rights | Derechos | Licencia, uso |
---
### 3. SCORM (Sharable Content Object Reference Model)
**Mejor para:** Contenido e-learning empaquetado, cursos online, módulos interactivos.
> [!NOTE]
> SCORM es más apropiado para contenido de aprendizaje interactivo que para documentos normativos estáticos.
---
### 4. IMS Learning Design
**Mejor para:** Diseño instruccional, secuencias de aprendizaje, actividades educativas.
View on GitHub