Mutually Exclusive Properties in OWL

Hello,
I was trying to map an xml schema document into an ontology and got stuck trying to figure out the corresponding semantics of xs:choice in OWL. Here I assume 'xs' is a prefix to refer to XML-Schema namespace. For instance, take this example :

ex1.xsd
======
<xs:element name="MyFavoriteFruit" type="base:MyFavoriteFruitType>

<xs:complexType name="MyFavoriteFruitType">
   <xs:choice>
      <xs:element name="SweetFruit" type="xs:String">
      <xs:element name="NonSweetFruit" type="xs:String">
   </xs:choice>
</xs:complexType>

The interpreation here is my favorite fruit can be either a sweet fruit or a non-sweet fruit and a client application of the above document can actually determine whether the favorite fruit was 'SweetFruit' or 'NonSweetFruit'. The last part is important to me since my application has to make decisions based on the kind of fruit chosen. One possible OWL profile of ex1.xsd can be as follows.

ex1.owl
======
<owl:Class id="MyFavoriteFruit">
   <owl:subClassOf>
      <owl:Class>
         <owl:oneOf parseType="collection">
             <owl:Restriction>
                <owl:onProperty about="hasChosenSweetFruit">
                <owl:cardinality datatype="xs:integer">1</owl:cardinality>
             </owl:Restriction>
             <owl:Restriction>
                <owl:onProperty about="hasChosenNonSweetFruit">
                <owl:cardinality datatype="xs:integer">1</owl:cardinality>
             </owl:Restriction>
          </owl:oneOf>
      </owl:Class>
   </owl:subClassOf>
<owl:Class>

Above owl file is certainly 'valid', but what I don't know is if it captures the interpretation that an instance of MyFavoriteFruit can have *either* hasChosenSweetFruit *or* hasChosenNonSweetFruit (i.e. are these properties mutually exclusive through 'oneOf'?). If not, what alternatives do I have? Your comments will be greatly appreciated.

-Ash 

Received on Sunday, 9 July 2006 05:21:04 UTC