- From: John McClure <jmcclure@hypergrove.com>
- Date: Mon, 24 Sep 2007 14:51:43 -0700
- To: "James A Miller" <James_A_Miller@raytheon.com>, "public-owl-dev-request@w3.org" <public-owl-dev@w3.org>
- Message-ID: <MGEEIEEKKOMOLNHJAHMKMECDEGAA.jmcclure@hypergrove.com>
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