[Date Prev] [Date Next] [Thread Prev] [Thread Next] Indexes: Main | Date | Thread | Author

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)