Мне пока еще непонятно, почему нам не придется отражать power type pattern в модели. Если он не нужен, то получается для нашей модели не потребуются и все Templates из 24744 (те классы, что с суффиксом Kind)?
Может быть на примере будет проще обсуждать. Начал пробовать как можно этот паттерн описать. Пусть у нас будет такая таксономия (картинки не вставляются в комментарий, если потребуется в отдельный пост выложу): Thing -Tool --Drills --Hammers --Screwdrivers -ToolKind
Можно создать member'ов (вкладка Individuals). Type: ToolKind -Drills -Hammers -Screwdrivers Type: Tool -Drill123 -Drill456
Как описано в указанных вами статьях, при создании нового member'a для ToolKind, мы должны в таксономии создать соответствующий подтип для Tool. В примере 3 member'а и 3 подтипа. Для одного из подтипов создано 2 member'а (Drill123, Drill456).
На вкладке ObjectProperties создаем инверсивные роли: hasPowerType hasParititionedType
Можем сказать, что: Tool hasPowerType ToolKind ToolKind hasParititionedType Tool
А почему нельзя ограничиться заданием Kinds как подклассов класса Tool? Что мы не сможем выразить? Какие свойства каких классов?
Аналогично примеру их присланной по емейлу главы - часть свойств задаётся для класса Tool, часть - для класса Drill. Этого нельзя сделать на одной диаграмме классов, проблемы с "внешней рамкой", как там нарисовано. Но в OWL это, вроде, прекрасно выражается?
Можно сделать подкласс Kind сответствующего класса, но дальнейшее моделирование конкретных Kinds и их инстантсов должно подчиняться специальной дисциплине.
Мне кажется, что они стараются ввсети чёткую границу между метамоделированием, моделированием метода и моделированием конкретного предприНятия, и этой чёткой границы в OWL обеспечить не удаётся.
Может быть на примере будет проще обсуждать. Начал пробовать как можно этот паттерн описать.
Пусть у нас будет такая таксономия (картинки не вставляются в комментарий, если потребуется в отдельный пост выложу):
Thing
-Tool
--Drills
--Hammers
--Screwdrivers
-ToolKind
Можно создать member'ов (вкладка Individuals).
Type: ToolKind
-Drills
-Hammers
-Screwdrivers
Type: Tool
-Drill123
-Drill456
Как описано в указанных вами статьях, при создании нового member'a для ToolKind, мы должны в таксономии создать соответствующий подтип для Tool. В примере 3 member'а и 3 подтипа. Для одного из подтипов создано 2 member'а (Drill123, Drill456).
На вкладке ObjectProperties создаем инверсивные роли:
hasPowerType
hasParititionedType
Можем сказать, что:
Tool hasPowerType ToolKind
ToolKind hasParititionedType Tool
Как я понимаю, это должно давать возможность задавать свойства и отношения для групп member'ов.
http://www.w3.org/2007/OWL/wiki/Punning#Treating_classes_as_instances_of_metaclasses_.28Class_.E2.86.94_Individual.29
Надо ли это делать через power type или модель данных 15926 предоставит другую возможность, пока четко сказать не получается.
Reply
Reply
Аналогично примеру их присланной по емейлу главы - часть свойств задаётся для класса Tool, часть - для класса Drill. Этого нельзя сделать на одной диаграмме классов, проблемы с "внешней рамкой", как там нарисовано. Но в OWL это, вроде, прекрасно выражается?
Reply
Можно сделать подкласс Kind сответствующего класса, но дальнейшее моделирование конкретных Kinds и их инстантсов должно подчиняться специальной дисциплине.
Мне кажется, что они стараются ввсети чёткую границу между метамоделированием, моделированием метода и моделированием конкретного предприНятия, и этой чёткой границы в OWL обеспечить не удаётся.
Reply
Leave a comment