Re: About the Approach 1, Representing Classes As Property Values on the Semantic Web

Dear Natasha, 

Thanks for your reply!

I understand that it makes things a bit more clear for illustration purposes. But I don't think it's the *best* practice for real world situations.

Best,
Mark



________________________________
From: Natasha Noy <noy@stanford.edu>
To: Sw Fan <swfan1998@yahoo.com>
Cc: public-swbp-wg@w3.org
Sent: Friday, April 3, 2009 2:02:03 AM
Subject: Re: About the Approach 1, Representing Classes As Property Values on the Semantic Web

Dear Mark,

I  think you are right -- we didn't technically need the first statement as any class is by definition a subclass of itself. It doesn't hurt to have it there as it makes things a bit more clear (perhaps?)

Natasha


On Mar 27, 2009, at 2:09 AM, Sw Fan wrote:

> Dear all,
> 
> I've a question about the example for the Approach 1 in Representing Classes As Property Values on the Semantic Web. Below is the text extracted from the document:
> 
> {{
> 
> For instance, we may want to define a class of all books about animals—BookAboutAnimals—that
> our animal books will be instances of and we want to restrict the range of
> values for the dc:subject property for the BookAboutAnimals
> class to the class Animal and its subclasses. One way to define
> such restriction is as follows:
> 
> :BookAboutAnimals
>      a owl:Class ;
>      rdfs:subClassOf :Book ;
> 
>  rdfs:subClassOf
>              [ a owl:Class ;
>                owl:unionOf ([ a owl:Restriction ;
>                                owl:onProperty dc:subject ;
>                                owl:hasValue Animal
> 
>  ]
>                              [ a owl:Restriction ;
>                                owl:onProperty dc:subject ;
>                                owl:someValuesFrom
>                                    [ a owl:Restriction
>  ;
>                                      owl:onProperty rdfs:subClassOf;
>                                      owl:hasValue Animal
>                                    ]
>                          ])
> 
>  ] .
> 
> }}
> 
> My question is,  why do we have to bother defining a union class above? Since a class is a subclass of itself, so from my understanding,
> 
>                              [ a owl:Restriction ;
>                                owl:onProperty dc:subject ;
>                                owl:hasValue Animal
>                              ]
> 
> has been subsumed by
> 
> 
>                              [ a owl:Restriction ;
>                                owl:onProperty dc:subject ;
>                                owl:someValuesFrom
>                                    [ a owl:Restriction
>  ;
>                                      owl:onProperty rdfs:subClassOf;
>                                      owl:hasValue Animal
>                                    ]
>                              ]
> 
> 
> Is there anything I missed here? Thank you!
> 
> Best,
> Mark
> 
> 


      

Received on Friday, 3 April 2009 00:39:00 UTC