- From: Hans Teijgeler <hans.teijgeler@quicknet.nl>
- Date: Sun, 9 Jul 2006 09:27:13 +0200
- To: "'Ashraful Alam'" <masud80@hotmail.com>, <semantic-web@w3.org>
- Message-ID: <000801c6a329$1cf20ed0$6c7ba8c0@hans>
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