W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2010

Re: class and inviduals

From: Ronald Denaux <rdenaux@gmail.com>
Date: Tue, 16 Nov 2010 11:36:25 +0000
Message-ID: <AANLkTimk_sUrM_d1OaJ0qiJpE0u=odremBQbQ2OLGk=B@mail.gmail.com>
To: Marcel Ferrante <marcelf@gmail.com>
Cc: public-owl-dev@w3.org
Hi Marcel,

On Tue, Nov 16, 2010 at 11:00 AM, Marcel Ferrante <marcelf@gmail.com> wrote:

> I understand the modelling issue that "ferrari enzo" could be class or
> individual.
> I have no doubt in this relation:
>
> (class) Ferrari Enzo
>    (instance of) My Ferrari Enzo
>
> The problem is:
>
> (class) Car
>   (subclass of) Sport Car
>       ????   Ferrari Enzo
>
> What relation has between Sport Car and Ferrari Enzo ? It will be a class
> or individual in this case?
> Ive saw many times examples of class/individual like Airplane/Boing 747.
> Its all wrong ?
>
>
as others have said in this thread, this is a modelling choice, so it's not
necessarily wrong (although it can be confusing). There are ways to model
this in such a way that it is less confusing, but this comes at a price:
your ontology will potentially be larger and more difficult to understand at
first glance.

You need to consider what you need to be able to express using the ontology:
in your example above, if you make Ferrari Enzo an instance of Sport Car,
then you can make simple statements about Ferrari Enzo, such as that it was
designed by X, or that it has a maximum speed of x km/h, etc. What you will
not be able to do however, is to say that "My Ferrari Enzo" is an instance
of 'Ferrari Enzo' and infer that 'My Ferrari Enzo' thus also was designed by
X and has a maximum speed of x km/h, because "Ferrari Enzo" is an instance
of "Sport Car" already (as said previously, you may be able to get around
some of these issues by using punning).

One way of looking at this is that you are modelling car models, not just
cars. An alternative way to avoid the ambiguity (although there are other
ways to model this) could be:

  (class) Car Model
      (subclass) Sport Car Model
          (instance) Ferrari Enzo Model

  (class) Car  (hasModel some CarModel)
      (subclass) Sports Car
          (subclass) Ferrari Enzo (hasModel value {FerrariEnzoModel})
              (instance) My Ferrari Enzo

As you see, this makes the ontology more complex as you now have to keep
track of two hierarchies instead of just one. It's up to you to decide what
are the requirements of the ontology and decide what is the best way to
model your domain in order to fulfil those requirements.

Cheers,
Ronald
Received on Tuesday, 16 November 2010 13:27:04 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:58 GMT