- 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