mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-26 08:56:21 +02:00
Structure the tech specs directory (#836)
Tech spec some subdirectories for different languages
This commit is contained in:
parent
48da6c5f8b
commit
e7efb673ef
423 changed files with 0 additions and 0 deletions
160
docs/tech-specs/ru/ontology.ru.md
Normal file
160
docs/tech-specs/ru/ontology.ru.md
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
---
|
||||
layout: default
|
||||
title: "Структура Онтологии: Техническая Спецификация"
|
||||
parent: "Russian (Beta)"
|
||||
---
|
||||
|
||||
# Структура Онтологии: Техническая Спецификация
|
||||
|
||||
> **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",
|
||||
"version": "1.0.0",
|
||||
"created": "2025-09-20T12:07:37.068Z",
|
||||
"modified": "2025-09-20T12:12:20.725Z",
|
||||
"creator": "current-user",
|
||||
"namespace": "http://trustgraph.ai/ontologies/natural-world",
|
||||
"imports": ["http://www.w3.org/2002/07/owl#"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Поля:**
|
||||
- `name`: Человекочитаемое имя онтологии
|
||||
- `description`: Краткое описание цели онтологии
|
||||
- `version`: Семантическая версия
|
||||
- `created`: Дата создания в формате ISO 8601
|
||||
- `modified`: Дата последнего изменения в формате ISO 8601
|
||||
- `creator`: Идентификатор пользователя/системы, создавшей онтологию
|
||||
- `namespace`: Базовый URI для элементов онтологии
|
||||
- `imports`: Массив URI импортируемых онтологий
|
||||
|
||||
#### 2. Классы
|
||||
|
||||
Определяет типы объектов и их иерархические отношения:
|
||||
|
||||
```json
|
||||
{
|
||||
"classes": {
|
||||
"animal": {
|
||||
"uri": "http://trustgraph.ai/ontologies/natural-world#animal",
|
||||
"type": "owl:Class",
|
||||
"rdfs:label": [{"value": "Animal", "lang": "en"}],
|
||||
"rdfs:comment": "An animal",
|
||||
"rdfs:subClassOf": "lifeform",
|
||||
"owl:equivalentClass": ["creature"],
|
||||
"owl:disjointWith": ["plant"],
|
||||
"dcterms:identifier": "ANI-001"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Поддерживаемые свойства:**
|
||||
- `uri`: Полный URI класса
|
||||
- `type`: Всегда `"owl:Class"`
|
||||
- `rdfs:label`: Массив меток с указанием языка
|
||||
- `rdfs:comment`: Описание класса
|
||||
- `rdfs:subClassOf`: Идентификатор родительского класса (наследование)
|
||||
- `owl:equivalentClass`: Массив идентификаторов эквивалентных классов
|
||||
- `owl:disjointWith`: Массив идентификаторов классов, отличных друг от друга
|
||||
- `dcterms:identifier`: Опциональный внешний идентификатор
|
||||
|
||||
#### 3. Объектные свойства
|
||||
|
||||
Свойства, связывающие экземпляры между собой:
|
||||
|
||||
```json
|
||||
{
|
||||
"objectProperties": {}
|
||||
}
|
||||
```
|
||||
|
||||
#### 4. Свойства данных
|
||||
|
||||
```json
|
||||
{
|
||||
"datatypeProperties": {
|
||||
"number-of-legs": {
|
||||
"uri": "http://trustgraph.ai/ontologies/natural-world#number-of-legs",
|
||||
"type": "owl:DatatypeProperty",
|
||||
"rdfs:label": [{"value": "number-of-legs", "lang": "en"}],
|
||||
"rdfs:comment": "Count of number of legs of the animal",
|
||||
"rdfs:range": "xsd:nonNegativeInteger",
|
||||
"rdfs:domain": "animal"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Правила валидации
|
||||
|
||||
### Структурная валидация
|
||||
|
||||
1. **Уникальность URI**: Все URI должны соответствовать формату `{namespace}#{identifier}`
|
||||
2. **Иерархия классов**: Не должно быть циклической иерархии в `rdfs:subClassOf`
|
||||
3. **Области/Диапазоны свойств**: Должны ссылаться на существующие классы или допустимые типы XSD
|
||||
4. **Отличные классы**: Не могут быть подклассами друг друга
|
||||
5. **Обратные свойства**: Должны быть двусторонними, если указаны
|
||||
|
||||
### Семантическая валидация
|
||||
|
||||
1. **Уникальные идентификаторы**: Идентификаторы классов и свойств должны быть уникальными в онтологии
|
||||
2. **Языковые теги**: Должны соответствовать формату BCP 47
|
||||
3. **Ограничения кардинальности**: `minCardinality` ≤ `maxCardinality` при указании обоих
|
||||
4. **Функциональные свойства**: Не должны иметь `maxCardinality` > 1
|
||||
|
||||
## Поддержка импорта/экспорта
|
||||
|
||||
Хотя внутренний формат - JSON, система поддерживает преобразование в/из стандартных форматов онтологий:
|
||||
|
||||
- **Turtle (.ttl)** - компактная RDF-сериализация
|
||||
- **RDF/XML (.rdf, .owl)** - стандартный формат W3C
|
||||
- **OWL/XML (.owx)** - XML-формат OWL
|
||||
- **JSON-LD (.jsonld)** - JSON для Linked Data
|
||||
Loading…
Add table
Add a link
Reference in a new issue