Update r-box_2.md

This commit is contained in:
Dmitry 2026-10-13 12:39:03 +03:00 • committed by GitHub
parent f17d6870f0
commit e7a674f72b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -5,3 +5,64 @@ BFO 2020, OBO/RO, SUMO, DUL, IAO, OBI, PATO, YAMATO и OpenCyc являются
IRI и метки BFO проверяются на соответствие imports/targets/bfo.ttl; целевые аксиомы BFO/OBO/SUMO остаются за пределами замыкания на уровне объектов.
OWL/RDFS — это SoundUnderApproximationдиалект компилятора, а SHACL Core/AF — это ValidationOnly.
Исходные файлы ядра (140 строк) и аддитивного кода (25 строк) — это slices/grounding/logic/mappings/grounding-bridges.ttlи slices/grounding/logic/mappings/foundation-bridges.ttl; каталог моделей процессов (37 строк) (P-Plan, PROV-O, schema.org HowTo/Recipe, OPMW, BPMN, RO-Crate Workflow-Run, Airflow/CWL/WDL/Temporal/Nextflow, openEHR Task Planning) — это slices/grounding/logic/mappings/plan-enactment-bridges.ttl; полное руководство: docs/foundational-bridging.md.
- https://jesstalisman-ia.github.io/ontology-pipeline/
- https://sourceforge.net/p/owlapi/mailman/owlapi-developer/thread/4CE6BA24.6040409@uni-ulm.de/
### ru
- https://vc.ru/id1431455/3074405-ontologo-lingvisticheskaya-arhitektura ОНТОЛОГО-ЛИНГВИСТИЧЕСКАЯ АРХИТЕКТОНИКА
## 1
Хороший вопрос! Я бы сказала так: в контексте TBox и ABox **чаще используют слово «утверждение»**, а «суждение» в этой терминологии не закрепилось. И тут есть логичное объяснение, связанное с тем, что именно хранят эти части онтологии.
* **В TBox** (Terminology Box) собирают *интенсиональные* знания: определяют классы, их свойства и отношения между понятиями. То, что кладут в TBox, называют **аксиомами** или **утверждениями терминологии**. Например: «Класс `Студент` является подклассом класса `Человек`» — это утверждение, задающее структуру словаря онтологии. [```1```](https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0)[```4```](https://libeldoc.bsuir.by/bitstream/123456789/26149/1/Zagorulko_O.PDF)[```9```](https://arxiv.org/abs/2205.14591)
* **В ABox** (Assertional Box) хранят *экстенсиональные* знания — конкретные факты об экземплярах. И здесь термин «утверждение» прямо отражён в названии: ABox буквально расшифровывается как *Assertion Box*. Примеры: `Человек(Анна)` (утверждение о принадлежности экземпляра классу) или `имеетРебёнка(Анна, Пётр)` (утверждение о связи между экземплярами через роль). [```1```](https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0)[```8```](https://courses.cs.umbc.edu/graduate/691/fall17/01/papers/DescriptionLogicHandbook.pdf)[```4```](https://libeldoc.bsuir.by/bitstream/123456789/26149/1/Zagorulko_O.PDF)[```2```](https://trinidata.ru/files/SemanticIntro.pdf)[```10```](http://comsec.spb.ru/imctcpa18/02.02.IM&CTCPA-2018-Gorodetsky.pdf)
Почему не «суждение»? В формальных онтологиях и дескрипционной логике устоялась именно лексика «утверждение» (assertion) для обоих случаев — просто потому, что так принято в профессиональном сообществе. Термин «суждение» больше характерен для общей логики или философии, а в технической документации по онтологиям (OWL, Turtle и т.п.) вы встретите «утверждение». [```1```](https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0)[```8```](https://courses.cs.umbc.edu/graduate/691/fall17/01/papers/DescriptionLogicHandbook.pdf)[```9```](https://arxiv.org/abs/2205.14591)
**Коротко:** и в TBox, и в ABox то, что связывает предикаты (классы, роли, экземпляры), называют **утверждениями**. Разница не в термине, а в уровне: TBox — утверждения о структуре (что возможно), ABox — утверждения о фактах (что есть в реальности). [```4```](https://libeldoc.bsuir.by/bitstream/123456789/26149/1/Zagorulko_O.PDF)[```5```](https://www.inf.unibz.it/~franconi/dl/course/dlhb/dlhb-02.pdf)
Так что смело используй «утверждение» в обоих случаях — это будет корректно и понятно коллегам по онтологиям 😊.
## 1.1
Вопрос отличный! Разбираться в этих нюансах действительно полезно, особенно когда работаешь с онтологиями. Я постараюсь разложить всё по полочкам.
## Про ABox: два типа утверждений
Да, в ABox действительно два основных вида утверждений:
* **Утверждение о принадлежности экземпляра классу** (например, `Человек(Анна)`). Здесь мы говорим: конкретный объект (экземпляр) относится к определённому классу.
* **Утверждение о связи между двумя экземплярами** (например, `имеетРебёнка(Анна, Пётр)`). Здесь предикат (роль) связывает два конкретных объекта.
И то, и другое — это **факты** о конкретной ситуации, о конкретных сущностях.
## Интенсиональные vs экстенсиональные знания
Теперь про разницу, которую ты затронул.
* **Интенсиональные знания** — это знания о *сущностях*, о том, *что возможно*. Они отвечают на вопрос «как устроено?». В онтологиях их хранят в **TBox** (Terminology Box). Там определяют классы, их свойства, отношения между понятиями, формулируют аксиомы. Например: «Класс `Студент` является подклассом класса `Человек`», или «У класса `Человек` есть свойство `имеетВозраст`». Это схема, модель того, какие сущности и связи в принципе могут существовать. [```7```](https://libeldoc.bsuir.by/bitstream/123456789/26149/1/Zagorulko_O.PDF)[```3```](https://courses.csail.mit.edu/6.871/lectures06/Lect07-SemcNets.pdf)
* **Экстенсиональные знания** — это знания о *конкретных случаях*, о том, *что есть в реальности*. Их как раз и хранят в **ABox** (Assertional Box). Там фиксируют факты: конкретные экземпляры, их принадлежность к классам, конкретные связи между ними. То есть ABox — это реализация, экземпляр той схемы, которая задана в TBox. [```1```](https://en.wikipedia.org/wiki/Abox)[```7```](https://libeldoc.bsuir.by/bitstream/123456789/26149/1/Zagorulko_O.PDF)
Проще говоря: TBox говорит, *что может быть*, а ABox — *что есть*. [```7```](https://libeldoc.bsuir.by/bitstream/123456789/26149/1/Zagorulko_O.PDF)
## А что с другими «box»?
Помимо TBox и ABox, в литературе встречаются и другие «коробки», но важно понимать: это не жёсткий стандарт, а скорее удобная метафора для разных уровней или аспектов работы с знаниями. Например:
* **R-box** — термин не устоялся в общепринятой терминологии. Иногда его используют в узких контекстах (например, в специфических фреймворках или статьях), чтобы обозначить что-то вроде «хранилища правил» или «реляционной части» онтологии, но это не каноничное название вроде TBox/ABox.
* Иногда выделяют **V-box** (для версионности) или другие специализированные «коробки» в конкретных системах.
## «Коробка» — это просто контейнер или что-то глубже?
Метафора «коробки» действительно может ввести в заблуждение. Я бы сказала так: это не просто «набор, из которого берут объекты». Это **уровень абстракции** и **зона ответственности**.
* TBox — уровень *определения* (что мы считаем классом, каким свойствам объект должен удовлетворять, чтобы быть экземпляром этого класса).
* ABox — уровень *конкретизации* (какие именно объекты есть в нашей предметной области, какие у них реальные значения свойств).
То есть «коробка» задаёт контекст, в котором интерпретируются утверждения. Утверждение `Человек(Анна)` в контексте TBox (где определён класс `Человек`) и ABox (где этот факт зафиксирован) обретает смысл.
## Небольшой пример, чтобы связать всё вместе
Допустим, у нас есть онтология про университеты.
* В **TBox** мы определяем: есть класс `Университет`, есть класс `Факультет`, есть свойство `имеетФакультет`, и формулируем аксиому: «Каждый факультет является частью некоторого университета».
* В **ABox** мы фиксируем факты: `Университет(МГУ)`, `Факультет(ФакультетИВС)`, `имеетФакультет(МГУ, ФакультетИВС)`.
Видишь разницу? TBox задаёт структуру и правила, а ABox наполняет её конкретными данными.
Если будешь проектировать онтологию, советую держать в голове этот дуализм: сначала проработай TBox (что ты вообще моделируешь), а потом заполняй ABox (какие реальные объекты под эту модель подходят). Подсказать, как на практике проверить согласованность TBox и ABox? 😊