Следует подчеркнуть важное отличие используемого нами значения понятия «свойство» от свойств в объектно-ориентированном программировании. В ООП свойство неразрывно связано с классом, в котором оно определено. В рассматриваемой нами парадигме моделирования свойства существуют независимо от классов; одно и то же свойство может относиться к объектам, принадлежащим различным классам. Более того, класс объекта может определяться в зависимости от того, какими свойствами он обладает. Кстати, понятие «класс» в ООП и в контексте нашего изложения имеет разный смысл: в ООП это шаблон, определяющий структуру информации об объектах определенного типа, и допустимые операции с ними. В нашем же случае класс – это всего лишь способ группировки объектов.
Следует подчеркнуть важное отличие используемого нами значения понятия «свойство» от свойств в объектно-ориентированном программировании. В ООП свойство неразрывно связано с классом, в котором оно определено. В рассматриваемой нами парадигме моделирования свойства существуют независимо от классов; одно и то же свойство может относиться к объектам, принадлежащим различным классам. Более того, класс объекта может определяться в зависимости от того, какими свойствами он обладает. Кстати, понятие «класс» в ООП и в контексте нашего изложения имеет разный смысл: в ООП это шаблон, определяющий структуру информации об объектах определенного типа, и допустимые операции с ними. В нашем же случае класс – это всего лишь способ группировки объектов.
Тем не менее, для каждого свойства мы должны определить набор классов, к объектам которых применимо данное свойство, что было указано выше, при обсуждении основных характеристик свойства.
То, что одно свойство может относиться к объектам разных типов – контринтуитивная идея для программистов. Поле «длина» в таблице «Виды контейнеров» и «длина» в таблице «Товары» - это два разных поля, и для того, чтобы их сравнить между собой, необходима написанная программистом логика. В онтологической же модели и виды контейнеров, и товары имеют одно и то же свойство «длина». Это позволяет, например, найти одним запросом все предметы, обладающие определенной длиной, независимо от их типа.