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.
8.8 KiB
| 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 8601modified: Дата последнего изменения в формате ISO 8601creator: Идентификатор пользователя/системы, создавшей онтологию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"
}
}
}
Правила валидации
Структурная валидация
- Уникальность URI: Все URI должны соответствовать формату
{namespace}#{identifier} - Иерархия классов: Не должно быть циклической иерархии в
rdfs:subClassOf - Области/Диапазоны свойств: Должны ссылаться на существующие классы или допустимые типы XSD
- Отличные классы: Не могут быть подклассами друг друга
- Обратные свойства: Должны быть двусторонними, если указаны
Семантическая валидация
- Уникальные идентификаторы: Идентификаторы классов и свойств должны быть уникальными в онтологии
- Языковые теги: Должны соответствовать формату BCP 47
- Ограничения кардинальности:
minCardinality≤maxCardinalityпри указании обоих - Функциональные свойства: Не должны иметь
maxCardinality> 1
Поддержка импорта/экспорта
Хотя внутренний формат - JSON, система поддерживает преобразование в/из стандартных форматов онтологий:
- Turtle (.ttl) - компактная RDF-сериализация
- RDF/XML (.rdf, .owl) - стандартный формат W3C
- OWL/XML (.owx) - XML-формат OWL
- JSON-LD (.jsonld) - JSON для Linked Data