- 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