OWL學習筆記之--枚舉

枚舉(Enumerated)
 在OWL中, 枚舉分爲兩種:枚舉數據類型和枚舉類.
 1. 枚舉數據類型(Enumerated Datatype)
 在OWL中,除了可以使用RDF Datatypes之外,還可以通過Enumerated Datatype來定義一個屬性的值域。
 Enumerated Datatype使用owl:oneOf來構建。構建的時候, owl:oneOf的subject是一個owl:DataRange的空白節點,object是
由rdf:first, rdf:rest和rdf:nil形成的一個Literal List.
 例如: 定義一個屬性tennisGameScore的值域是由{0, 15, 30, 40}組成的OWL定義如下,
<owl:DatatypeProperty rdf:ID="tennisGameScore">
 <rdfs:range>
  <owl:DataRange>
   <owl:oneOf>
    <rdf:List>
     <rdf:first rdf:datatype="&xsd;integer">0</rdf:first>
     <rdf:rest>
      <rdf:List>
       <rdf:first rdf:datatype="&xsd;integer">15</rdf:first>
       <rdf:rest>
        <rdf:List>
         <rdf:first rdf:datatype="&xsd;integer">30</rdf:first>
         <rdf:rest>
          <rdf:List>
           <rdf:first rdf:datatype="&xsd;integer">40</rdf:first>
           <rdf:rest rdf:resource="&rdf;nil" />
          </rdf:List>
         </rdf:rest>
        </rdf:List>
       </rdf:rest>
      </rdf:List>
     </rdf:rest>
    </rdf:List>
   </owl:oneOf>
  </owl:DataRange>
 </rdfs:range>
</owl:DatatypeProperty> 

 2. 枚舉類
 OWL提供了一種通過直接枚舉類的成員的方法來描述類。這是通過使用oneOf結構來完成。特別地,這個定義完整地描述了類的
外延,因此任何其他個體都不能被聲明爲屬於這個類。
 下面的例子定義了WineColor類,它的成員是White,Rose和Red這三個個體.
<owl:Class rdf:ID="WineColor">
 <owl:oneOf rdf:parseType="Collection">
  <owl:Thing rdf:about="#White"/>
  <owl:Thing rdf:about="#Rose"/>
  <owl:Thing rdf:about="#Red"/>
 </owl:oneOf>
</owl:Class>
 看到上面的定義,第一件想到的事情就是由於這個類是通過枚舉定義的,因此其他任何個體都不可能是一個有效的WineColor。
oneOf結構的每一個元素都必須是一個有效聲明的個體。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章