[ZODB-Dev] I want Object Gadfly
Jim Fulton
jim at zope.com
Fri Jul 18 11:45:51 EDT 2003
I've been thinking a lot recently about relationships, relations,
and associations. I'm coming to the conclusions that:
- There should be two separate concepts:
- Relations, which model externally imposed relationships
between objects.
- Accociations, which model direct relationships between objects
You should be able to access associations directly through objects
without accessing some service. Maybe there are two kinds of these:
simple and "content" (for lack of a better term)> Simple associations
are just Python references. Content associations are themselves content.
They may have hub ids, can be cataloged. Maybe they can even show up in
relations.
- Relations should be implemented via Object Gadfly (or something
like it). Object Gadfly is Gadfly implemented over ZODB. It
allows you to use SQL (and presumably other sorts of analysis)
against relations (tables) stored in the ZODB. These relations
can contain any objects.
With Object Gadfly, you can create relations between objects using
content-space tables or named site-wide utilities. Data can be added
to them explicitly, or automatically via event subscription. Tables can
be indexed and you can execute automatically optimized queries against
them using SQL.
Unfortunately, Object Gadfly doesn't exist. :(
Any takers? :)
Notes:
. Despite references to Zope concepts like
hubs, content and utilities, Object Gadfly need have
nothing to do with Zope.
Object Gadfly need not be ZODB specific.
It only needs to have an open enough storage model to allow
ZODB to be plugged in.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (703) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the ZODB-Dev
mailing list