W3C home > Mailing lists > Public > www-rdf-interest@w3.org > October 2000

Re: definition of domain

From: Tom Van Eetvelde <tom.van_eetvelde@alcatel.be>
Date: Thu, 12 Oct 2000 15:50:29 +0200
Message-ID: <39E5C1A5.1AE8D3AD@alcatel.be>
To: Pierre-Antoine CHAMPIN <champin@bat710.univ-lyon1.fr>, ML RDF-interest <www-rdf-interest@w3c.org>
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?



Received on Thursday, 12 October 2000 09:52:11 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:07:32 UTC