2009-05-09 3 views
3

В OWL этот запрос работает отличноСтранное поведение запросов в OWL!

"person and hasChild min 3" 

он отлично работает, и это дает мне все лица, имеющие более 3-х детей

, но это одна не работает

"person and hasChild max 3" 

он должен дать мне все лица, которые имеют менее 3 детей, однако это не работает

У кого-нибудь есть идея?

Почему «мин» работает, пока «макс» не дает никаких результатов! ??

Благодаря

+0

опечатка: "более 3" -> "3 или более" – Kaarel

+0

опечатка: "менее 3" -> "менее 4" – Kaarel

ответ

8

Причина, почему второй запрос «не работает» является Открытый мир Успенская, и, возможно, также (отсутствие) уникальное имя Успения.

Say Вы заявляете:

John lives in Paris. 
Mary lives in Paris. 

следующие вопросы отвечают следующим образом с помощью OWL мыслителя.

Who lives in Paris? John, Mary 
Does at least one thing live in Paris? YES 
Do at least two things live in Paris? Maybe 
Is Paris a person? Maybe 
Is John and Mary the same thing? Maybe 
Is Paris and Mary the same thing? Maybe 
Does at most one thing live in Paris? Maybe 

Всякий раз, когда OWL рассуждающий возвращается с Maybe, пользовательский интерфейс (например, Protege), как правило, не показывают ничего.

Чтобы получить ответы, которые вы, вероятно, захотите, вам нужно добавить гораздо больше информации в базу знаний, например.

Mary is not John. 
Everybody who lives in Paris is either John or Mary. 

Надеюсь, это поможет. Рассматривая, как мало просмотров ваших недавних вопросов на Stack Overflow, я бы сказал, что лучше задавать эти вопросы в списке рассылки Protege. Или еще лучше, посмотрите на архивы списков рассылки. Вопросы, связанные с Открытым миром, возникают, по крайней мере, раз в неделю.

1

Чтобы добавить к точкам Kaarel и прокомментировать ваш пример запроса, рассудитель будет смотреть на утвержденных троек, которые у вас есть, и спросить: «Могут ли быть другие утверждённые троек, которых у меня нет на данный момент, которые утверждают это у кого есть дополнительные дети, которые переведут их на «три ребенка»? Поскольку ответ на этот вопрос «может быть», рассудитель не сможет сделать вывод (как факт), что у человека в вашем примере не более трех детей.

Отрицательные утверждения достаточно сложны для рассуждения, подтверждаемого предположением открытого мира. Ваш вопрос «человек не должен иметь более трех детей» в этом вопросе. Чтобы достичь того, что вы ищете, вы можете утверждать, что человек набирает класс родителей с тремя детьми или меньше. Опять же, если вы это сделали, вам, вероятно, не понадобится запрос в первую очередь.