Значение ограничений OWL против только против точно на dataProperty

Предположим, у нас есть класс с именем A и DataProperty с именем hasRestriction. В чем разница между этими утверждениями:

A SubClassOf (hasRestriction value 2)   
A SubClassOf (hasRestriction exactly 2)  
A SubClassOf (hasRestriction only 2) 

person alex    schedule 16.09.2019    source источник
comment
какая тут связь? Я имею в виду, что отношение класса между A и выражением сложного класса отсутствует... например, A SubClassOf (hasRestriction value 2)   -  person UninformedUser    schedule 16.09.2019
comment
и разница очевидна, аксиома 1. предполагает, что каждый индивидуум A имеет - среди прочих - конкретное значение 2 для свойства hasRestriction.   -  person UninformedUser    schedule 16.09.2019
comment
другие случаи неоднозначны в вашем текущем синтаксисе - неясно, что вы пытаетесь сказать. Если случай 2 означает A SubClassOf (hasRestriction exactly 2), это означает, что каждый человек из A имеет два значения свойств, оба просто неизвестные.   -  person UninformedUser    schedule 16.09.2019
comment
последнее, если A SubClassOf (hasRestriction only {2}) эквивалентно случаю 1.) - конструкция values была только что введена для него как синтаксический сахар.   -  person UninformedUser    schedule 16.09.2019
comment
спасибо, пожалуйста, отправьте свой комментарий в качестве ответа   -  person alex    schedule 17.09.2019


Ответы (1)


TL;DR: прочитайте комментарии AKSW, они хорошие и лаконичные.

Полная версия. Ваш вопрос касается интерпретации выражений класса в Protégé. Protégé использует синтаксис OWL 2 Manchester для описания классов, и Protégé предполагает, что онтологии интерпретируются в соответствии с Прямая семантика OWL 2. Если свойство hasRestriction является DataProperty в Protégé, то это означает, что hasRestriction обозначает набор пар (x,y), где x — это индивидуум (элемент вселенной дискурса), а y — значение данных (например, число, строка, дата). В Protégé выражения класса используются для обозначения множества индивидуумов.

В предоставленных вами операторах есть три выражения класса:

hasRestriction value 2   
hasRestriction exactly 2  
hasRestriction only 2

Первый, hasRestriction value 2, идентифицирует набор вещей, которые имеют свойство hasRestriction со значением 2. Таким образом, если x принадлежит этому классу, то (x, 2) принадлежит к тому, что hasRestriction обозначает. Если A является подклассом этого класса, то тройка x rdf:type A влечет за собой тройку x hasRestriction 2.

Второй, hasRestriction exactly 2, идентифицирует набор вещей, которые имеют ровно 2 значения для свойства hasRestriction. Таким образом, если x принадлежит этому классу, то существуют два различных значения v и w, такие что (x, v) и (x,w) относятся к тому, что обозначает hasRestriction. Если A является подклассом этого класса, то тройка x rdf:type A влечет за собой тройки x hasRestriction _:v, x hasRestriction _:w и _:v owl:differentFrom _:w (здесь я использую квази-черепаший синтаксис).

Третий, hasRestriction only 2, является синтаксической ошибкой, потому что если hasRestriction является свойством типа данных, то вы должны использовать выражение типа данных после ключевого слова only. Например, hasRestriction only xsd:integer.

Во втором случае данный индивидуум x в классе A может иметь известные значения свойства hasRestriction. Например, могут быть тройки x rdf:type A, x hasRestriction 1, x hasRestriction 2, и в этом случае мы знаем, что x имеет в точности 1 и 2 как значения для hasRestriction. Если к тому же мы знаем, что x hasRestriction 3, то возникает противоречие, потому что 1, 2 и 3 — три различных значения, а выражение говорит нам, что их должно быть ровно два.

person Antoine Zimmermann    schedule 17.09.2019