【问题标题】:Reference to instance in owl:oneOf enumerationowl:oneOf 枚举中对实例的引用
【发布时间】:2016-05-24 16:30:46
【问题描述】:

我想将我的一个 OWL 类的实例限制为多个枚举个体之一。在标准中我找到了oneOf class expressions,比如下面这个。据我了解标准,我们只能在 oneOf 表达式中定义 new 个人。但是,我如何引用已定义的个人?

<owl:Class rdf:ID="WineColor">
  <rdfs:subClassOf rdf:resource="#WineDescriptor"/>
  <owl:oneOf rdf:parseType="Collection">
    <owl:Thing rdf:about="#White"/>
    <owl:Thing rdf:about="#Rose"/>
    <owl:Thing rdf:about="#Red"/>
  </owl:oneOf>
</owl:Class>

【问题讨论】:

    标签: rdf owl


    【解决方案1】:

    据我了解标准,我们只能在 oneOf 表达式中定义新个体。

    这是不正确的。您可以在 oneOf 表达式中使用任何个体。例如,这是一个本体(在 Turtle 和 RDF/XML 中),其类 Color 包含 RedBlueGreen ,然后是两个枚举类 RedOrBlue ≡ { Red, Blue }RedOrGreen ≡ { Red, Green }

    @prefix :      <http://stackoverflow.com/q/37419182/1281433/> .
    @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#> .
    
    :Green  a       owl:NamedIndividual , :Color .
    
    :RedOrGreen  a               owl:Class ;
            owl:equivalentClass  [ a          owl:Class ;
                                   owl:oneOf  ( :Green :Red )
                                 ] .
    
    :Red    a       owl:NamedIndividual , :Color .
    
    :RedOrBlue  a                owl:Class ;
            owl:equivalentClass  [ a          owl:Class ;
                                   owl:oneOf  ( :Blue :Red )
                                 ] .
    
    :Color  a       owl:Class .
    
    :Blue   a       owl:NamedIndividual , :Color .
    
    :       a       owl:Ontology .
    
    <rdf:RDF
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:owl="http://www.w3.org/2002/07/owl#"
        xmlns="http://stackoverflow.com/q/37419182/1281433/"
        xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
      <owl:Ontology rdf:about="http://stackoverflow.com/q/37419182/1281433/"/>
      <owl:Class rdf:about="http://stackoverflow.com/q/37419182/1281433/RedOrBlue">
        <owl:equivalentClass>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:NamedIndividual rdf:about="http://stackoverflow.com/q/37419182/1281433/Blue">
                <rdf:type>
                  <owl:Class rdf:about="http://stackoverflow.com/q/37419182/1281433/Color"/>
                </rdf:type>
              </owl:NamedIndividual>
              <owl:NamedIndividual rdf:about="http://stackoverflow.com/q/37419182/1281433/Red">
                <rdf:type rdf:resource="http://stackoverflow.com/q/37419182/1281433/Color"/>
              </owl:NamedIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:equivalentClass>
      </owl:Class>
      <owl:Class rdf:about="http://stackoverflow.com/q/37419182/1281433/RedOrGreen">
        <owl:equivalentClass>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:NamedIndividual rdf:about="http://stackoverflow.com/q/37419182/1281433/Green">
                <rdf:type rdf:resource="http://stackoverflow.com/q/37419182/1281433/Color"/>
              </owl:NamedIndividual>
              <owl:NamedIndividual rdf:about="http://stackoverflow.com/q/37419182/1281433/Red"/>
            </owl:oneOf>
          </owl:Class>
        </owl:equivalentClass>
      </owl:Class>
    </rdf:RDF>
    

    【讨论】:

    • 我认为对已定义个体的引用可以通过 rdf:resource 属性来完成。在您的示例中,指向已定义的“红色”个人的链接是使用 rdf:about 属性创建的?这是正确的吗?要定义和引用,我们可以使用 rdf:about 属性?
    • @DenisSokolov rdf:resource 用于识别三元组的对象,例如&lt;owl:NamedIndividual ...&gt; &lt;rdf:type rdf:resource="..."/&gt;&lt;/owl:NamedIndividual&gt;,而rdf:about 用于主题,例如&lt;owl:NamedIndividual rdf:about="..."&gt;...&lt;/owl:NamedIndividual&gt;。它与是否更早地“定义”事物没有任何关系。 RDF/XML 是一种非常复杂的语法,有很多边缘情况。最好使用像 Turtle 这样的人类可读格式,并在需要时转换为 RDF/XML。
    猜你喜欢
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多