[Zope3-dev] zwiki: performance of findChildren()

Jeffrey P Shell jeffrey@cuemedia.com
Tue, 22 Apr 2003 12:51:54 -0600


On Tuesday, April 22, 2003, at 05:50  AM, Stephan Richter wrote:

> On Tuesday 22 April 2003 06:56, Max M wrote:
>> Please look at::
>>
>>     http://www.zope.org/Members/maxm/productList/mxmRelations
>>
>> Which could easily do this.
>
> But it is a Zope 2 product, so it does not do me any good in Zope 3, 
> and
> porting it for this purpose is for me overkill. If you port your 
> product, I
> will have a look into it.

I thought that ObjectHubs were meant to allow us to do relations.  
Maybe that's where my confusion about ObjectHub has stemmed from, 
because I thought it was a system level relationship tool.

Doing weak references between business objects in the system is my 
el-numero-uno wanted feature.  What I'd ultimately like is something 
like the following::

   People
    |
    +--Bob

   Receipts
    |
    +--Receipt1
    |
    +--Receipt2


  in: Receipt1.purchaser = People.Bob
      # maybe some sort of weakref(People.Bob)?
  in: Receipt2.purchaser = People.Bob
  in: Receipt2.purchaser.name
  out:  'Bob'
  in: Reciept2.purchaser.name = "Robert"
  in: Receipt1.purchaser.name
  out:  'Robert'

IE - How can we do one-to-many, many-to-one, many-to-many, and 
one-to-one (non-containment) relationships in the ZODB that is 
relatively natural?  Why wouldn't an ObjectHub fill these scenarios?

I want to wean myself off of SQL as soon as possible, but optimized 
Querying and Relationships are still a tough point in Zope/ZODB.