diff --git a/LD2/ontology/r-box_2.md b/LD2/ontology/r-box_2.md index af47c4b4..d1931a00 100644 --- a/LD2/ontology/r-box_2.md +++ b/LD2/ontology/r-box_2.md @@ -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? 😊 +