> **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.
Эта спецификация описывает структуру и формат онтологий в системе TrustGraph. Онтологии предоставляют формальные модели знаний, определяя классы, свойства и отношения, обеспечивая возможности для рассуждения и вывода. Система использует формат конфигурации, вдохновленный OWL, который широко представляет концепции OWL/RDFS, оптимизированный для требований TrustGraph.
**Конвенция именования**: Для всех идентификаторов (ключей конфигурации, конечных точек API, названий модулей и т.д.) используется формат kebab-case, а не snake_case.
## Цели
- **Управление классами и свойствами**: Определение классов, похожих на OWL, с свойствами, доменами, диапазонами и ограничениями типов.
- **Поддержка богатых семантических возможностей**: Обеспечение полных возможностей RDFS/OWL, включая метки, поддержку нескольких языков и формальные ограничения.
- **Поддержка нескольких онтологий**: Разрешение одновременного существования и взаимодействия нескольких онтологий.
- **Валидация и рассуждение**: Обеспечение соответствия онтологий стандартам, похожим на OWL, с проверкой согласованности и поддержкой вывода.
- **Совместимость со стандартами**: Поддержка импорта/экспорта в стандартных форматах (Turtle, RDF/XML, OWL/XML), сохраняя оптимизацию.
## Предыстория
TrustGraph хранит онтологии как элементы конфигурации в гибкой системе ключ-значение. Хотя формат вдохновлен OWL (Web Ontology Language), он оптимизирован для конкретных случаев использования TrustGraph и не строго соответствует всем спецификациям OWL.
Онтологии в TrustGraph обеспечивают:
- Определение формальных типов объектов и их свойств.
- Спецификацию доменов, диапазонов и ограничений типов свойств.
- Логическое рассуждение и вывод.
- Сложные отношения и ограничения кардинальности.
- Поддержку нескольких языков для международного использования.
## Структура Онтологии
### Хранение конфигурации
Онтологии хранятся как элементы конфигурации с следующим шаблоном:
- **Тип**: `ontology`
- **Ключ**: Уникальный идентификатор онтологии (например, `natural-world`, `domain-model`)
- **Значение**: Полная онтология в формате JSON
### JSON структура
Формат JSON для онтологии состоит из четырех основных разделов:
#### 1. Метаданные
Содержит административную и описательную информацию об онтологии:
```json
{
"metadata": {
"name": "The natural world",
"description": "Ontology covering the natural order",