other formats (Re: [Dev] 4Suite RDF and ZOD)

Paul Snively psnively at earthlink.net
Sun Nov 3 08:48:21 PST 2002


On Saturday, November 2, 2002, at 11:57  PM, David McCusker wrote:

> That's a nice diagram.  I'm generally in favor of more layers, when
> each layer acts to protect code on both sides of the boundary from
> depending on each other overly much.  The performance impact of extra
> layers is generally neglible as long as there are not many layers, and
> as long as copying doesn't happen heavily at each layer boundary.
>
Hi, David!

As Eric says, hear, hear! Layering is good when properly architected 
not to kill performance.

> I like the Storage Layer idea.  Basically I'd like a spec for what the
> model needs to store, expressed as an interface a model could use for
> reading and writing whatever it likes to store persistently.
>
With this thought firmly in mind, has everyone read 
<http://www.w3.org/TR/rdf-concepts>? This is an excellent summary 
overview of RDF, with links to other normative documentation. It 
clearly shows the directed-graph nature of the RDF data model, and 
clearly distinguishes it from its XML serialization.

> Having more re-usable libraries for the open source world is cool.
> And the prospect of being able to easily replace the storage is quite
> useful, both for storage providers and for Chandler folks in testing.
> (Sometimes it's easier to isolate causes of bugs by replacing parts of
> a system with supposed equivalents to see whether bugs persist.)
>
To say nothing of being able to evolve to address 
heretofore-unarticulated requirements.

> If someone can get e4Graph working as Chandler's storage, or any other
> fully general storage mechanism, then that sounds like the design for
> persistence is on the right path.  I'd guess having both a Python and a
> C level API for storage replacement would make sense.  (I need to start
> learning about Python internals for C and C++ primitive wrappers.)
>
I've come to believe, sadly, that e4Graph won't scale adequately to 
address some requirements that I've learned off-list. I don't know that 
I can say more without explicit support from someone at OSAF. This 
probably won't stop me from attempting to add Python wrappers to it and 
make it available if only as a small-scale testbed utility (or, for 
that matter, something that may still be quite useful in other, smaller 
production contexts).

Re: Python C++ wrapping, see <http://cxx.sourceforge.net>, 
<http://starship.python.net/crew/gmcm/scxx.html>, and 
<http://www.boost.org/libs/python/doc/index.html>. Given what I know of 
your design preferences, let me suggest you examine SCXX first. At the 
other end of the spectrum, perhaps not surprisingly, Boost Python seems 
the most featureful.

> Oh, I'm sure they'd still meet the requirements based on satisfying the
> API and desired semantics.  They might not have the same performance
> or same something else as alternatives.
>
Having spent a lot of time pushing e4Graph, let me add that I wholly 
agree with David: without knowing more about requirements other than 
API and semantics, I'm quite sure that a decent RDF API around ZODB 
would be fine. And actually, I remain quite curious about RDF querying, 
which remains undiscussed.

> --David McCusker
>
Best regards,
Paul




More information about the Dev mailing list