From 6fa2163e75f452284e9dc667713deee3f6574edc Mon Sep 17 00:00:00 2001 From: Dmitry <121898072+bpmbpm@users.noreply.github.com> Date: Thu, 15 Oct 2026 17:14:26 +0300 Subject: [PATCH] Create sumo1a.md --- LD2/ontology/upper/sumo1a.md | 122 +++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 LD2/ontology/upper/sumo1a.md diff --git a/LD2/ontology/upper/sumo1a.md b/LD2/ontology/upper/sumo1a.md new file mode 100644 index 00000000..c761c821 --- /dev/null +++ b/LD2/ontology/upper/sumo1a.md @@ -0,0 +1,122 @@ +## 1 + +Вот максимально подробный фрагмент дерева для `Abstract` (Абстрактное) в SUMO — с 3–4 уровнями ветвления и пояснениями к каждому узлу. Это не вся онтология (она огромна), но структура показывает, как SUMO делит абстракции и как они детализируются. + +```text +Abstract (Абстрактное) +│ +├── Quantity (Количество) +│ │ +│ ├── Magnitude (Величина) +│ │ │ +│ │ ├── PositiveMagnitude (Положительная величина) +│ │ │ └── LargeMagnitude (Большая величина) — абстракция «очень много» без привязки к конкретной единице; нужна для качественных рассуждений («это большая масса»). +│ │ │ +│ │ └── NegativeMagnitude (Отрицательная величина) — для величин, которые могут быть отрицательными (например, температура по Цельсию, смещение). +│ │ +│ ├── Unit (Единица измерения) +│ │ │ +│ │ ├── LengthUnit (Единица длины) +│ │ │ ├── Meter (Метр) — базовая единица длины в СИ; используется как эталон для других единиц. +│ │ │ └── Kilometer (Километр) — производная единица; полезна для моделирования расстояний в транспорте и географии. +│ │ │ +│ │ ├── MassUnit (Единица массы) +│ │ │ ├── Kilogram (Килограмм) — базовая СИ-единица массы. +│ │ │ └── Gram (Грамм) — удобная единица для малых масс (еда, химия, лабораторные измерения). +│ │ │ +│ │ └── TimeUnit (Единица времени) +│ │ ├── Second (Секунда) — базовая СИ-единица времени; критична для моделирования процессов, синхронизации, таймеров. +│ │ └── Hour (Час) — прикладная единица для расписания, смен, длительности событий. +│ │ +│ └── Dimension (Размерность) +│ ├── LengthDimension (Размерность длины) — абстракция типа «длина», не конкретное значение; нужна, чтобы отличать длину от массы, времени и т. п. +│ ├── MassDimension (Размерность массы) — тип величины, по которому проверяют корректность формул (нельзя складывать массу и длину). +│ └── TimeDimension (Размерность времени) — базовый тип для временных величин; используется в аксиомах о согласованности единиц. +│ +├── Attribute (Атрибут) +│ │ +│ ├── Color (Цвет) +│ │ ├── Red (Красный) — базовый цвет; часто используется как семантический маркер (опасность, приоритет, выделение). +│ │ └── Blue (Синий) — базовый цвет; применяется для обозначения воды, неба, «холодных» состояний. +│ │ +│ ├── Shape (Форма) +│ │ ├── RectangularShape (Прямоугольная форма) — типичная форма зданий, экранов, коробок; важна для CAD, BIM, логистики. +│ │ └── CircularShape (Круглая форма) — характерна для колёс, труб, отверстий; нужна для геометрических рассуждений. +│ │ +│ └── Status (Статус) +│ ├── ActiveStatus (Активный статус) — сущность работает, доступна, участвует в процессе. +│ └── InactiveStatus (Неактивный статус) — сущность остановлена, недоступна, не участвует в текущем процессе. +│ +├── Relation (Отношение) +│ │ +│ ├── BinaryRelation (Бинарное отношение) +│ │ ├── Part (Часть) — отношение «часть-целое»; одно из ключевых в онтологиях; позволяет моделировать состав объектов (колесо — часть автомобиля). +│ │ ├── Owns (Владеет) — отношение собственности; связывает агента и объект; важно для бизнес-логики и прав доступа. +│ │ └── Located (Расположен) — пространственное отношение; связывает объект и место; нужно для логистики, карт, навигации. +│ │ +│ ├── TernaryRelation (Тернарное отношение) +│ │ └── TransfersFromTo (Передаёт от… к…) — отношение с тремя ролями: отправитель, получатель, объект передачи; полезно для моделирования транзакций, доставок, перемещений. +│ │ +│ └── TransitiveRelation (Транзитивное отношение) +│ └── SubclassOf (Подкласс) — транзитивное отношение между классами; позволяет делать выводы по иерархии (если A — подкласс B, B — подкласс C, то A — подкласс C). +│ +├── SetOrClass (Множество или класс) +│ │ +│ ├── Collection (Коллекция) +│ │ ├── Group (Группа) — совокупность объектов, объединённых по какому-то признаку; часто имеет организационную роль (команда, отряд, бригада). +│ │ └── Inventory (Инвентарь) — список объектов, находящихся в распоряжении; важен для учёта, складов, управления активами. +│ │ +│ ├── UniversalClass (Универсальный класс) +│ │ └── Everything (Всё) — максимально общий класс, включающий все возможные экземпляры; нужен для аксиом о полноте и границах модели. +│ │ +│ └── DisjointClass (Непересекающийся класс) +│ ├── LivingThing (Живое) и NonLivingThing (Неживое) — пример пары непересекающихся классов; экземпляры не могут одновременно принадлежать обоим; критично для категоризации и проверки целостности. +│ +├── Proposition (Пропозиция) +│ │ +│ ├── Statement (Утверждение) +│ │ ├── Fact (Факт) — утверждение, которое считается истинным в рамках модели; используется для хранения знаний и фактов базы данных. +│ │ └── Rule (Правило) — условное утверждение вида «если…, то…»; нужно для логического вывода и автоматизации рассуждений. +│ │ +│ └── Hypothesis (Гипотеза) +│ ├── TestableHypothesis (Проверяемая гипотеза) — предположение, для которого можно определить критерии проверки; важно в научных и аналитических моделях. +│ └── UntestableHypothesis (Непроверяемая гипотеза) — утверждение, которое нельзя верифицировать в текущей модели; полезно помечать такие узлы, чтобы не использовать их в автоматических выводах. +│ +├── List (Список) +│ │ +│ ├── OrderedList (Упорядоченный список) — элементы имеют фиксированный порядок; используется для сценариев, шагов процесса, инструкций. +│ └── UnorderedList (Неупорядоченный список) — порядок элементов не важен; подходит для наборов, выборок, результатов поиска. +│ +├── TimeInterval (Временной интервал) +│ │ +│ ├── Instant (Момент времени) — точка на временной оси; нужен для событий, фиксаций, измерений. +│ └── Duration (Длительность) +│ ├── ShortDuration (Короткая длительность) — абстракция для быстрых событий (щелчок, импульс, реакция). +│ └── LongDuration (Длинная длительность) — абстракция для длительных процессов (проект, сезон, жизненный цикл). +│ +└── Measure (Мера) + │ + ├── StandardMeasure (Стандартная мера) — официально принятый способ измерения (СИ, отраслевые стандарты). + └── NonStandardMeasure (Нестандартная мера) — локальные или исторические меры (фут, сажень, баррель); полезны для интеграции с историческими данными и legacy-системами. +``` + +--- + +## Пояснения к структуре + +- **Зачем так глубоко?** SUMO специально разделяет «тип величины» (`Dimension`), «единицу» (`Unit`) и «конкретное значение» (`Magnitude`). Это позволяет делать строгие проверки: нельзя сложить длину и массу, нельзя сравнивать метры и килограммы. +- **Почему `DisjointClass` показан парой?** В SUMO непересекаемость задаётся аксиомами между классами, а не одним узлом. Поэтому в дереве я показал типичную пару, чтобы было понятно, как это выглядит на практике. +- **`TransitiveRelation` и `SubclassOf`**: транзитивность — это свойство отношения, а не отдельный «вид» класса. В SUMO это моделируется через аксиомы; в дереве я поместил `SubclassOf` как пример транзитивного отношения, потому что ты часто работаешь с иерархиями и логическими выводами. +- **`Proposition` и правила**: ветка `Rule` важна, если ты строишь онтологию с выводом (reasoning) — именно здесь лежат правила вида «если объект имеет статус ActiveStatus и тип Car, то он может двигаться». + +--- + +## Как это использовать в твоих задачах + +Учитывая твои прошлые запросы (онтологии, Turtle, OWL, формализация, SUMO, DOLCE, BFO): + +- **Для Turtle-фрагмента** можно взять любую ветку (например, `Quantity → Unit → LengthUnit → Meter`) и оформить её как цепочку `rdfs:subClassOf`. +- **Для аксиом** удобно опираться на `Dimension` и `Unit`: это даёт основу для правил проверки типов в выводах. +- **Для сопоставления с DOLCE/BFO** можно сопоставить `Quantity` и `Attribute` с соответствующими категориями в этих онтологиях — они часто пересекаются семантически, но различаются формально. + +Если скажешь, какую ветку хочешь превратить в готовый Turtle/OWL-фрагмент (или в диаграмму Mermaid для визуализации), я дам точный код с комментариями к каждой строке — как ты просил раньше. 😊