RE: Domains and Ranges, based on Why the encapsulation?

It may be better to say that domains are used to identify properties
applicable to a class, and restrictions are used to specify the cardinality
of and the values (for data properties) or type/ranges (for object
properties) for properties as they apply to a certain (sub-)class.

For instance, a generic Car has one or more Engines -- property 'Engine' is
specified with a domain of Car and a range of, say, GenericEngine. An
InternalCombustionCar (an ICCar) has exactly one ICEngine. A HybridCar has
exactly two engines, an ICEngine and an ElectricEngine.  For these two Car
subclasses, restrictions on their Engine property would be defined that
reference appropriate subclasses of GenericEngine.

IOW, domains define *what* properties apply to a class.  Restrictions define
*how* properties apply to a class.  A 99% rule implies that most classes in
the ontology are ones that define restrictions of superclass properties,
speaking more to the need to have a flexible, complete, data model at the
generic levels of an ontology than it does to the incidence of the 'domain'
relationship between classes and properties.  Consequently, the ontology
design methodology is one that envisions few new properties defined in/for
subclasses.  Forcing generic classes to define generic properties that can
be constrained in subclasses is a good thing because it allows easier
integration of new subclasses that represent new mixtures of property
(value) sets, yielding a more verifiable, operationally useful class
taxonomy.


Hope that helps!
John McClure
Hypergrove Engineering
www.Hypergrove.com
Port Townsed, WA 98368-2002
360-379-3838



----------------------------------------------------------------------------
----

What is Web 3.0 ?
Content + Commerce + Community +
Context + Personalization + Vertical Search

  -----Original Message-----
  From: public-owl-dev-request@w3.org
[mailto:public-owl-dev-request@w3.org]On Behalf Of James A Miller
  Sent: Sunday, September 23, 2007 1:02 PM
  To: public-owl-dev-request@w3.org; public-owl-dev-request@w3.org
  Subject: Domains and Ranges, based on Why the encapsulation?



  Hello Danny, Michael, Emanuele, and the rest of you subcribers,

  I have a recurrent question, inspired again by the "Why the
encapsulation?" discussion:

  I have been told, by more than one source, that domains and ranges should
*not* be used in (up to) 99% of the cases.  The preference is to use
restrictions, due to issues with reuse and  inheritance (among others?).
I'm curious whether subscribers to this list agree.

  I have tried to follow this approach, but it seems that I am often
defining properties that *really* apply only to one domain class and one
range class, so I use domain and range, violating this "99% rule".

  Thanks,
  Jim

Received on Monday, 24 September 2007 21:50:50 UTC