Skip to content
Зарегистрируйтесь, чтобы получить доступ к полной версии курса.

Отношения объектов

Сами по себе объекты уже содержат большой объём информации о предметной области. Но объекты в мире не существуют сами по себе, они как-то соотносятся друг с другом, как-то взаимодействуют. Важные, полезные или интересные утверждения о происходящем в мире строятся как фразы о нескольких объектах, об их связях. Для отражения такой информации в онтологические модели включают отношения между объектами.

Собственно, первый пример отношения мы уже рассмотрели. Категоризация объектов -- это отношение, связывающее индивид с категорией или более узкую категорию с более широкой категорией. Мы договорились обозначать само отношение категоризации местоимением «это», так что любое отношение категоризации выглядит как триплет (тройка):

S это O, где S -- индивид или категория, а O -- всегда категория.

Такой триплет читается как «Объект S относится к категории O».

Но с помощью триплета (https://en.wikipedia.org/wiki/Semantic_triple) может быть выражено вообще любое отношение между двумя объектами:

S Р O

В выраженном триплетом отношении:

  • S (первый элемент) называется «субъектом» отношения («subject»)
  • P (второй элемент) называется «предикатом» («predicate», собственно отношение)
  • O (третий элемент) называется «объектом» отношения («object»)

Тут мы сталкиваемся с синонимией -- ведь мы называем в нашем курсе «объектами» вообще всё то, что наше мышление выделяет в мире. Чтобы избежать путаницы, мы, говоря об «объекте» как о том, что стоит на третьем месте в триплете -- будем называть «вообще все объекты» (индивиды и категории) -- «сущностями».

В лингвистике subject, predicate и object -- это знакомые вам со школы подлежащее, сказуемой и дополнение в предложении на естественном языке (например, русском). Именно из лингвистики эти термины и пришли в онтологическое моделирование, ведь триплет похож на фразу на естественном языке

Примеры отношений как фраз на русском языке, с сохранением структуры триплетов:

Мама моет раму.

Повар держит нож.

Морковь варится в кастрюле.

Предикаты, используемые в отношениях -- универсальны. Мы можем поменять сущности, описывая всё то же отношение, но между другими сущностями:

Аня моет внука.

Иван Иванович держит молоток.

Мясо варится в супе.

Поменять субъект и объект местами с сохранением смысла отношения тоже можно, но только изменив при этом предикат:

Рама моется мамой.

Кастрюля используется для варки моркови.

Если мы хотим строить более качественные и более формальные модели -- нам надо использовать в отношениях сущности (объекты), которые мы уже научились выделять и называть, а также договориться и о правилах именования предикатов.

Для индивидов и категорий на месте субъектов и объектов в триплетах мы будем использовать наши прежние соглашения, а для предикатов --договоримся в нашем курсе использовать словосочетания с маленькой буквы, обязательно содержащие глагол, без кавычек, но с заменой пробелов на подчёркивания (отношение «это» для категоризации останется пока что исключением). Например, так:

«Анна Петровна Имярекова» моет «Петр Сергеевич Борисов»

«купленный мною 25.02.2023 килограмм мяса» варится_в «моя пятилитровая голубая кастрюля»

Выше приведены примеры отношений между двумя индивидами, и эти отношения существуют, как и сами индивиды, в определённое время в определённом месте в пространстве.

Обратите внимание, что отношения между двумя категориями создаются для того, чтобы отразить совсем другие взаимодействия и соотношения, не совпадающие буквально с отношениями между входящими в эти категории индивидами, хотя и в чём-то похожие. Отношения между категориями имеют смысл утверждений о связях всех объектов одной категории с объектами другой, реальных или потенциальных:

«Бабушка» помогает_ухаживать_за «Внук»

«Кастрюля» используется_для_варки «Мясо»

Сравните эти отношения с отношениями выше.

Отношения между индивидами и категориями пока что ограничиваются в нашей модели отношением категоризации «это». Мы ещё уточним понимание отношения категоризации, а вот другие отношения между индивидами и категориями -- встречаются редко, в относительно экзотических моделях. Впрочем, пример такой экзотики вы увидите ниже.

Напомним, что в онтологии нашего курса, насколько мы пока её построили, любой индивид X является субъектом отношения категоризации

X -- это «Индивидуальный физический объект»

И любая категория Y является субъектом отношения категоризации

Y -- это «Категория»

Записывать эти отношения в модели явно не так уж бессмысленно. Мы постарались ввести и соблюдать соглашение о названиях, но в реальных проектах это не всегда возможно, да и вывод о категоризации на основании названия требует времени, так что иногда удобнее прописать категорию явно. Такое отношение, по сути просто заявляющее, что объект выделен в мире -- называется «декларация объекта».

Ещё одно замечание -- конечно же, отношения тоже выделяются исходя из роли (или ролей), для которой делается модель. Даже если сами сущности точно связаны с практиками какой-то роли -- некоторые отношения между ними могут быть из этой роли незаметны или неинтересны.