Онтологии: диапазон DataProperty и subClassOf "диапазон"

При условии, что у нас есть следующее:

...
Declaration(DataProperty(:postal-code))
DataPropertyRange(:postal-code xsd:string)
SubClassOf(:Address DataExactCardinality(1 :postal-code xsd:string))

почему мне нужно указать xsd:string в последней строке? Почему это не выглядит так:

SubClassOf(:Address DataExactCardinality(1 :postal-code))

Мы уже сейчас, этот почтовый индекс должен быть xsd:string. Или наоборот: зачем мне использовать DataProperties? Почему у нас нет:

SubClassOf(:Address DataExactCardinality( 1: "postal-code" xsd:string ))
// note the quotes

Заранее спасибо:)

1 ответ

В первом случае xsd:string не нужна - это может быть полезно, если аксиома диапазона отделена от онтологии.

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

Другие вопросы по тегам