Proposed redefinition of "Property"

Hi,

I'm new to this forum so please forgive me if I'm not up
to speed on some of the issues.

Jim Hendler is my dissertation advisor (I'm going for my
Ph.D. after a very long hiatus) and my interest is in providing
a simple query language for DAML documents/sources. I would
like to use the semantics of the associated document/source
ontology(ies) to relieve the query formulator from having to
specify information that can be gleaned from the ontology(ies).

With that said, I am specifically questioning the definition
of a property. Currently, properties are specified as
"first class" definitions. The property itself specifies
the domain resource and a cardinality. For example, a "parent"
property is associated with the domain resource "Animal" with
a cardinality of 2, meaning that an Animal can have 2 parents.
However, there is nothing that restricts the domain of the parent.
For example, one would want to restrict parents of Animals to be
Animals. While there is a mechanism for doing this using the
"toClass" property in the "restrictedBy" portion of a Class
definition, it is somewhat awkward to break up the definition of
a property like that. It would seem more appropriate to define
the "toClass" in the property itself.

Furthermore, it would be worthwhile to know the cardinality in
the other direction. An Animal has 2 parents, but the parents
may have many children. This would provide more semantics when
defining another property which is the "inverseOf" the first
property.

So here would be a portion of the revised specification of the
Animal ontology:

<Class ID="Animal">
     <label> Animal</label>
     <comment> ... </comment>
</Class>

<Class ID="Person">
     <subclassOf resource=#Animal/>
</Class>

<Property ID="parent">
     <comment>
         We would have to ensure that fromClasses
         are in the same subclassOf hierarchy.
         Similarly, we would have to ensure that
         toClasses are in the same subclassOf hierarchy.
     </comment>
     <restrictedBy>
         <Restriction>
             <fromClass resource=#Animal/>
             <fromCardinality>many</fromCardinality>
             <toClass resource=#Animal/>
             <toCardinality>2</toCardinality>
         </Restriction>
         <Restriction>
             <fromClass resource=#Person/>
             <fromCardinality>many</fromCardinality>
             <toClass resource=#Person/>
             <toCardinality>2</toCardinality>
         </Restriction>
     </restrictedBy>
</Property>

<Property ID="child">
     <inverseOf resource=#parent/>
</Property>

The benefit of knowing the "fromClass" and "toClass"
as well as their cardinalities up front from an
intelligent query perspective manifests itself
when there are a number of classes "strung together" by
a number of properties. By analyzing the nature of the
cardinalities of the properties, one can assume some
semantics about the interrelationship of the classes.

What this does is remove some of the frame-based flavor
of the DAML specification language, but it seems cleaner.
I would be interested in other people's opinions on the
matter.

David

=======================================
David Silberberg
Senior Computer Scientist
Johns Hopkins University
Applied Physics Laboratory
11100 Johns Hopkins Road
Laurel, MD  20723-6099
phone: (443)778-6231 (Baltimore  area)
        (240)228-6231 (Wash. D.C. area)
fax:   (443)778-6904 (Baltimore  area)
        (240)228-6904 (Wash. D.C. area)
email: david.silberberg@jhuapl.edu
=======================================

Received on Wednesday, 27 December 2000 15:29:07 UTC