如果你有一个对象属性
related
,其域为Class1
和范围Class2
,它将推断每当2个个体x
,y
通过related
相关,那么x
将被推断为属于 Class1
类型且 y
将被推断为 Class2
类型。
DomainRangeExample:related rdf:type owl:ObjectProperty ;
rdfs:domain DomainRangeExample:Class1 ;
rdfs:range DomainRangeExample:Class2 .
DomainRangeExample:Class1 rdf:type owl:Class .
DomainRangeExample:Class2 rdf:type owl:Class .
DomainRangeExample:x rdf:type owl:NamedIndividual ;
DomainRangeExample:related DomainRangeExample:y .
DomainRangeExample:y rdf:type owl:NamedIndividual .
我认为前面的答案 - 虽然是正确的 - 也许并不能反映当作为三元组的主体或客体强加给个人时,域和范围陈述的直观含义。
您可以认为它们是成为指定类的个体的充分条件,而 OWL 类中定义的类限制是必要条件。
如果我有一个属性
ex:hasVehicleIdentificationNumber
,其rdfs:domain
为ex:Vehicle
,那么使用该谓词的三元组中的任何主语都将被推断(在大多数推理机中)是ex:Vehicle
的个体,无论它们是否满足某些条件ex:Vehicle
中表达的财产限制(例如车辆需要有轮胎、方向盘或发动机才能成为车辆)。
在一些较旧的 W3C 文档中,域和范围被认为是关于如何限制属性的使用的纯粹非正式指南,但在较新的文档中,它们确实有公理,使它们在进行推理时不仅仅是注释。