протеже мышления не сообщает об ошибке за нарушение GCI - PullRequest
1 голос
/ 11 апреля 2020

Моя главная цель в настоящее время в Protege, основанном на онтологии, - проверка согласованности. Для этого я начну с небольших тестов.

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

После этого потока из долгого времени go Я написал следующий GCI:

expression and (structureType value structureItem) SubClassOf hasAuthor min 1 person

Под этим я хочу заявить, что: любой класс, который является expression, имеет свойство structureType, значение которого равно structureItem должен иметь или обязательно иметь хотя бы одно свойство hasAuthor

Но когда я запускаю рассуждение в Протеже с таким expression БЕЗ hasAuthor свойства, я не получаю никакой ошибки.

Что-то не так с моим правилом или я ожидаю чего-то от рассудителя, для которого оно не предназначено.

Ответы [ 2 ]

2 голосов
/ 11 апреля 2020

Но когда я запускаю мыслитель в Протеже с таким expression без a hasAuthor property, я не получаю никакой ошибки.

Проблема OWA (Предположение об открытом мире). Вы должны явно указать:

Individual: expression
    Types: Expression, hasAuthor max 0
    Facts: structureType structureItem

Другой вариант - «закрыть мир» и использовать отрицательные утверждения свойств:

Class: Person
    EquivalentTo: {authorA, authorB}

Individual: expression
    Types: Expression
    Facts: structureType structureItem, not hasAuthor authorA, not hasAuthor authorB
1 голос
/ 16 апреля 2020

То, что происходит, не имеет ничего общего с предположением об открытом мире. Подробнее об этом позже.


Чтобы показать, как нормально ведет себя мыслитель, позвольте мне немного упростить ваш GCI. Давайте рассмотрим класс Father и свойство hasChild и следующий GCI:

Father  SubClassOf  hasChild min 1

Это говорит о том, что у отцов есть по крайней мере один ребенок. Это знание здравого смысла. Теперь, если я добавлю тот факт, что:

Antoine  Type  Father

, ваш вопрос предполагает, что это должно быть обнаружено как ошибка. Если вы думаете о знаниях, которые мы представляем здесь, должно быть ясно, что интерпретация этого как ошибки идет вразрез с обычными рассуждениями. Если я встречу тебя и скажу:

Антуан - отец! Вы знаете, у отцов есть по крайней мере один ребенок.

вы, вероятно, не поразитесь и не скажете:

Вы не правы, Антуан!

потому что то, что я говорю, это просто простые, последовательные, разумные знания. OWL - это представление знаний язык. То, что является разумным и соответствует всем, является разумным и последовательным в OWL. OWL не создает ошибок из невысказанных обязательств. Отношение subClassOf не является обязательством предоставлять доказательство нахождения в суперклассе, чтобы иметь возможность быть в подклассе. GCI просто предоставляет правду о мире, который он описывает. Поэтому, если я утверждаю, что Антуан является отцом, то я могу заключить, что у Антуана есть ребенок, это так просто.

Вы, вероятно, путаете включения понятия в какое-то ограничение. Но интерпретация GCI как таких ограничений или обязательств полностью противоречит цели онтологий. Если у вас есть:

StackOverflowUser  SubClassOf  Person
Jeff  Type  StackOverflowUser

, вам придется доказать, что Джефф действительно человек, чтобы избежать ошибки системы ?! Таким образом, вы должны были бы представить то, что должно быть логическим выводом, как явные факты. Это противоположно идее рассуждений и умозаключений!


Теперь давайте go вернемся к OWA. Необходимо дать некоторые разъяснения о том, что такое OWA, а что нет.

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

Но было бы ошибкой квалифицировать себя как «допущение» отсутствия предположения. Таким образом, возникает вопрос "что такое допущение в замкнутом мире?" затем.

CWA является концепцией логики первого порядка c (FOL), определенной в контексте теории баз данных. В базах данных обычно хранятся записи «положительных утверждений», которые могут быть формализованы в виде атомов FOL, таких как hasChild(Antoine, R.), но не «отрицательных утверждений», формализованных как отрицательные литералы, такие как ¬hasChild(Antoine, Jeff). В базе данных генеалогических записей было бы безумно вести учет всех пар вещей x и y, таких как ¬hasChild(x, y). Вместо этого разумно предположить, что если hasChild(x, y) отсутствует в базе данных, то из этого следует, что ¬hasChild(x, y). В этом суть CWA.

Однако это требует дальнейшего разъяснения, так как люди часто ссылаются на OWA / CWA. Некоторые люди определяют CWA как предположение, что то, что не может быть выведено из базы знаний или онтологии, считается ложным. Это не CWA. Если бы это было так, то всякий раз, когда мы не можем заключить φ, ¬φ, мы бы предположили, что и φ, и φ являются ложными, что противоречит. Таким образом, истинная формализация CWA (как определено Раймондом Рейтером в 1978 году и как формализована учеными и логиками в течение многих десятилетий) заключается в следующем:

«если нет никаких доказательств положительного базового литерала то отрицание этого литерала считается истинным »[Р. Рейтер, «О базах данных закрытого мира», 1978 год

1054 *

Более полно, учитывая теорию ФОЛ T, теория замкнутого мира CW (T) T является теорией T ∪ {¬φ | φ - основной атом и T ⊬ φ}. Создание CWA для теории T означает рассуждение с CW (T) вместо T для логических выводов или ответов на запросы.

По теории T = {∀ x .ather ( x ) → ∃ y .hasChild ( x , y ), отец (Антуан)}, CWA приводит к выводам ¬ hasChild (Антуан, Антуан), ¬hasChild (Антуан, Джефф) и др. c. но не с ошибкой (T) и с тем, что CW (T) является непоследовательным.

В заключение, если CWA не имеет отношения к тому, имеет ли T ошибку или является непоследовательной, то то же самое относится и к OWA. Я не знаю, что имеют в виду Иво Величков и Станислав Кралин, когда они ссылаются на OWA, но что бы это ни было, оно чуждо научной литературе c по темам c, о которой я знаю.

...