🚀 OntoBDC (Ontology-Based Data Capabilities)
OntoBDC (Ontology-Based Data Capabilities) es una arquitectura orientada al dominio y un runtime de capacidades para ejecutar operaciones de datos con conciencia ontológica sobre conjuntos de datos portátiles.
Cuando los datos se describen con RO-Crate, se vuelven auto-descriptivos. OntoBDC aprovecha esta metadata para descubrir y ejecutar automáticamente operaciones relevantes al contexto.
Usa OntoBDC para gestionar el ciclo de vida de proyectos de datos de ingeniería. El runtime orquesta L1 Queries (Descubrimiento), L2 Actions (Transformación) y L3 Use Cases (Transiciones de estado) para proporcionar flujos reproducibles y auditables.
Contenido
- Enfoque del proyecto
- Principios
- Arquitectura
- Capacidades
- Primeros pasos
- Entity Framework
- Enlaces útiles
- Código abierto
- Contribuir
- ¿Quién usa OntoBDC?
Enfoque del proyecto
OntoBDC funciona mejor con proyectos de datos portátiles y descentralizados. En lugar de bloquear los datos en sistemas monolíticos, OntoBDC asume que los datos viven en paquetes portátiles (Zip/Carpeta/Almacenamiento local) que pueden moverse entre entornos sin perder significado semántico ni capacidad operacional.
Principios
- Semántico: Los datos tienen significado definido por ontologías y metadata (RO-Crate).
- Modular: Queries/Actions son plugins aislados. Puedes agregar nuevas operaciones sin cambiar el núcleo.
- Portátil: Ejecuta en laptop, servidor o contenedor.
Arquitectura
OntoBDC se apoya en una capa semántica central:
- Context Layer: RO-Crate para metadata y relaciones.
El Capability Runtime conecta estas capas y resuelve dinámicamente qué estrategias de CLI aplican al estado actual.
Capacidades
| Nivel | Nombre | Alcance y poder | ¿Efectos secundarios? | Ejemplo |
|---|---|---|---|---|
| L1 | Query | Solo lectura / Descubrimiento. Interfaz para consultar el entorno. | NO. Debe ser idempotente y segura para reintentos. | list_documents, get_file_content, check_syntax. |
| L2 | Action | Transformación / Creación. Produce nuevos datos/archivos sin cambiar la lógica de estado. | Solo local. Puede crear/escribir archivos sin avanzar estado. | unzip_file, convert_pdf_to_png, generate_ro_crate_json. |
| L3 | Use Case | Transición de estado. Orquesta L1 y L2 para avanzar el proceso. | SÍ. Cambia la “verdad” del sistema. | process_chat_folder, publish_dataset. |
Primeros pasos
Requiere Python 3.11+ y pip:
pip install ontobdc
Inicializa el contexto del proyecto:
ontobdc init
Ejecuta queries/capacidades de forma interactiva:
ontobdc run
Valida los datos y aplica reparaciones cuando sea posible:
ontobdc check --repair
Entity Framework
Entity Framework es una estructura local para gestionar Entities (ELOFs) y sus archivos de fachada ontológica en .__ontobdc__/ontology/entity/, indexados por .__ontobdc__/entity.rdf.
Habilitar:
ontobdc entity --enable true
Crear y listar:
ontobdc entity --create org.example.my_entity
ontobdc entity --list
Deshabilitar y limpiar todo:
ontobdc entity --enable false
ontobdc entity --purge
Enlaces útiles
| Recurso | Link |
|---|---|
| 📘 Documentación | docs.ontobdc.org |
| 🐙 GitHub | github.com/OntoBDC |
| 📦 PyPI | pypi.org/project/ontobdc |
Código abierto
OntoBDC es open-source bajo licencia Apache 2.0.
Contribuir
Contribuciones vía PRs e issues en GitHub son bienvenidas.
¿Quién usa OntoBDC?
OntoBDC es el núcleo de InfoBIM, impulsando interoperabilidad semántica para proyectos complejos de ingeniería.
Proudly developed in Brazil 🇧🇷