假设我们有以下内容:
...
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
提前致谢:)
答案 0 :(得分:0)
在第一种情况下,xsd:string是不必要的 - 如果范围公理与本体分离,它可能是有用的。
在第二种情况下,删除范围将以不同的方式更改本体:您指定的范围仅对该表达式的Address和其他子类有效。该属性的任何其他用途都不包括范围定义,理论上该属性可以使用不同的范围。这是不寻常的,虽然没有错。