Re: definition of domain

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"/>

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...


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