Значение выражений класса определено в разделе 2.2. 3 выражения класса рекомендации W3C OWL 2 Web Ontology Language Direct Semantics.
Четыре выражения класса, данные в вопросе, не совсем правильно сформированы, поскольку я понимаю синтаксис Manchester OWL, поскольку hasChild (A or/and B)
действительно должен быть hasChild some/only (A or/and B)
. Тем не менее, мы все еще можем обсудить значение различных комбинаций.
Точные ограничения кардинальности
Ограничения hasChild exactly 1 Thing
и hasChild exactly 2 Thing
обозначают классы индивидуумов, которые связаны точно с одним или двумя другими индивидуумами по свойству hasChild
соответственно. Поскольку выражение класса в ограничении — Thing
, вероятно, чаще встречаются версии без класса: hasChild exactly 1
и hasChild exactly 2
.
Универсальные или AllValuesFrom ограничения
Выражение hasChild only X
обозначает класс индивидуумов, которые таковы, что если они связаны с любым другим индивидуумом свойством hasChild
, тогда другой индивидуум является экземпляром X
. Он не накладывает никаких ограничений на то, что есть такие лица, а только на то, что если они есть, то они должны быть X
s.
Экзистенциальные или SomeValuesFrom ограничения
Выражение hasChild some X
обозначает класс лиц, которые связаны как минимум с одним другим лицом, являющимся X
по свойству hasChild
. Это не накладывает никаких ограничений на то, что каждый другой человек, связанный hasChild
, является X
, просто по крайней мере один из них.
Значение выражений
Выражения класса в задаче на данный момент не очень хорошо сформированы и должны быть либо hasChild some (A or/and B)
, либо hasChild only (A or/and B)
. Это означает, что необходимо рассмотреть ряд случаев, но, к счастью, некоторые из них сводятся к одному.
Если А и В эквивалентны
Если A
и B
эквивалентны, то (A or B)
и (A and B)
эквивалентны A
и B
. Это означает, что выражения в вопросе можно упростить до двух случаев, в зависимости от того, должно ли ограничение в левой части быть some
или only
.
(hasChild some A) and (hasChild exactly 1 Thing)
Это выражение класса обозначает класс индивидуумов, которые связаны свойством hasChild
с по крайней мере одним индивидуумом типа A
и связаны точно с одним другим индивидуумом свойством hasChild
( а с левой стороны этот индивидуум должен быть индивидуумом типа A
).
(hasChild some A) and (hasChild exactly 2 Thing)
Это выражение класса обозначает класс индивидуумов, которые связаны свойством hasChild
с по крайней мере одним индивидуумом типа A
и связаны ровно с двумя индивидуумами свойством hasChild
(и с левой стороны, один из этих индивидуумов должен быть индивидуумом типа A
).
(hasChild only A) and (hasChild exactly 1 Thing)
Это выражение класса обозначает класс индивидуумов, которые связаны свойством hasChild
только с индивидуумами типа A
, и которые связаны точно с одним другим индивидуумом по свойству hasChild
(и, по левой стороне, этот индивидуум должен быть типа A
).
(hasChild only A) and (hasChild exactly 2 Thing)
Это выражение класса обозначает класс индивидуумов, которые связаны свойством hasChild
с некоторым индивидуумом типа A
и которые связаны ровно с двумя индивидуумами по свойству hasChild
(а в левой части оба этих индивидуума должен этот человек типа A
).
Если А и В не пересекаются
Если A
и B
не пересекаются, то выражение класса A and B
обозначает пустой класс, поскольку ничто не может быть одновременно A
и B
. Это означает, что эти четыре случая невыполнимы.
Дела, связанные с hasChild some (A and B)
, невыполнимы, потому что нет A and B
, с которыми можно было бы что-то связать. Таких случаев два:
(hasChild some (A and B)) and (hasChild exactly 1 Thing)
(hasChild some (A and B)) and (hasChild exactly 2 Thing)
Комбинация only (A and B)
и exactly n
неудовлетворительна, поскольку (пока n
не равно 0) она говорит, что индивидуум должен быть связан ровно с n
вещами, и что каждая из этих n
вещей должна быть A and B
(которых может быть таких случаев два:
(hasChild only (A and B)) and (hasChild exactly 1 Thing)
(hasChild only (A and B)) and (hasChild exactly 2 Thing)
Все остальные случаи довольно просты, учитывая значение some
и only
. Хотя существует четыре выражения класса, существует только два различных класса.
(hasChild only (A or B)) and (hasChild exactly 1 Thing)
(hasChild some (A or B)) and (hasChild exactly 1 Thing)
Это класс вещей, у которых есть ровно один потомок, который должен быть A
или B
.
(hasChild only (A or B)) and (hasChild exactly 2 Thing)
(hasChild some (A or B)) and (hasChild exactly 2 Thing)
Это класс вещей, у которых ровно два потомка, каждый из которых должен быть A
или B
.
person
Joshua Taylor
schedule
17.06.2013
hasChild (A or B)
бытьhasChild some (A or B)
илиhasChild only (A or B)
(или чем-то еще)? Аналогично для выражений, включающих(A and B)
? - person Joshua Taylor   schedule 17.06.2013