[Zope3-dev] zwiki: performance of findChildren()
Steve Alexander
steve@cat-box.net
Wed, 23 Apr 2003 17:35:23 +0200
> I thought that ObjectHubs were meant to allow us to do relations.
The ObjectHub allows us to easily build higher-level things to manage
relationships. It has nothing to do with relations.
> Maybe
> that's where my confusion about ObjectHub has stemmed from, because I
> thought it was a system level relationship tool.
The relationship service will be built using hubIds, I expect.
> Doing weak references between business objects in the system is my
> el-numero-uno wanted feature.
I assume you mean lightweight references, or location-independent
references, not weak references.
> 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)?
Receipt1.purchaser = getHubId(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?
The ObjectHub provides the lightweight location-independent reference.
> 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.
I'll be continuing work on the Query service soon.
--
Steve Alexander