[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] Model Expressiveness

My goal in this iteration is to make generation of an OWL ontology possible through the IModel interface and thus, able to be written once for every Context Provider.  That is, getSchema() could be written once for all.  We may not be able or wish to support everything that OWL supports (just as we may not wish to support everything an LDAP schema might), however, we need to support basic data model constructs that the IModel interface currently does not.  Many of the issues I raise below are a result of this goal.  That is, I cannot express things in the current IModel that need to be expressed in an OWL ontology (or, as I said, most data models).

1. IsSimple() - Just because a given IAttributeValueModel is simple, does not imply that it's type is a basic xsd type.  If it isn't already a basic xsd type, I believe it should only be required to "eventually" be a subProperty something that is a basic xsd type.  The model API should provide for this possibility.
2. Hierarchies - Any given DS or Attribute Model may be a sub-class (or sub-property) of another model element.
3. Equivalencies - Any given DS or Attribute Model may be equivalent to another model element.

Other ancillary items:
1. isDirect() on IAttributeModel - What does this mean?
2. Are we ready to remove deprecated APIs on IAttributeValueModel now?

FWIW, a lot of this is inspired by my current getSchema() implementation which yields an OWL ontology which I've attached here for your reference.


Attachment: genHigginsLDAP0.1.1.owl
Description: Binary data