- From: Tom Van Eetvelde <tom.van_eetvelde@alcatel.be>
- Date: Thu, 12 Oct 2000 15:50:29 +0200
- To: Pierre-Antoine CHAMPIN <champin@bat710.univ-lyon1.fr>, ML RDF-interest <www-rdf-interest@w3c.org>
- Message-ID: <39E5C1A5.1AE8D3AD@alcatel.be>
Pierre-Antoine CHAMPIN wrote: > Tom Van Eetvelde wrote: > > > > I would like to introduce now the class 'carnivore' as subclass of animal > > > > with the restriction that 'carnivore' only eats 'animal'. > > > > > > This is not possible in RDFS. You can not restrict domain/range > > > of a property locally (= in a class definition). > > > > This is exactly what my question is all about: why should this not be possible? Why has W3C put such > > restricitons on the use of 'domain'? > > I agree that such limitation is a shame, > but the aim of RDF-Schema is *not* to define a full-featured logic language... > > By the way, the example you propose : > > <rdfs:Class rdf:ID="Carnivore"> > <rdfs:subClassOf rdf:resource = "Animal"/> > <s:eats rdf:resource="#Animal"/> > </rdfs:Class> > > is definitely wrong (IMHO) : > it would mean that the set of all carnivors (an abstract entity) eats itself ! Ho ho ho, hold your horses Pierre-Antoine! :-) 'Definitely wrong' is a matter of ontology! Indeed, carnivores can eat carnivores! Cannibalism is a good example: alligators eating their own youngsters when prey lacks or during aggression outbursts. King Cobra snakes (which is a class) eating other kinds of snake (other classes), etc.. even man eating man (cannibalistic tribes)! In my application domain, the class definition of Carnivore makes perfectly sense! I guess that you are afraid of the graphs: how do you know if you can propagate an arrow, attached to a subclass resource, to an instance of the class. This is easy: look at the definition of the arrow as resource. If you want to say something about the abstract entity 'carnivore' that you do not want to see reflected in every carnivore instance, then you have to define your arrow (property) having a domain equal to 'Class' or more specific: the class of which 'carnivore' is an instance. Another abstract entity in the model, but I believe that it is very rare to actually describe a class itself (as abstract entity) with properties not in the RDFS spec. So I don't see this as a burden. What I want to do is so natural: take the class people. People is the domain of the property colour. How do I classify Asian people? By stating that they are the subset of people having colour yellow. So, on the basis of a commonality, I create a class which is the natural way of classification I believe. Does all of this make sense or am I still on the wrong track? Regards, Tom.
Received on Thursday, 12 October 2000 09:52:11 UTC