Thanks for all the additional material on search
related considerations. Good stuff.
I'm keeping it in my parking lot, so I can
come back to it once I have the ability to
write and restore datagraphs.
> WRITE OPERATION
> The part where I need the additional "metaObjectClass"
> is during the writing and restoration of
> So when you use meta you mean meta in the DAS meta data sense and not
> the meta schema sense in ApacheDS right?
Well - let me approach it like this. I'll tell you
what I was planning to do, and then we can discuss
the proper terminology for it.
When I define the ObjectClass that corresponds
to each DataObject instances type (Class), I need
to define the Type's simple properties (Which use
the already available "m-must" and "m-may" meta AttributeType
Then I also need to define members that correspond to
ComplextProperties. For instance the employee has a
a complex property reference to a Department.
Does that make sense. However ApacheDS's current metaObjectClasses
(the ones that are used to define other ObjectClass entries like
Department and Employee) don't have anything like
"m-complexMust" or "m-complexMay" so I was going to define these
on something in an ObjectClass entry maybe called metaSDOObjectClass
and then add this as an "objectClass" attribute when I'm defining
the ObjectClasses for Department and Employee.
I don't have to put this ObjectClass with ADS's metaObjectClasses.
I can make a new schema area for the DAS and add it there. I think
that's what you are wondering about?
> Yeah it makes sense to me but I would not start mixing our meta schema
> stuff with your mechanism for modeling required/optional references to
> complex objects. Use something domain specific. For example create an
> attribute in Employee called "department" or "departmentId"
Well - we don't have to mix ADS metaObjectClasses (metaTop,
metaObjectClass, etc.) with the DAS one. I can put it in a custom
schema area for the DAS. Sound ok?
So when defining the ObjectClass for Employee, I would
add all simple properties using the metaObjectClass's
"m-must" and "m-may" attributes.
However, I would also add the ObjectClass metaSDOObjectClass,
enabling me to use "m-complexMust" and "m-ComplexMay" for the
complex properties. Make sense? Before you answer,
you may want to have a look
at the example I gave at the bottom.
> See what I'm saying? Just stop trying to use the meta.schema terms for
> this. It's not worth it first of all and secondly it's not going to
> work because of collisions and typing issues. Meaning if you have a
> Address complex type now for the Employee then you get a collision where
> you cannot use m-complexMust for it.
I'm sorry Alex - Maybe I'm missing something.
As far as I can see the
semantics are the same as for simple properties / attributes that use
"m-must" and "m-may".
So for instance the Employee could have "m-complexMust" attributes
When constructing the ObjectClass for Employee these would be added
using Attributes like this:
new BasicAttribute("m-complexMust", "com-example-Employee-address".
new BasicAttribute("m-complexMust", "com-example-Employee-department".
new BasicAttribute("m-complexMust", "com-example-Employee-parking".
And the simple properties like name, etc. would be added like this:
new BasicAttribute("m-must", "com-example-Employee-name".
Does that make sense?