- From: Pierre-Antoine CHAMPIN <champin@bat710.univ-lyon1.fr>
- Date: Thu, 12 Oct 2000 14:04:55 +0200
- To: Tom Van Eetvelde <tom.van_eetvelde@alcatel.be>, ML RDF-interest <www-rdf-interest@w3c.org>
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 ! What you really want to express is : each *instance* of that set eats only animals. So you want to characterize a class by its instances properties, the way Description Logics do : carnivore <= animal AND (ALL eat IN animal) (may DL people excuse me if this is approximative... I'm not a DL expert...) This is a useful construct, but not a trivial one, so RDFS designers considered it out of the scope of RDFS. And I think they're right... Pierre-Antoine -- Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us. (Bill Watterson -- Calvin & Hobbes)
Received on Thursday, 12 October 2000 08:06:23 UTC