DAML+OIL subclass confusion

I am beginning to confuse myself with the subClass relationships in
DAML+OIL.  The example follows :


Class A
    subClassOf
         hasObject    X  1*     ( means property hasObject  hasClass  X
with cardinality 1
                                             or more)


Class B
    subClassOf       A             (the problem - do I really need this?)

    subClassOf
         hasObject    Y   1=

    subClassOf
         hasObject    Z    1*


Class X


Class Y
     subClassOf       X


Class Z
     subClassOf       X


What I am trying to do

Class A has a property hasObject that can be one or more objects of Class X.
Now I want to make a more specialized form of Class A called Class B that is
a subclass of A, but has the restrictions that it needs exactly one object
of Class Y and at least 1 or more objects of Class Z.  Class Y and Z are
more specialized forms of Class X.  The problem I am having is the
subClassOf A part in Class B.  I want to say that this is a more specialized
form of Class A, so subClass of A seems appropriate, but I don't want to
inherit the property hasObject  X 1* since I am separating this out into
hasObject properties of the more specialized Y and Z.  If I take away the
subClass of A restriction of Class B then I can still look at it and say
members of Class B are certainly members of Class A.  But now I seem to have
lost the explicit feeling that subClass of A gave, especially when using an
editor such as OilEd.   I haven't considered sameClassAs and  the toClass
and hasClass restrictions just yet as I feel I need to resolve some of my
thinking about class membership first.  I guess assume the above are
hasClass restrictions for now.

I get the feeling I am either interpreting things incorrectly, or not
providing enough structures to get the meaning I want.  My weakness is that
Class B simply feels like a subset of Class A.

Any suggestions?

regards
Matt

Received on Thursday, 8 May 2003 03:15:54 UTC