2015-04-20 2 views
1

Если вы посмотрите на OWL 2 specification следующие аксиомы были определены:Несовместные Свойства объекта против классов дизъюнктных

Несовместные Свойства

DisjointObjectProperties (а: hasFather: с hasMother) Отцовство не пересекается с материнство. ObjectPropertyAssertion (a: hasFather a: Stewie a: Peter) Питер - отец Стьюи. ObjectPropertyAssertion (a: hasMother a: Stewie a: Lois) Лоис - мать Стьюи.

непересекающиеся классы

DisjointClasses (а: Мальчик: с девушкой) Ничто не может быть как мальчик и девочка.
ClassAssertion (a: Boy a: Stewie) Стьюи - мальчик.

Так что мой вопрос заключается в том, что если я хочу определить следующее:

Declaration(NamedIndividual(a:Peter)) 
Declaration(NamedIndividual(a:Lois)) 
ClassAssertion(a:Father a:Peter) 
ClassAssertion(a:Mother a:Lois) 

, а затем определить дизъюнктность, нужно ли мне (1) или (2) или оба одновременно:

(1) DisjointObjectProperties(a:hasFather a:hasMother) 
(2) DisjointClasses(a:Mother a:Father) 

для того, чтобы сообщить врачу, что Нет матери может быть отцом? Разве это не так, что определение обоих будет просто избыточным?

ответ

1

Вы не упомянули о какой-либо связи между классами «Мать и Отец», а свойства hasMother и hasFather, поэтому трудно сказать, выполняете ли вы некоторые дополнительные предположения (например, что диапазон hasMother - «Мать»).

Когда вы утверждаете, что классы C и D не пересекаются, вы говорите, что для каждого индивида х, она не может быть так, что С (х) и D (х)

Когда вы утверждаете, что свойства P и Q не пересекаются, вы говорите, что для каждой пары индивидов x и y не может быть так, что и P (x, y), и Q (x, y).

Теперь предположим, что у вас есть онтология с классами Мать и Отец, а свойства hasMother и hasFather, , которые имеют диапазоны Мать и отец. Это означает, что всякий раз, когда у вас есть hasmother (a, m), вы можете сделать вывод о том, что Мать (m), и всякий раз, когда у вас есть hasather (a, f), вы можете сделать вывод о том, что Отец (f).

В данном конкретном случае, если вы заявляете, что Мать и Отец не связаны друг с другом, это имеет побочный эффект, заключающийся в том, что hasMother и hasFather не пересекаются, потому что если у вас есть hasother (x, y) и hasFather (x, y), тогда вы иметь Матерью (y) и Отцом (y), что противоречиво.

В этом конкретном случае, если вы заявляете, что hasMother и hasFather не пересекаются, у вас не имеют побочный эффект, заключающийся в том, что вы не разделяете классы Мать и Отец. Например, у вас есть hasother (x1, y) и hasFather (x2, y), и из этого выведите Мать (y) и Отца (y).

+0

Значит ли это, что если у меня нет домена и диапазона для матери и отца, мне нужны оба класса и свойства, которые должны быть непересекающимися? – Artemis

+0

@Artemis Это полностью зависит от того, что вы хотите сделать, и вы не сказали нам об этом. В конце концов, вы не должны ** утверждать что-либо. –

+0

Единственное, что я хочу сделать, это то, что ни одна Мать никогда не будет Отцом. Мой вопрос в том, что разность между классами и свойствами имеет один и тот же результат, тогда я могу утверждать только одно. Я упомянул об этом в своем вопросе. Я хотел убедиться, что я не делаю ошибок моделирования. – Artemis

Смежные вопросы