У меня есть следующие классы: классы B, C и D являются подклассами A.
A ----+----------> B
|
+----------> C
|
+----------> D
Кроме того, у меня есть свойство объекта, hasObjectProperty и некоторые другие классы X, Y, Z,
где X, Y, Z - непересекающиеся классы .
Затем я установил ограничения для классов B, C и D следующим образом:
(Здесь я также использую синтаксис Manchester OWL, используемый в Protege * http://www.co -ode.org / resources / reference / manchester_syntax / )
B: (hasObjectProperty only X) and (hasObjectProperty some X)
C: (hasObjectProperty only Y) and (hasObjectProperty some Y)
D: (hasObjectProperty only Z) and (hasObjectProperty some Z)
Теперь вопрос в том, как я могу описать класс E, который должен быть объединением только классов B и C?
Как я могу описать класс, который может быть как классом B, так и классом C (но не классом D)?
A ----+----------> B ------> E
|
+----------> C ------> E
|
+----------> D
это возможно?
Я пытался определить ограничение класса E следующим образом. Но Разумник определит его как недействительный.
E: ((hasObjectProperty only X) and (hasObjectProperty some X)) or ((hasObjectProperty only Y) and (hasObjectProperty some Y))
спасибо большое!