假设我们有以下条件:
...
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
提前感谢:)
发布于 2015-07-19 22:50:48
在第一种情况下,xsd:string是不必要的-如果范围公理从本体中分离出来,它可能会很有用。
在第二种情况下,删除范围将以不同的方式更改本体:您指定的范围仅对Address和该表达式的其他子类有效。该属性的任何其他用途都不包括范围定义,并且理论上该属性可以与不同的范围一起使用。这将是不寻常的,尽管不是错误的。
https://stackoverflow.com/questions/31498611
复制相似问题