如何定义没有两个等价谓词对象的class?

How to define a class that does not have two equivalent predicate objects?

我正在尝试定义 class 间隔。每个区间对象最多可以有(可选)两个边界点。其中一个 - 下边界,另一个 - 上边界。我怎样才能限制我的 class 间隔,使下边界点和上边界点必须不同(如果提供)?

您可以声明 hasLowerBoundhasUpperBound 属性是不相交的。这意味着具有两者值的个人不可能具有 相同 值。这是一个例子。我在这里使用了对象 属性,但您也可以使用具有数据类型属性的不相交 属性 公理。

@prefix :      < .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

<
        a                         owl:ObjectProperty ;
        owl:propertyDisjointWith  < .

<
        a       owl:ObjectProperty .
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns=""
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
  <owl:ObjectProperty rdf:about="#hasUpperBound"/>
  <owl:ObjectProperty rdf:about="#hasLowerBound">
    <owl:propertyDisjointWith rdf:resource="#hasUpperBound"/>
  </owl:ObjectProperty>
</rdf:RDF>