假设地理区域是行星,大陆和地区的联盟:
<EquivalentClasses> <Class IRI="#GeographicArea"/> <ObjectUnionOf> <Class IRI="#Continent"/> <Class IRI="#Planet"/> <Class IRI="#Region"/> </ObjectUnionOf> </EquivalentClasses>
那么不应该有GeopgraphicArea类的任何个人
<ClassAssertion>
<Class IRI="#GeographicArea"/>
<NamedIndividual IRI="#Bad"/>
</ClassAssertion>
坏显然不是一个大陆,行星或地区。
尽管如此,她的推理并没有报告错误。为什么呢? 我怎么能限制没有人只能被称为“GeographicArea”?
答案 0 :(得分:2)
OWL使用Open World Assumption,这意味着仅因为Bad
尚未被定义为大陆,行星或地区,并不意味着它将来不会。对于报告错误的推理者,您必须将Bad
定义为与其他类不相交的类的实例。
答案 1 :(得分:1)
我怎么能限制没有人可以说明 “GeographicArea”只是?
你不能,而且在逻辑环境(毕竟是OWL)中这样做是没有意义的。 OWL推理是关于逻辑推理,而不是关于类型检查。
如果您需要这种功能,您将使用自己的一些自定义验证机制(我想您可以使用一些聪明的SPARQL查询或SPIN规则来执行此类操作)。