Значение точных ограничений мощности OWL
Я начинающий программист с синтаксисом Манчестера для OWL. Мне нужно понять роль exactly
, Какое из этих ограничений является правильным:
(hasChild (A or B)) and (hasChild exactly 1 Thing)
(hasChild (A or B)) and (hasChild exactly 2 Thing)
(hasChild (A and B)) and (hasChild exactly 1 Thing)
(hasChild (A and B)) and (hasChild exactly 2 Thing)
Можете ли вы объяснить это, когда A
а также B
эквивалентны, и когда они не пересекаются?
1 ответ
Значение выражений классов определено в разделе 2.2.3. Выражения классов в рекомендации O3L 2 Web Ontology Language Direct Semantics W3C.
Четыре выражения класса, приведенные в вопросе, не очень хорошо сформированы, так как я понимаю синтаксис 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
,
Universal или AllValuesFrom Ограничения
Выражение hasChild only X
обозначает класс лиц, которые таковы, что если они связаны с любым другим лицом hasChild
собственность, то другой человек является экземпляром X
, Это не накладывает каких-либо ограничений на существование таких лиц, а только на то, что если они есть, то они должны быть X
s.
Existential или SomeValuesFrom Ограничения
Выражение hasChild some X
обозначает класс людей, которые связаны по крайней мере с одним другим человеком, который является X
посредством hasChild
имущество. Это не накладывает каких-либо ограничений на то, что hasChild
является X
Просто так хоть один есть.
Значение выражений
Выражения класса в задаче не очень хорошо сформированы на данный момент, и должны быть либо hasChild some (A or/and B)
или же hasChild only (A or/and B)
, Это означает, что нужно рассмотреть несколько случаев, но, к счастью, некоторые из них сокращаются.
Если A и 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
s для всего, что связано с. Есть два таких случая:
(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
,