Re: Subsumption question

Hi Thomas,


On Apr 30, 2009, at 1:52 AM, Thomas Schneider wrote:

> Hi Matthew,
>
> On 29 Apr 2009, at 22:06, Matthew Graham wrote:
>
>> Hi,
>>
>> I'm new to OWL and am still trying to get my head around some stuff  
>> so apologies if this email seems to be asking a dumb question. I'm  
>> also sending this message to this list since I think it is about  
>> OWL in general.
>>
>> I'm using the latest version of Protege to work on my ontology and  
>> have the following issue:
>>
>> Classes: StellarObject (subclass of AstrObject), StellarTypeK  
>> (subclass of ClassificationCategory), StellarTypeM (subclass of  
>> ClassificationCategory)
>>
>> Properties: isClassifiedAs (domain: AstrObject, range:  
>> ClassificationCategory)
>>
>> A class BYDraconis has an inherited anonymous class: StellarObject  
>> and isClassifiedAs some (StellarTypeK or StellarTypeM).
>
> You mean, it is an inherited _sub_class of "StellarObject and  
> isClassifiedAs some (StellarTypeK or StellarTypeM)"?

The terminology I was using was what was presented to me in the Class  
Description window in Protege.

>
>>
>> I am making a class query with DL Query looking for: StellarObject  
>> and isClassfiedAs some StellarTypeK
>> but it is not matching BYDraconis. So why generally is "Class and  
>> myProperty some A" not a subclass of "Class and myProperty some (A  
>> or B)" ?
>
> The former _is_ a subclass of the latter. So your general statement  
> is right.
>
>> How should I be modelling this so that it does what I want?
>
> I think there's a little bit of confusion between super- and  
> subclasses here:
>
> * Are you looking for _sub_classes of "StellarObject and  
> isClassfiedAs some StellarTypeK"? Then BYD can't be returned because  
> it is a subclass of
> StellarObject and isClassifiedAs some (StellarTypeK or  
> StellarTypeM), which in turn is not a subclass of StellarObject and  
> isClassfiedAs some StellarTypeK. (This would be the converse of your  
> general statement.)
>
> * Or are you looking for _super_classes of "StellarObject and  
> isClassfiedAs some StellarTypeK"? Then BYD can only be returned if  
> it is an inherited _super_class of "StellarObject and isClassifiedAs  
> some (StellarTypeK or StellarTypeM)", which is indeed a superclass  
> of "StellarObject and isClassifiedAs some (StellarTypeK or  
> StellarTypeM)", as per your general statement.

As I said I was making a general class query and actually looking for  
all matches (both sub- and suoer-class) and am not seeing BYD in  
either. My expectation is that BYD would appear as a superclass of the  
class query I made.

> Hope this helps
>
> Thomas
>
> + 
> ----------------------------------------------------------------------+
> |  Dr Thomas Schneider                          
> schneider@cs.man.ac.uk  |
> |  School of Computer Science       http://www.cs.man.ac.uk/ 
> ~schneidt  |
> |  Kilburn Building, Room 2.114                 phone +44 161  
> 2756136  |
> |  University of  
> Manchester                                            |
> |  Oxford Road                                             _/// 
> _       |
> |  Manchester M13 9PL                                       
> (o~o)       |
> +-----------------------------------------------------oOOO--(_)-- 
> OOOo--+
>
> Craboon (vb.)
>  To shout boisterously from a cliff.
>
>                  Douglas Adams, John Lloyd: The Deeper Meaning of Liff

	Cheers,

	Matthew

Received on Thursday, 30 April 2009 16:11:29 UTC