- From: Sw Fan <swfan1998@yahoo.com>
- Date: Fri, 27 Mar 2009 02:09:17 -0700 (PDT)
- To: public-swbp-wg@w3.org
- Message-ID: <669473.90185.qm@web111010.mail.gq1.yahoo.com>
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, 27 March 2009 09:09:59 UTC