RE: Mutually Exclusive Properties in OWL

Hi Ash,
 
You changed from two mutually exclusive Classes to two mutually exclusive
Properties. Why is that?
 
In your example ex1.xsd SweetFruit and NonSweetFruit are subclasses of
MyFavoriteFruit.
In your example ex1.owl you tell in fact that your favorite fruit has chosen
either sweet fruit or non-sweet fruit, and that seems rather cannibalistic
:-)
 
If you would stick to your ex1.xsd example that could read in OWL:
 
<owl:Class id="MyFavoriteFruit">
    <owl:subClassOf>
        <owl:Class>
            <owl:unionOf rdf:parseType="Collection"> 
                <owl:Class rdf:about="#SweetFruit"/> 
                <owl:Class rdf:about="#NonSweetFruit"/> 
            </owl:unionOf>
        </owl:Class>
    </owl:subClassOf>
<owl:Class>

where owl:unionOf is analogous to logical disjunction (OR).
 
In order to be more precise you should also make SweetFruit and
NonSweetFruit explicitly mutually exclusive (XOR) (being XOR is not
guaranteed by owl:unionOf):
 
<owl:Class rdf:about="#SweetFruit">
    <owl:disjointWith rdf:resource="#NonSweetFruit"/>
</owl:Class>
 
Regards,
Hans
 
____________________
OntoConsult
Hans Teijgeler
ISO 15926 specialist
Netherlands
+31-72-509 2005
HYPERLINK "http://www.infowebml.ws/"www.InfowebML.ws 
HYPERLINK "mailto:hans.teijgeler@quicknet.nl"hans.teijgeler@quicknet.nl
 
   _____  

From: semantic-web-request@w3.org [mailto:semantic-web-request@w3.org] On
Behalf Of Ashraful Alam
Sent: Sunday, July 09, 2006 3:57
To: semantic-web@w3.org
Cc: masud80@hotmail.com
Subject: 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 


--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.10/383 - Release Date: 07-Jul-06



-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.10/383 - Release Date: 07-Jul-06
 

Received on Sunday, 9 July 2006 07:27:49 UTC