> **Beta Translation:** This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
Esta especificación describe la estructura y el formato de las ontologías dentro del sistema TrustGraph. Las ontologías proporcionan modelos de conocimiento formales que definen clases, propiedades y relaciones, lo que permite capacidades de razonamiento e inferencia. El sistema utiliza un formato de configuración inspirado en OWL que representa ampliamente los conceptos de OWL/RDFS, al tiempo que está optimizado para los requisitos de TrustGraph.
**Convención de Nombres**: Este proyecto utiliza kebab-case para todos los identificadores (claves de configuración, puntos finales de la API, nombres de módulos, etc.) en lugar de snake_case.
## Objetivos
- **Gestión de Clases y Propiedades**: Definir clases similares a OWL con propiedades, dominios, rangos y restricciones de tipo.
- **Soporte Semántico Avanzado**: Permitir propiedades completas de RDFS/OWL, incluyendo etiquetas, soporte multilingüe y restricciones formales.
- **Soporte para Múltiples Ontologías**: Permitir que múltiples ontologías coexistan e interactúen.
- **Validación y Razonamiento**: Asegurar que las ontologías cumplan con estándares similares a OWL, con verificación de consistencia y soporte de inferencia.
- **Compatibilidad con Estándares**: Soporte de importación/exportación en formatos estándar (Turtle, RDF/XML, OWL/XML) al tiempo que se mantiene la optimización interna.
## Antecedentes
TrustGraph almacena ontologías como elementos de configuración en un sistema flexible de clave-valor. Si bien el formato está inspirado en OWL (Web Ontology Language), está optimizado para los casos de uso específicos de TrustGraph y no se adhiere estrictamente a todas las especificaciones de OWL.
Las ontologías en TrustGraph permiten:
- Definición de tipos de objetos formales y sus propiedades.
- Especificación de dominios, rangos y restricciones de tipo de propiedades.
- Razonamiento e inferencia lógicos.
- Relaciones complejas y restricciones de cardinalidad.
- Soporte multilingüe para la internacionalización.
## Estructura de la Ontología
### Almacenamiento de la Configuración
Las ontologías se almacenan como elementos de configuración con el siguiente patrón:
- **Tipo**: `ontology`
- **Clave**: Identificador de ontología único (por ejemplo, `natural-world`, `domain-model`).
- **Valor**: Ontología completa en formato JSON.
### Estructura JSON
El formato JSON de la ontología consta de cuatro secciones principales:
#### 1. Metadatos
Contiene información administrativa y descriptiva sobre la ontología:
```json
{
"metadata": {
"name": "The natural world",
"description": "Ontology covering the natural order",