[ZODB-Dev] I want Object Gadfly

Jim Fulton jim at zope.com
Fri Jul 18 14:00:03 EDT 2003


Christian Reis wrote:
> On Fri, Jul 18, 2003 at 10:45:51AM -0400, Jim Fulton wrote:
> 
>>- There should be two separate concepts:
>>
>>  - Relations, which model externally imposed relationships
>>    between objects.
> 
> 
> Can I have an example use case of a relation which is not an
> association?

People want to create relationships between objects without modifying
the object's related or their implementations.  For example, modifying
the objects might not be an option.  Also, often relationships are ad hoc.
You might want to relate some objects for a specific analysis.


> 
>>  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.
> 
> 
> IndexedCatalog uses the ZODB as its persistent storage, but organizes
> objects by type in catalogs, and allows queries to be performed against
> it. It uses a `proprietary' Python-like query language (using strings --
> we didn't go the SQLObject syntax route, for instance) but the query
> language hooks were made to be easily switched. It offers subclassing
> (queries in `super'class catalogs return objects from all subclasses),
> too.

Right. That's not what I want. :)

I want tables/relations and SQL.

> If I had a better idea of what relations are [useful for], I could
> suggest how suited it would be to your intended purpose.

Relations have a place. They are nice and ad hoc.  You can just whip
up some tables that model relationships between things and do various
analyses with them.  This is something people want to do a lot. Catalogs,
and their like don't satisfy this, as they are too low level.

Also, unlike out current catalog, relations associate multiple objects.
They also support things like joins, which simple indexes don't.

Best of all, there's a relational database system already written
for Python. I want to use it with ZODB.  (I also don't want it *in*
ZODB.)

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