Значение точных ограничений кардинальности 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 эквивалентны, а когда они не пересекаются?


person Academia    schedule 16.06.2013    source источник
comment
Рабочая заметка W3C по синтаксису Манчестера не содержит описания [класс объекта_свойства] в его раздел с описаниями классов. Должен ли hasChild (A or B) быть hasChild some (A or B) или hasChild only (A or B) (или чем-то еще)? Аналогично для выражений, включающих (A and B)?   -  person Joshua Taylor    schedule 17.06.2013


Ответы (1)


Значение выражений класса определено в разделе 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. Он не накладывает никаких ограничений на то, что есть такие лица, а только на то, что если они есть, то они должны быть Xs.

Экзистенциальные или 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
comment
Большое спасибо :) отлично объяснил. - person Academia; 17.06.2013