Онтологии: диапазон 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 и других подклассов этого выражения. Любое другое использование свойства не будет включать определение диапазона, и теоретически свойство может использоваться с другим диапазоном. Это было бы необычно, хотя и не так.