trustgraph/docs/tech-specs/ontology.ru.md
Alex Jenkins 8954fa3ad7 Feat: TrustGraph i18n & Documentation Translation Updates (#781)
Native CLI i18n: The TrustGraph CLI has built-in translation support
that dynamically loads language strings. You can test and use
different languages by simply passing the --lang flag (e.g., --lang
es for Spanish, --lang ru for Russian) or by configuring your
environment's LANG variable.

Automated Docs Translations: This PR introduces autonomously
translated Markdown documentation into several target languages,
including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew,
Arabic, Simplified Chinese, and Russian.
2026-04-14 12:08:32 +01:00

8.8 KiB
Raw Blame History

layout title parent
default Структура Онтологии: Техническая Спецификация 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. Метаданные

Содержит административную и описательную информацию об онтологии:

{
  "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. Классы

Определяет типы объектов и их иерархические отношения:

{
  "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. Объектные свойства

Свойства, связывающие экземпляры между собой:

{
  "objectProperties": {}
}

4. Свойства данных

{
  "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. Ограничения кардинальности: minCardinalitymaxCardinality при указании обоих
  4. Функциональные свойства: Не должны иметь maxCardinality > 1

Поддержка импорта/экспорта

Хотя внутренний формат - JSON, система поддерживает преобразование в/из стандартных форматов онтологий:

  • Turtle (.ttl) - компактная RDF-сериализация
  • RDF/XML (.rdf, .owl) - стандартный формат W3C
  • OWL/XML (.owx) - XML-формат OWL
  • JSON-LD (.jsonld) - JSON для Linked Data