Re: Towards a Graph API was Re: [ba-ohs-talk] New backlink metadata; mhpurple v0.2 released
At 11:49 AM 3/5/2002 -0500, you wrote:
>At 09:30 PM 3/4/02 -0800, you wrote:
>>>Let's a design a distributed repository that all of these tools could
>>>easily plug into. This repository could store any data with a graph-like
>>>data model ...
>>
>>That's appealing but don't underestimate the amount of work that is. We
>>(R-Objects and its predecessors) started implementing a p2p distributed,
>>object-oriented (as in class-association-attribute), replicated,
>>schema-driven, repository almost four years ago, and now it is basically
>>there and working. But it took four years and several million in funding
>>went into it. And we had related experience before.
>
>Eugene, I strongly support the idea of the creation of a distributed
>repository as you specify. In fact, I have purposely avoided implementing
>any of this functionality for TouchGraph, because I assumed that it would
>be best done as a separate project.
>
>However, I also fear that an all inclusive effort would take lots of
>resources, or do you have ideas for a quick solution?
>
>--Alex (01)
Consider chunking the project.
As Kal Ahmed pointed out, the project has layers:
various database engines
Graph API
Wrapper APIs (02)
Of course, the Wrapper APIs, in some sense, drive the design of the Graph
API, but it is possible that such drive might only be viewed in an
evolutionary sense; as wrappers are developed, some pressure will come into
play for revisions to the graph api. (03)
So, it seems to me that starting with the graph api as an
"interface-driven" development project would make sense to get started on
right away. By "interface-driven" I am saying that there are two
interfaces involved: GraphAPI, and DataStore. (04)
GraphAPI provides the api that wrappers will call, and is implemented in
GraphApiImplementation (or names to that effect). DataStore is an api of
database calls that get implemented differently for various kinds of
persistence engines. (05)
Lot of resources? Yes. Parallel processing? Yes, after some discussions
(IBIS-style?) about the two apis. (06)
My 0.03 EUROs for today.
Jack (07)